{ "info": { "author": "Peter Zagubisalo", "author_email": "peter.zagubisalo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "# Pandoctools\n\nPandoctools is a combination of tools that help write reproducible markdown reports. They rely on Pandoc and Jupyter kernels.\n\n**Introduction articles**:\n\n* [**Best Python/Jupyter/PyCharm experience + report generation with Pandoc filters**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/best_python_jupyter_pycharm_experience.md).\n* [**Convenient and easily tweakable Atom+Markdown+Pandoc+Jupyter experience (can export to ipynb)**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom_jupyter_pandoc_markdown.md). \n\n\n\u201cGlueing\u201d part of pandoctools is a profile manager of text processing pipelines. It stores short crossplatform bash scripts that define chain operations over text. They are mostly Pandoc filters but any CLI text filter is OK.\n\n\n## Update instructions\n\n(*Update instructions to v.2.6*)\n\n* **v2.6** is not backward compatible but profiles can be easily fixed. Uninstall Pandoctools before updating. Update your custom bash scripts as names and logic changed. References: [**Default_args**](https://github.com/kiwi0fruit/pandoctools/blob/master/pandoctools/sh/Default_args), [**Default**](https://github.com/kiwi0fruit/pandoctools/blob/master/pandoctools/sh/Default) (profile), [**Default_pipe**](https://github.com/kiwi0fruit/pandoctools/blob/master/pandoctools/sh/Default_pipe).\n\n\n# Contents\n\n* [Pandoctools](#pandoctools)\n * [Update instructions](#update-instructions)\n* [Contents](#contents)\n* [Notable parts of Pandoctools](#notable-parts-of-pandoctools)\n* [Examples](#examples)\n* [Install](#install)\n* [Useful tips (reload imported modules in Hydrogen, Python kernel, R kernel, Typescript kernel)](#useful-tips-reload-imported-modules-in-hydrogen-python-kernel-r-kernel-typescript-kernel)\n* [Alternatives to R Markdown (Markdown-based Literate Programming)](#alternatives-to-r-markdown-markdown-based-literate-programming)\n\n\n# Notable parts of Pandoctools\n\n* [**Pandoc**](https://pandoc.org/), [**Jupyter**](http://jupyter.org/), [**pandoc-crossref**](https://github.com/lierdakil/pandoc-crossref) (dependence) - classical tools.\n* [**Pandoctools CLI app**](https://github.com/kiwi0fruit/pandoctools/tree/master/pandoctools/cli): profile manager of text processing pipelines. It stores short bash scripts - called profiles - that define chain operations over text. They are mostly Pandoc filters but any CLI text filter is OK. Profiles can be used to convert any document of choise in the specified manner.\n* [**Knitty**](https://github.com/kiwi0fruit/knitty) (dependence): Knitty is a Pandoc filter and another CLI for Stitch/Knotr: reproducible report generation tool via Jupyter, Pandoc and Markdown. Insert python code (or other Jupyter kernel code) to the Markdown document and have code's results in the output document. Can even export to .html, .pdf, [Jupyter .ipynb notebooks](https://pandoc.org/MANUAL.html#creating-jupyter-notebooks-with-pandoc) and any other [Pandoc output formats](https://pandoc.org/MANUAL.html#general-options). You can use [ipynb-py-convert](https://github.com/kiwi0fruit/ipynb-py-convert) to convert .ipynb to .py to use with Knitty.\n* [**SugarTeX**](https://github.com/kiwi0fruit/sugartex) (dependence): SugarTeX is a more readable LaTeX language extension and transcompiler to LaTeX.\n* [**Pyppdf**](https://github.com/kiwi0fruit/pyppdf) (dependence): Pyppeteer PDF. Prints html output to pdf via patched Pyppeteer.\n* [**Prism.js**](https://github.com/PrismJS/prism) and [**github-markdown-css**](https://github.com/sindresorhus/github-markdown-css) (integrated): used for default to PDF conversion (but with borrowing from [Default_args](https://github.com/kiwi0fruit/pandoctools/blob/master/pandoctools/sh/Default_args) to custom profile you can use them with to HTML conversion too).\n* [**libsass-python**](https://github.com/sass/libsass-python): tweak and write css with more convenient sass or scss (see [Default.sass](https://github.com/kiwi0fruit/pandoctools/blob/master/pandoctools/sh/Default.sass)). \n* (*optional*) [**Tabulate Helper**](https://github.com/kiwi0fruit/tabulatehelper) converts tabular data like Pandas dataframe to GitHub Flavored Markdown pipe table.\n* (*optional*) [**Matplotlib Helper**](https://github.com/kiwi0fruit/matplotlibhelper): custom helper to tune Matplotlib experience in Atom/Hydrogen and Pandoctools/Knitty.\n* (*optional*) [**Feather Helper**](https://github.com/kiwi0fruit/featherhelper): concise interface to cache numpy arrays and pandas dataframes.\n* (*optional*) [**pypugjs**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/pug.md): Write HTML via Pug that is much more readable.\n\nPandoctools is a tool for converting markdown document. But we also need tools for writing markdown and deploying python/Jupyter code blocks. \nAnd the best one for it is:\n\n* [**Atom editor with plugins**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom.md). It helps easily type Unicode, interactively run highlighed python/Jupyter code blocks and instantly see results (+ completions from the running Jupyter kernel), can convert basic pandoc markdown to html with live preview.\n* Must have plugins: [**SugarTeX Completions**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom.md#sugartex-completions), [**Unix Filter**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom.md#unix-filter), [**Hydrogen**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom.md#hydrogen), [**Markdown Preview Plus**](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/atom.md#markdown-preview-plus)\n\n\n# Examples\n\nHere are [**examples**](https://github.com/kiwi0fruit/pandoctools/blob/master/examples) that demonstrate converting documents:\n\n* from markdown `.md` with Jupyter python code blocks, SugarTeX math and cross-references to `.ipynb` notebook and to PDF.\n* from Hydrogen/python notebook `.py` with Atom/Hydrogen code cells, Knitty markdown incerts (again with SugarTeX math and cross-references) to `.ipynb` notebook and to PDF.\n\n**Examples are given for [to .ipynb](https://pandoc.org/MANUAL.html#creating-jupyter-notebooks-with-pandoc) and to .pdf conversion but Pandoctools surely capable of conversion to .html, .md.md or any [Pandoc output format](https://pandoc.org/MANUAL.html#general-options).**\n\nExtras:\n\n* If you need to capture Matplotlib plots please see [matplotlibhelper](https://github.com/kiwi0fruit/matplotlibhelper) (the approach showed in examples there can be used with other plot libraries).\n* If you need to autonumber sections see [pandoc-crossref](https://github.com/lierdakil/pandoc-crossref) or [this SE question](https://stackoverflow.com/questions/48434961/how-to-customise-section-headings-to-start-with-letters-in-r-markdown)\n* If you need criticmarkup support please consider using git repository with [git-time-machine](https://atom.io/packages/git-time-machine) for tracking changes, `` for adding notes, [pigments](https://atom.io/packages/pigments) for highlighting text.\n\n\n# Install\n\n**If you have an antivirus then the first or two runs may fail - there may be errors like \"Permission denied\" because of the antivirus checking all the components.**\n\n\n### Short instructions:\n\n* **Either** (1.1) install 64-bit [Miniconda3](https://conda.io/miniconda.html) and: \n (*on Unix:*)\n ```bash\n conda install -c defaults -c conda-forge pandoctools\n ```\n (*on Windows:*)\n ```batch\n conda install -c defaults -c conda-forge pandoctools git-bash\n ```\n (or install 64-bit [Git Bash](https://git-scm.com/downloads) instead of the conda package)\n* **Or** (1.2) install 64-bit Python and:\n ```bash\n pip install pandoctools\n ```\n (if on Windows install 64-bit [Git Bash](https://git-scm.com/downloads))\n* **Then** (2):\n ```bash\n pandoctools-ready\n ```\n* But it's recommended to create a dedicated environment for the Pandoctools. See below.\n\n\n### Via conda\n\n* Create \"pandoctools\" conda environment (do not set custom prefix unless you want to set `root_env` in the [config](https://github.com/kiwi0fruit/pandoctools/tree/master/pandoctools/cli#defaultsini)): \n (*on Unix*):\n ```bash\n cd $root_miniconda_prefix\n source ./bin/activate base\n conda config --add channels conda-forge\n conda config --add channels defaults\n conda update conda\n\n conda create -n pandoctools pandoctools\n source activate pandoctools\n pandoctools-ready\n ```\n (*on Windows*):\n ```bat\n cd /d %root_miniconda_prefix%\n call .\\Scripts\\activate base\n conda config --add channels conda-forge\n conda config --add channels defaults\n conda update conda\n\n conda create -n pandoctools pandoctools git-bash\n call activate pandoctools\n pandoctools-ready\n ```\n (or install 64-bit [Git Bash](https://git-scm.com/downloads) instead of the conda package; local Bash in the environment has priority)\n* Just in case: the right way to remove conda environment 'myenv' is to run:\n ```bash\n conda remove -n myenv --all\n conda env remove -n myenv\n ```\n (in this particular order)\n\n\n### Via pip\n\n* Create pandoctools venv environment: \n (*on Unix*):\n ```bash\n cd $root_python_prefix\n ./bin/python -m venv ./envs/pandoctools\n source ./envs/pandoctools/bin/activate\n\n pip install pandoctools\n pandoctools-ready\n ```\n (*on Windows*):\n ```bat\n cd /d %root_python_prefix%\n .\\python -m venv .\\envs\\pandoctools\n call .\\envs\\pandoctools\\Scripts\\activate\n\n pip install pandoctools\n pandoctools-ready\n ```\n (then install 64-bit [Git Bash](https://git-scm.com/downloads))\n* In contrast with conda installation Jupyter notebooks in pip do not support [activated python kernels](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/tips.md#install-python-kernel) (there is a strange bug).\n\n\n# Useful tips (reload imported modules in Hydrogen, Python kernel, R kernel, Typescript kernel)\n\n[Useful tips](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/tips.md)\n\n\n# Alternatives to R Markdown (Markdown-based Literate Programming)\n\n[Alternatives to R Markdown](https://github.com/kiwi0fruit/pandoctools/blob/master/docs/alternatives_to_r_markdown.md)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kiwi0fruit/pandoctools", "keywords": "", "license": "GPLv2+", "maintainer": "", "maintainer_email": "", "name": "pandoctools", "package_url": "https://pypi.org/project/pandoctools/", "platform": "", "project_url": "https://pypi.org/project/pandoctools/", "project_urls": { "Homepage": "https://github.com/kiwi0fruit/pandoctools" }, "release_url": "https://pypi.org/project/pandoctools/2.6.0.6/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Profile manager of text processing pipelines: Pandoc filters, any text CLI filters. Atom+Markdown+Pandoc+Jupyter workflow, export to ipynb.", "version": "2.6.0.6" }, "last_serial": 4885247, "releases": { "1.4.4": [ { "comment_text": "", "digests": { "md5": "2abbf0a3fe03744a1046afba55ad10df", "sha256": "2ee509310b667db98111a97af99b4ff88fe36aed91511620bc46be0827f2f704" }, "downloads": -1, "filename": "pandoctools-1.4.4.tar.gz", "has_sig": false, "md5_digest": "2abbf0a3fe03744a1046afba55ad10df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 61319, "upload_time": "2019-01-27T06:36:25", "url": "https://files.pythonhosted.org/packages/3c/20/23973cc39ec1621a32c12c4a0b0946c39adaaeed3d328e2e84e9df385518/pandoctools-1.4.4.tar.gz" } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "478bfc8f94cf76c1da3396cf763f2afa", "sha256": "e90cbda2d42d89781a0ce4b9fcd074fd964e74524a3c200597939af6840a7f20" }, "downloads": -1, "filename": "pandoctools-1.4.5.tar.gz", "has_sig": false, "md5_digest": "478bfc8f94cf76c1da3396cf763f2afa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 58924, "upload_time": "2019-01-28T09:47:19", "url": "https://files.pythonhosted.org/packages/ef/c9/7e5a455889d5fd582fbb3dba18a71baa186219df1061bb8e472570971e34/pandoctools-1.4.5.tar.gz" } ], "1.4.7": [ { "comment_text": "", "digests": { "md5": "ef5f5d5ebc174810e3298422306dd63c", "sha256": "fa9995cc27d4a45a76b9886b5f460df4f659822c7f1d3c47cd60549ebb208092" }, "downloads": -1, "filename": "pandoctools-1.4.7.tar.gz", "has_sig": false, "md5_digest": "ef5f5d5ebc174810e3298422306dd63c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 193752, "upload_time": "2019-02-02T19:15:59", "url": "https://files.pythonhosted.org/packages/a1/40/be0c29fe71bd7b2955e544aa3528e8cd60552e5a7c47c9d6badf13a8dcf5/pandoctools-1.4.7.tar.gz" } ], "1.4.8": [ { "comment_text": "", "digests": { "md5": "b7ddd5474016f69e0da22ab2424e39c5", "sha256": "86dc08c59804d94407d41f9d9033763507cbf5a238249cb1b9f6059e3a3219a1" }, "downloads": -1, "filename": "pandoctools-1.4.8.tar.gz", "has_sig": false, "md5_digest": "b7ddd5474016f69e0da22ab2424e39c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 193753, "upload_time": "2019-02-03T14:59:54", "url": "https://files.pythonhosted.org/packages/3e/df/61851a7bb9c82b4c97b1e84f9b39a79fa8249f6a405c0325b5b2a9ba27dd/pandoctools-1.4.8.tar.gz" } ], "2.6.0.3": [ { "comment_text": "", "digests": { "md5": "10f2033883778167e780b9cbfd2de546", "sha256": "679b494a751efb511c35cc138942810156890eaf17f5f4b0699077f3e1132756" }, "downloads": -1, "filename": "pandoctools-2.6.0.3.tar.gz", "has_sig": false, "md5_digest": "10f2033883778167e780b9cbfd2de546", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 192603, "upload_time": "2019-02-21T17:43:26", "url": "https://files.pythonhosted.org/packages/78/f6/ea25f279e39d1d26c8a72011397ab12949ab7bc0a87826a8c076f6fbaed2/pandoctools-2.6.0.3.tar.gz" } ], "2.6.0.4": [ { "comment_text": "", "digests": { "md5": "28830c349f578cd01ef1536d9382496e", "sha256": "537cc160d57b95f24c2e1f8254f9e7eb61a10783d2b778d03ac5db3c212c001a" }, "downloads": -1, "filename": "pandoctools-2.6.0.4.tar.gz", "has_sig": false, "md5_digest": "28830c349f578cd01ef1536d9382496e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 192794, "upload_time": "2019-02-21T20:52:30", "url": "https://files.pythonhosted.org/packages/1f/6d/ec01b1cf964dd51a47917d10676c2d4449fe9b1ef15c0793b66ff7bfaa9b/pandoctools-2.6.0.4.tar.gz" } ], "2.6.0.5": [ { "comment_text": "", "digests": { "md5": "cc219a4ffa0bb9bd7cac447aae62ac86", "sha256": "3b04c104442a14456aa48767467c59c0eb3078cb37e89d0b4c862d5d6c484c4c" }, "downloads": -1, "filename": "pandoctools-2.6.0.5.tar.gz", "has_sig": false, "md5_digest": "cc219a4ffa0bb9bd7cac447aae62ac86", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 193346, "upload_time": "2019-02-22T09:33:23", "url": "https://files.pythonhosted.org/packages/da/57/98ebbe875e06e6453c66531610b42de0c719a47fe7ac9bf63d8b59f769a0/pandoctools-2.6.0.5.tar.gz" } ], "2.6.0.6": [ { "comment_text": "", "digests": { "md5": "93b83ca9ffb98f9156794a18f7a83f48", "sha256": "b408a28ac3b55daf1f26ca7a080aad4f822559881a965fdcfdc9650321ea3f0a" }, "downloads": -1, "filename": "pandoctools-2.6.0.6.tar.gz", "has_sig": false, "md5_digest": "93b83ca9ffb98f9156794a18f7a83f48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 193633, "upload_time": "2019-03-01T15:19:29", "url": "https://files.pythonhosted.org/packages/a9/9a/1aef80b4b66a5b19f39380d2973bc7f338a21d6e6cfa0b0a06150fe67909/pandoctools-2.6.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "93b83ca9ffb98f9156794a18f7a83f48", "sha256": "b408a28ac3b55daf1f26ca7a080aad4f822559881a965fdcfdc9650321ea3f0a" }, "downloads": -1, "filename": "pandoctools-2.6.0.6.tar.gz", "has_sig": false, "md5_digest": "93b83ca9ffb98f9156794a18f7a83f48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 193633, "upload_time": "2019-03-01T15:19:29", "url": "https://files.pythonhosted.org/packages/a9/9a/1aef80b4b66a5b19f39380d2973bc7f338a21d6e6cfa0b0a06150fe67909/pandoctools-2.6.0.6.tar.gz" } ] }