{
"info": {
"author": "Tom Augspurger",
"author_email": "tom.augspurger88@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Software Development :: Build Tools"
],
"description": "Stitch\n======\n\n|Build Status|\n\nA `knitr `__- `RMarkdown `__-like library, in Python.\n\n*Note:* You might want to consider Jan Schulz's `knitpy `__\ninstead. It's probably more mature at this point. However, I wanted\nto see if there was a simpler way of doing things.\n\nThe high-level goal of this type of library (knitr/RMarkdown, knitpy, and stitch) is to make writing\nreproducible reports easier.\n\nDocumentation is available `here `__.\n\nExamples\n========\n\nSee the project's `examples page `__ for a\nside-by-side comparison of input markdown and stitched HTML.\n\nMore complex examples are linked to from there as well.\n\nInstall\n=======\n\n``stitch`` supports Python 3.5 and above.\nAt the moment ``stitch`` can be installed from pip via\n\n.. code-block:: sh\n\n pip install knotr\n\nI know, it's confusing.\nI've filed a claim for ``stitch`` on PyPI, but I think the people working that support queue are over-worked.\nOnce that gets processed, I'll put it up on conda-forge as well.\nIf you need a mnemonic, it's \"I want knitr, but `not` the one written in `R`.\"\nAlso I wanted to confuse R users.\nAnd knots are kind of like a buggy version of knits.\n\n``stitch`` requires pandoc>=1.18. This can be installed using your\nsystem package manager, or `pypandoc `__.\n\nDesign\n======\n\nThe goal was to keep ``stitch`` itself extremely simple by reusing\nexisting libraries. A high level overview of our tasks is\n\n1. Command-line Interface\n2. Parse markdown file\n3. Execute code chunks, capturing the output\n4. Collate execution output into the document\n5. Render to final output\n\nFortunately the building blocks are all there.\n\nWe reuse\n\n- `pandoc `__ via\n `pypandoc `__ for parsing\n markdown and rendering the final output\n- `jupyter `__ for\n language kernels, executing code, and collecting the output\n- Use `pandocfilters `__ to\n collate the execution output into the document\n\nSo all ``stitch`` has to do is to provide a command-line interface, scan\nthe document for code chunks, manage some kernels, hand the code to the\nkernels, pass the output to an appropriate ``pandocfilter``.\n\nThe biggest departure from ``knitpy`` is the use of pandoc's JSON AST.\nThis is what you get from ``pandoc -t json input.md``\n\nThis saves us from having do any kind of custom parsing of the markdown.\nThe only drawback so far is somewhat inscrutable Haskell exceptions if\n``stitch`` happens to produce a bad document.\n\nDocumentation\n=============\n\nStitch's documentation has an odd build process, so standard tools like\nreadthedocs weren't flexible enough.\nTo make the docs, install stitch and all the extra dependencies.\nClone https://github.com/pystitch/pystitch.github.io\n\nCheckout the `src` branch.\n\nRun `make html`.\n\n.. |Build Status| image:: https://travis-ci.org/pystitch/stitch.svg?branch=master\n :target: https://travis-ci.org/pystitch/stitch",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/tomaugspurger/stitch",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "knotr",
"package_url": "https://pypi.org/project/knotr/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/knotr/",
"project_urls": {
"Homepage": "https://github.com/tomaugspurger/stitch"
},
"release_url": "https://pypi.org/project/knotr/0.4.1/",
"requires_dist": [
"click",
"ipython",
"jupyter-client",
"jupyter-core",
"nbconvert",
"pandocfilters",
"pypandoc",
"traitlets",
"matplotlib; extra == 'dev'",
"pandas; extra == 'dev'",
"pytest; extra == 'dev'",
"pytest-cov; extra == 'dev'",
"sphinx; extra == 'dev'"
],
"requires_python": "",
"summary": "Reproducible report generation tool.",
"version": "0.4.1"
},
"last_serial": 2432065,
"releases": {
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "a410e08a0ec0dfb7477dd4f2535584c7",
"sha256": "8760b90abcf7746d436372be3e542a87020b7d9d838b58d318821be29a04b130"
},
"downloads": -1,
"filename": "knotr-0.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "a410e08a0ec0dfb7477dd4f2535584c7",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10343,
"upload_time": "2016-08-29T20:48:53",
"url": "https://files.pythonhosted.org/packages/3b/4b/fc0b0e5fd26941c670c882220ef4d33d7a073ba484ea885962e337433fa4/knotr-0.3.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3dc456d17849492047202d7dcdc8ea1f",
"sha256": "adeedaa4c8f4f678e0411be68985a8bef7de77d3659bff3685c6dfdc443076b6"
},
"downloads": -1,
"filename": "knotr-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "3dc456d17849492047202d7dcdc8ea1f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23580,
"upload_time": "2016-08-29T20:48:55",
"url": "https://files.pythonhosted.org/packages/0b/1d/10b99f3be1463b1c6fec9d86f4493237b3e050dbbbed7f7231eec4c89137/knotr-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "7615bef103bb32b90d69a3040c1c777d",
"sha256": "5c143653f26c6e60a7f04bdf2dea9dfd2905631567edef8c9f5b909a21e9deac"
},
"downloads": -1,
"filename": "knotr-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7615bef103bb32b90d69a3040c1c777d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 10341,
"upload_time": "2016-08-29T20:51:34",
"url": "https://files.pythonhosted.org/packages/f5/df/abfe2e1942242f8d91a5431be548bc5599d6d396a42df6348c480dbec7c1/knotr-0.3.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b2a8f42e8cf135750a4797320ed93913",
"sha256": "69aad3470886aa346a2a735c37429894fc97363698b9029a6f562430e7811a24"
},
"downloads": -1,
"filename": "knotr-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "b2a8f42e8cf135750a4797320ed93913",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23564,
"upload_time": "2016-08-29T20:51:36",
"url": "https://files.pythonhosted.org/packages/4d/96/b73a891f628d17caf21f3169721ad85ec6ec29a05c4e74fc904706c1cd58/knotr-0.3.1.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "a40605c643aaa622f32c4bad6d7c0a5e",
"sha256": "ba8bee999deb063e566688c1dedcfd69d3871ed8b3024c7286e5d3bfea1bda83"
},
"downloads": -1,
"filename": "knotr-0.3.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a40605c643aaa622f32c4bad6d7c0a5e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13656,
"upload_time": "2016-08-31T18:54:33",
"url": "https://files.pythonhosted.org/packages/e0/00/8c69e9e933b9ac31c851ce9f10ab6444443189be30940e84c68002295dd4/knotr-0.3.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7aef9c9f17792549e1ed08c5f4ae6cb0",
"sha256": "2a0e4c402a1d66e1b44c62aab2c2f6b4ad189f7bab607c8743d3bf5f3b84b941"
},
"downloads": -1,
"filename": "knotr-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "7aef9c9f17792549e1ed08c5f4ae6cb0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25568,
"upload_time": "2016-08-31T18:54:35",
"url": "https://files.pythonhosted.org/packages/0b/51/fdd9c2d71b023fea4f4769267c42cdd662c0855d976091fdd83fb2be13cd/knotr-0.3.2.tar.gz"
}
],
"0.3.3": [
{
"comment_text": "",
"digests": {
"md5": "78c5ccdecd79cdaa0b374b6f5505f0fc",
"sha256": "0ee9fc8a88cf8ebc3ac4ea703986cbf2a7bbfe57c8588699605dd2e4cbb16415"
},
"downloads": -1,
"filename": "knotr-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "78c5ccdecd79cdaa0b374b6f5505f0fc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 19618,
"upload_time": "2016-09-02T12:59:38",
"url": "https://files.pythonhosted.org/packages/cb/1f/cab47c8e87ae86cb5bf4f8640dac9c0a79093734e8856ee7a42b20472558/knotr-0.3.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "86c5be6de243d649f2932318f9926b41",
"sha256": "5e6bf1a9e19aaa097d38e291e5330d5c4dcb5e9a459e51de3b7aa9901aca6b89"
},
"downloads": -1,
"filename": "knotr-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "86c5be6de243d649f2932318f9926b41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25590,
"upload_time": "2016-09-02T12:59:40",
"url": "https://files.pythonhosted.org/packages/e7/8f/834c8088ee36b6261658141234cbbe162dc08839f779dbc8c70fa3ab459b/knotr-0.3.3.tar.gz"
}
],
"0.3.4": [
{
"comment_text": "",
"digests": {
"md5": "8f499143c1b722700118484f0aa1f234",
"sha256": "0c70bd036f8cf35113a3ff6430a4d97890bd2b86dd828acf7d53012de218ded3"
},
"downloads": -1,
"filename": "knotr-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f499143c1b722700118484f0aa1f234",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22093,
"upload_time": "2016-09-16T12:29:10",
"url": "https://files.pythonhosted.org/packages/c2/c4/fa37f10cb462d2524bc1646f0d02ce695d781eeed5f37ac399f7a583b26e/knotr-0.3.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "eea5f483a736a127e068b68d2b17a51d",
"sha256": "977763366adbb933a2c258b3f524a8a9ccc31949ecb12a52e712bbc8db5701cf"
},
"downloads": -1,
"filename": "knotr-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "eea5f483a736a127e068b68d2b17a51d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33622,
"upload_time": "2016-09-16T12:29:13",
"url": "https://files.pythonhosted.org/packages/de/d6/ad8f4f3c6d7b3c8e6c02c82bdb61ea193e76433ad535f4eedbda0bbe2116/knotr-0.3.4.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "cca5b2954e8f82c33e76d3ba084b3063",
"sha256": "6b4ca9dd72e96e0cdc6511a73d6301bc734f746722044a721ca36cc8aa080913"
},
"downloads": -1,
"filename": "knotr-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cca5b2954e8f82c33e76d3ba084b3063",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22318,
"upload_time": "2016-10-30T22:43:32",
"url": "https://files.pythonhosted.org/packages/78/6b/1af9b92787e9520aa6624ad1aa7f208803e609af5ae7bc17db86b406c953/knotr-0.4.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "46cfb1b62bc7c7e02e6b27ded26dd055",
"sha256": "5647ef7f37a467284c4538e8c17f2ebba698258fbf45c5a68a38d0f9062de000"
},
"downloads": -1,
"filename": "knotr-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "46cfb1b62bc7c7e02e6b27ded26dd055",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33825,
"upload_time": "2016-10-30T22:43:34",
"url": "https://files.pythonhosted.org/packages/59/f4/bfdea99dfe607e11113ff8fa3bd81ff20a2e4b236366f985f119746db504/knotr-0.4.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "cca5b2954e8f82c33e76d3ba084b3063",
"sha256": "6b4ca9dd72e96e0cdc6511a73d6301bc734f746722044a721ca36cc8aa080913"
},
"downloads": -1,
"filename": "knotr-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cca5b2954e8f82c33e76d3ba084b3063",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 22318,
"upload_time": "2016-10-30T22:43:32",
"url": "https://files.pythonhosted.org/packages/78/6b/1af9b92787e9520aa6624ad1aa7f208803e609af5ae7bc17db86b406c953/knotr-0.4.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "46cfb1b62bc7c7e02e6b27ded26dd055",
"sha256": "5647ef7f37a467284c4538e8c17f2ebba698258fbf45c5a68a38d0f9062de000"
},
"downloads": -1,
"filename": "knotr-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "46cfb1b62bc7c7e02e6b27ded26dd055",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33825,
"upload_time": "2016-10-30T22:43:34",
"url": "https://files.pythonhosted.org/packages/59/f4/bfdea99dfe607e11113ff8fa3bd81ff20a2e4b236366f985f119746db504/knotr-0.4.1.tar.gz"
}
]
}