Metadata-Version: 2.1
Name: ipython2cwl
Version: 0.0.4
Summary: Convert IPython Jupyter Notebooks to CWL tool
Home-page: https://ipython2cwl.readthedocs.io/
Author: Yannis Doukas
Author-email: giannisdoukas2311@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: IPython
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: nbformat (>=5.0.6)
Requires-Dist: astor (>=0.8.1)
Requires-Dist: PyYAML (>=5.3.1)
Requires-Dist: gitpython (>=3.1.3)
Requires-Dist: jupyter-repo2docker (>=0.11.0)
Requires-Dist: nbconvert (==5.6.1)
Requires-Dist: ipython (>=7.15.0)

# IPython2CWL

[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ed284fda44ca4398a6f26d496662eae2)](https://app.codacy.com/manual/giannisdoukas/ipython2cwl?utm_source=github.com&utm_medium=referral&utm_content=giannisdoukas/ipython2cwl&utm_campaign=Badge_Grade_Dashboard)
[![Build Status](https://travis-ci.com/giannisdoukas/ipython2cwl.svg?branch=master)](https://travis-ci.com/giannisdoukas/ipython2cwl)
[![Coverage Status](https://coveralls.io/repos/github/giannisdoukas/ipython2cwl/badge.svg?branch=master)](https://coveralls.io/github/giannisdoukas/ipython2cwl?branch=master)
[![Documentation Status](https://readthedocs.org/projects/ipython2cwl/badge/?version=latest)](https://ipython2cwl.readthedocs.io/en/latest/?badge=latest)
[![Downloads](https://pepy.tech/badge/ipython2cwl/month)](https://pepy.tech/project/ipython2cwl/month)

IPython2CWL is a tool for converting [IPython](https://ipython.org/) Jupyter Notebooks to
[CWL (Common Workflow Language)](https://www.commonwl.org/) Command Line Tools by simply providing typing annotation.


```python
from ipython2cwl.iotypes import CWLFilePathInput, CWLFilePathOutput
import csv
input_filename: 'CWLFilePathInput' = 'data.csv'
with open(input_filename) as f:
  csv_reader = csv.reader(f)
  data = [line for line in csv_reader]
number_of_lines = len(data)
result_file: 'CWLFilePathOutput' = 'number_of_lines.txt'
with open(result_file, 'w') as f:
  f.write(str(number_of_lines))
```

IPython2CWL is based on [repo2docker](https://github.com/jupyter/repo2docker), the same tool
used by [mybinder](https://mybinder.org/). Now, by writing Jupyter Notebook and publishing them, including repo2docker
configuration, the community can not only execute the notebooks remotely but also to use them as steps in scientific
workflows.


## Install

```
pip install ipython2cwl
```

### Example

```
jupyter repo2cwl https://github.com/giannisdoukas/cwl-annotated-jupyter-notebook.git -o .
```

### Docs

[https://ipython2cwl.readthedocs.io/](https://ipython2cwl.readthedocs.io/en/latest/)

### Demo

[https://github.com/giannisdoukas/ipython2cwl-demo](https://github.com/giannisdoukas/ipython2cwl-demo)

