Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A workflow for creating and editing publication ready scientific reports, from one or more Jupyter Notebooks

Project description

IPyPublish

A program for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks.

Documentation: ipypublish.readthedocs.io

Build Status Coverage Status PyPI DOI Anaconda-Server Badge

Attention: A major API improvement occurred in v0.7.0. This has not changed the general user interface, but anyone using custom converter plugins will be required to update them (see Plugin Conversion)

Conversion Process

For an example of the potential input/output, see: Example.ipynb, Example.pdf, Example.html and Example.slides.html.

Or, for a practical example of the ipypublish capability, see these documents on Atomic 3D Visualisation: Notebook, PDF, HTML or Reveal.JS slideshow.

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), 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 input

The default latex template outputs all markdown cells (unless tagged latex_ignore), and then only code and output cells with latex metadata tags. See Example.ipynb, Example.pdf, Example.html and Example.slides.html for examples of the potential input and output.

WorkFlow Example

See the project site for more info!

Acknowledgements

IPyPublish is built as an extension to nbconvert.

I also took strong influence from:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ipypublish, version 0.10.3
Filename, size File type Python version Upload date Hashes
Filename, size ipypublish-0.10.3-py2.py3-none-any.whl (284.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size ipypublish-0.10.3.tar.gz (204.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page