Metadata-Version: 2.1
Name: ipypublish
Version: 0.10.7
Summary: A workflow for creating and editing publication ready scientific reports, from one or more Jupyter Notebooks
Home-page: https://github.com/chrisjsewell/ipypublish
Author: Chris Sewell
Author-email: chrisj_sewell@hotmail.com
License: MIT
Keywords: python,jupyter-notebook,nbconvert,pandoc,latex,pdf
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Requires-Dist: bibtexparser
Requires-Dist: jinja2
Requires-Dist: jsonextended (>=0.7)
Requires-Dist: jsonschema
Requires-Dist: jupytext
Requires-Dist: nbconvert
Requires-Dist: nbformat
Requires-Dist: ordered-set
Requires-Dist: panflute
Requires-Dist: ruamel.yaml
Requires-Dist: six (>=1.11.0)
Requires-Dist: traitlets
Requires-Dist: tornado
Requires-Dist: docutils (<0.15) ; python_version < "3"
Requires-Dist: shutilwhich ; python_version < "3.3"
Requires-Dist: pathlib2 ; python_version < "3.4"
Requires-Dist: typing ; python_version < "3.5"
Requires-Dist: docutils ; python_version >= "3"
Provides-Extra: rtd
Requires-Dist: pytest (>=3.6) ; extra == 'rtd'
Requires-Dist: sympy (<1.3) ; extra == 'rtd'
Requires-Dist: matplotlib ; extra == 'rtd'
Requires-Dist: recommonmark (>=0.5) ; extra == 'rtd'
Requires-Dist: ipykernel ; extra == 'rtd'
Requires-Dist: pillow ; extra == 'rtd'
Requires-Dist: pandas ; extra == 'rtd'
Requires-Dist: numpy ; extra == 'rtd'
Requires-Dist: sphinx (>=1.6) ; extra == 'rtd'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'rtd'
Provides-Extra: science
Requires-Dist: sympy ; extra == 'science'
Requires-Dist: matplotlib ; extra == 'science'
Requires-Dist: numpy ; extra == 'science'
Requires-Dist: pandas ; extra == 'science'
Provides-Extra: sphinx
Requires-Dist: sphinx (>=1.6) ; extra == 'sphinx'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'sphinx'
Provides-Extra: tests
Requires-Dist: pytest-regressions ; extra == 'tests'
Requires-Dist: pytest-cov ; extra == 'tests'
Requires-Dist: coverage ; extra == 'tests'
Requires-Dist: flake8 (<3.8,>=3.7) ; extra == 'tests'
Requires-Dist: pytest (>=3.6) ; extra == 'tests'
Requires-Dist: texsoup (<=0.1.4) ; extra == 'tests'
Requires-Dist: doc8 ; extra == 'tests'
Requires-Dist: sphinx (>=1.6) ; extra == 'tests'
Requires-Dist: pillow ; extra == 'tests'
Requires-Dist: nbsphinx ; extra == 'tests'
Requires-Dist: ipykernel ; extra == 'tests'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'tests'

# 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)

[![Build Status](https://travis-ci.org/chrisjsewell/ipypublish.svg?branch=master)](https://travis-ci.org/chrisjsewell/ipypublish)
[![Coverage Status](https://coveralls.io/repos/github/chrisjsewell/ipypublish/badge.svg?branch=master)](https://coveralls.io/github/chrisjsewell/ipypublish?branch=master)
[![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)
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/ipypublish/badges/version.svg)](https://anaconda.org/conda-forge/ipypublish)
<!-- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/243d0038a2f543e7a9c47a781ca3cbf5)](https://www.codacy.com/app/chrisj_sewell/ipypublish?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=chrisjsewell/ipypublish&amp;utm_campaign=Badge_Grade) -->

>**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](https://ipypublish.readthedocs.io/en/latest/custom_export_config.html#conversion-of-plugins-from-old-api))

![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 input

The 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)


