IPython2CWL: Convert Jupyter Notebook to CWL
================================================================================
.. image:: https://travis-ci.com/giannisdoukas/ipython2cwl.svg?branch=master
:target: https://travis-ci.com/giannisdoukas/ipython2cwl
.. image:: https://coveralls.io/repos/github/giannisdoukas/ipython2cwl/badge.svg?branch=master
:target: https://coveralls.io/github/giannisdoukas/ipython2cwl?branch=master
.. image:: https://pepy.tech/badge/ipython2cwl/month
:target: https://github.com/giannisdoukas/ipython2cwl
------------------------------------------------------------------------------------------
IPython2CWL is a tool for converting `IPython `_ Jupyter Notebooks to
`CWL `_ Command Line Tools by simply providing typing annotation.
.. code-block:: 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 `_, the same tool
used by `mybinder `_. Now, by writing Jupyter Notebook and publish them, including repo2docker
configuration, the community can not only execute the notebooks remotely but also to use them as steps in scientific
workflows.
* Install ipython2cwl: :code:`pip install python2cwl`
* Ensure that you have docker running
* Create a directory to store the generated cwl files, for example cwlbuild
* Execute :code:`jupyter repo2cwl https://github.com/giannisdoukas/cwl-annotated-jupyter-notebook.git -o cwlbuild`
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`