{"id":13425264,"url":"https://github.com/chrisjsewell/ipypublish","last_synced_at":"2025-04-05T11:11:25.913Z","repository":{"id":43393817,"uuid":"96322423","full_name":"chrisjsewell/ipypublish","owner":"chrisjsewell","description":"A workflow for creating and editing publication ready scientific reports and presentations, from one or more Jupyter Notebooks, without leaving the browser!","archived":false,"fork":false,"pushed_at":"2022-01-24T20:48:27.000Z","size":50070,"stargazers_count":224,"open_issues_count":45,"forks_count":37,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2025-03-29T10:11:16.875Z","etag":null,"topics":["jupyter-notebook","latex","nbconvert","python","sphinx"],"latest_commit_sha":null,"homepage":"http://ipypublish.readthedocs.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisjsewell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-05T13:29:38.000Z","updated_at":"2025-01-28T14:24:21.000Z","dependencies_parsed_at":"2022-07-08T07:50:44.292Z","dependency_job_id":null,"html_url":"https://github.com/chrisjsewell/ipypublish","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fipypublish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fipypublish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fipypublish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisjsewell%2Fipypublish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisjsewell","download_url":"https://codeload.github.com/chrisjsewell/ipypublish/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","latex","nbconvert","python","sphinx"],"created_at":"2024-07-31T00:01:08.579Z","updated_at":"2025-04-05T11:11:25.893Z","avatar_url":"https://github.com/chrisjsewell.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# IPyPublish\n\nA program for creating and editing publication ready scientific reports and presentations,\nfrom one or more Jupyter Notebooks.\n\n**Documentation**: [ipypublish.readthedocs.io](http://ipypublish.readthedocs.io)\n\n[![CI Status](https://github.com/chrisjsewell/ipypublish/workflows/continuous-integration/badge.svg)](https://github.com/chrisjsewell/ipypublish/actions)\n[![Coverage Status](https://codecov.io/gh/chrisjsewell/ipypublish/branch/develop/graph/badge.svg)](https://codecov.io/gh/chrisjsewell/ipypublish)\n[![PyPI](https://img.shields.io/pypi/v/ipypublish.svg)](https://pypi.python.org/pypi/ipypublish/)\n[![DOI](https://zenodo.org/badge/96322423.svg)](https://zenodo.org/badge/latestdoi/96322423)\n[![Conda](https://anaconda.org/conda-forge/ipypublish/badges/version.svg)](https://anaconda.org/conda-forge/ipypublish)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\u003c!-- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/243d0038a2f543e7a9c47a781ca3cbf5)](https://www.codacy.com/app/chrisj_sewell/ipypublish?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=chrisjsewell/ipypublish\u0026amp;utm_campaign=Badge_Grade) --\u003e\n\n\u003e**Attention**:\nThis 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! 😀\n\n![Conversion Process](/docs/source/_static/main_image.png)\n\nFor an example of the potential input/output, see:\n[Example.ipynb](example/notebooks/Example.ipynb),\n[Example.pdf](https://chrisjsewell.github.io/ipypublish/Example.view_pdf.html),\n[Example.html](https://chrisjsewell.github.io/ipypublish/Example.html) and\n[Example.slides.html](https://chrisjsewell.github.io/ipypublish/Example.slides.html#/).\n\nOr, for a practical example of the ipypublish capability, see these documents on Atomic 3D Visualisation:\n[Notebook](https://github.com/chrisjsewell/chrisjsewell.github.io/blob/master/3d_atomic/3D%20Atomic%20Visualisation.ipynb),\n[PDF](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.view_pdf.html),\n[HTML](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.html) or\n[Reveal.JS slideshow](https://chrisjsewell.github.io/3d_atomic/converted/3D%20Atomic%20Visualisation.slides.html).\n\n## Design Philosophy\n\nIn 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:\n\n- Dynamically (and reproducibly) explore data, run code and output the results\n- Dynamically edit and visualise the basic components of the document (text, math, figures, tables, references, citations, etc).\n- Have precise control over what elements are output to the final document and how they are layed out and typeset.\n  - Also be able to output the same source document to different layouts and formats (pdf, html,presentation slides, etc).\n\n## Workflow\n\n1. Create a notebook with some content!\n2. optionally create a .bib file and external images\n3. Adjust the notebook and cell metadata.\n4. install ipypublish and run the `nbpublish` for either the specific notebook, or a folder containing multiple notebooks.\n5. A converted folder will be created, into which final `.tex` `.pdf` and `.html` files will be output, named by the notebook or folder input\n\nThe 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).\nSee [Example.ipynb](https://github.com/chrisjsewell/ipypublish/blob/master/example/notebooks/Example.ipynb), [Example.pdf](https://chrisjsewell.github.io/ipypublish/Example.view_pdf.html),\n[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.\n\n![WorkFlow Example](/example_workflow.gif)\n\n**See the project site for more info!**\n\n## Acknowledgements\n\nIPyPublish is built as an extension to [nbconvert](https://nbconvert.readthedocs.io).\n\nI also took strong influence from:\n\n- [Julius Schulz](http://blog.juliusschulz.de/blog/ultimate-ipython-notebook)\n- [Dan Mackinlay](https://livingthing.danmackinlay.name/jupyter.html)\n- Notebook concatination was adapted from [nbconvert issue#253](https://github.com/jupyter/nbconvert/issues/253)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisjsewell%2Fipypublish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisjsewell%2Fipypublish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisjsewell%2Fipypublish/lists"}