Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrisjsewell/ipypublish
A workflow for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks, without leaving the browser!
https://github.com/chrisjsewell/ipypublish
jupyter-notebook latex nbconvert python sphinx
Last synced: 13 days ago
JSON representation
A workflow for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks, without leaving the browser!
- Host: GitHub
- URL: https://github.com/chrisjsewell/ipypublish
- Owner: chrisjsewell
- License: bsd-3-clause
- Created: 2017-07-05T13:29:38.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2022-01-24T20:48:27.000Z (almost 3 years ago)
- Last Synced: 2024-09-16T00:49:37.856Z (about 2 months ago)
- Topics: jupyter-notebook, latex, nbconvert, python, sphinx
- Language: HTML
- Homepage: http://ipypublish.readthedocs.io
- Size: 47.8 MB
- Stars: 224
- Watchers: 15
- Forks: 37
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IPyPublish
A program for creating and editing publication ready scientific reports and presentations,
from one or more Jupyter Notebooks.**Documentation**: [ipypublish.readthedocs.io](http://ipypublish.readthedocs.io)
[![CI Status](https://github.com/chrisjsewell/ipypublish/workflows/continuous-integration/badge.svg)](https://github.com/chrisjsewell/ipypublish/actions)
[![Coverage Status](https://codecov.io/gh/chrisjsewell/ipypublish/branch/develop/graph/badge.svg)](https://codecov.io/gh/chrisjsewell/ipypublish)
[![PyPI](https://img.shields.io/pypi/v/ipypublish.svg)](https://pypi.python.org/pypi/ipypublish/)
[![DOI](https://zenodo.org/badge/96322423.svg)](https://zenodo.org/badge/latestdoi/96322423)
[![Conda](https://anaconda.org/conda-forge/ipypublish/badges/version.svg)](https://anaconda.org/conda-forge/ipypublish)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)>**Attention**:
This package is still maintained, but it is envisaged that it will eventually be superceeded by the [Executable Book Project toolchain](https://executablebooks.org/en/latest/tools.html). So definitely also check that out, and feedback any improvement suggestions! 😀![Conversion Process](/docs/source/_static/main_image.png)
For an example of the potential input/output, see:
[Example.ipynb](example/notebooks/Example.ipynb),
[Example.pdf](https://chrisjsewell.github.io/ipypublish/Example.view_pdf.html),
[Example.html](https://chrisjsewell.github.io/ipypublish/Example.html) and
[Example.slides.html](https://chrisjsewell.github.io/ipypublish/Example.slides.html#/).Or, for a practical example of the ipypublish capability, see these documents on Atomic 3D Visualisation:
[Notebook](https://github.com/chrisjsewell/chrisjsewell.github.io/blob/master/3d_atomic/3D%20Atomic%20Visualisation.ipynb),
[PDF](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.view_pdf.html),
[HTML](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.html) or
[Reveal.JS slideshow](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.slides.html).## Design Philosophy
In essence, the dream is to have the ultimate hybrid of Jupyter Notebook, WYSIWYG editor (e.g. MS Word) and document preparation system (e.g. [TexMaker](http://www.xm1math.net/texmaker/)), being able to:
- Dynamically (and reproducibly) explore data, run code and output the results
- Dynamically edit and visualise the basic components of the document (text, math, figures, tables, references, citations, etc).
- Have precise control over what elements are output to the final document and how they are layed out and typeset.
- Also be able to output the same source document to different layouts and formats (pdf, html,presentation slides, etc).## Workflow
1. Create a notebook with some content!
2. optionally create a .bib file and external images
3. Adjust the notebook and cell metadata.
4. install ipypublish and run the `nbpublish` for either the specific notebook, or a folder containing multiple notebooks.
5. A converted folder will be created, into which final `.tex` `.pdf` and `.html` files will be output, named by the notebook or folder inputThe default latex template outputs all markdown cells (unless tagged `latex_ignore`), and then only code and output cells with [latex metadata tags](#latex-metadata-tags).
See [Example.ipynb](https://github.com/chrisjsewell/ipypublish/blob/master/example/notebooks/Example.ipynb), [Example.pdf](https://chrisjsewell.github.io/ipypublish/Example.view_pdf.html),
[Example.html](https://chrisjsewell.github.io/ipypublish/Example.html) and [Example.slides.html](https://chrisjsewell.github.io/ipypublish/Example.slides.html#/) for examples of the potential input and output.![WorkFlow Example](/example_workflow.gif)
**See the project site for more info!**
## Acknowledgements
IPyPublish is built as an extension to [nbconvert](https://nbconvert.readthedocs.io).
I also took strong influence from:
- [Julius Schulz](http://blog.juliusschulz.de/blog/ultimate-ipython-notebook)
- [Dan Mackinlay](https://livingthing.danmackinlay.name/jupyter.html)
- Notebook concatination was adapted from [nbconvert issue#253](https://github.com/jupyter/nbconvert/issues/253)