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`