A reST to Jupyter notebook converter
Project description
# rst2ipynb
This project converts standalone [reStructuredText](http://docutils.sourceforge.net/rst.html) files to [Jupyter notebooks](http://jupyter.org/) file.
This is currently achieved by converting to markdown with [pandoc](http://pandoc.org) and then to a Jupyter notebook using [notedown](https://github.com/aaren/notedown/), plus some configuration and tweaks.
## Requirements
Python 3 (for proper UTF-8 support in notedown), pandoc, notedown
## Installation
Install [pandoc](http://pandoc.org) and then this module as usual:
git clone https://github.com/nthiery/rst-to-ipynb.git cd rst-to-ipynb pip3 install .
pip3 will install the other dependencies as needed.
Caveat: the notedown package on pipy (1.5.0, 2015-10-07) is somewhat outdated; for better conversion, , it’s recommended to install the latest version from the github repo.
## Usage
To convert a reST file xxx.rst to a Jupyter notebook xxx.ipynb, run:
rst2ipynb xxx.rst -o xxx.ipynb
## Example
[all.rst](tests/all.rst)
[all.ipynb](http://nbviewer.ipython.org/github/nthiery/rst-to-ipynb/blob/master/tests/all.ipynb)
## TODO:
[X] Handle Sage’s doctests
- [X] Fenced code blocks: fix incompatibility between pandoc output and notedown input.
Fixed in notedown; see: https://github.com/aaren/notedown/issues/29.
- [ ] Configurability of the default ReST role, in particular to handle maths in Sage’s ReST dialect.
Current status: hardcoded for Sage.
[ ] Configurability of custom ReST roles, in particular to handle Sage’s custom roles
- [ ] Proper argument parsing; escape characters, spaces, … are not
yet supported
- [ ] Handle input/output blocks within itemize and other indented constructions
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rst2ipynb-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a54a6fe14a601f78bdb733f3a6e993b88d32631fa08c4bd83716e789e4d9b5e6 |
|
MD5 | 146ca333c2a20e53425df1da3758811e |
|
BLAKE2b-256 | c48839d7becf5dc811ccba0b9464c1d864b3fd5e09b6db7c86ad85ea3c853170 |