{ "info": { "author": "Scott Stevenson", "author_email": "scott@stevenson.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# nb-clean\n\n`nb-clean` cleans Jupyter notebooks of cell execution counts, metadata, and\noutputs, preparing them for committing to version control. It provides a Git\nfilter to automatically clean notebooks before they are staged, and can also be\nused as a standalone tool outside Git or with other version control systems. It\ncan determine if a notebook is clean or not, which can be used as a check in\nyour continuous integration pipelines.\n\n## Installation\n\nTo install the latest release from [PyPI], use [pip]:\n\n```bash\npip install nb-clean\n```\n\nAlternately, in Python projects using [Poetry] or [Pipenv] for dependency\nmanagement, add `nb-clean` as a development dependency with\n`poetry add --dev nb-clean` or `pipenv install --dev nb-clean`. `nb-clean`\nrequires Python 3.6 or later.\n\n## Usage\n\n### Cleaning\n\nTo install a filter in an existing Git repository to automatically clean\nnotebooks before they are staged, run the following from the working tree:\n\n```bash\nnb-clean configure-git\n```\n\n`nb-clean` will configure a filter in the Git repository in which it is run, and\nwill not mutate your global or system Git configuration. To remove the filter,\nrun:\n\n```bash\nnb-clean unconfigure-git\n```\n\nAside from usage from a filter in a Git repository, you can also clean up a\nJupyter notebook manually with:\n\n```bash\nnb-clean clean -i original.ipynb -o cleaned.ipynb\n```\n\nor by passing the notebook contents on stdin:\n\n```bash\nnb-clean clean < original.ipynb > cleaned.ipynb\n```\n\n### Checking\n\nYou can check if a notebook is clean with:\n\n```bash\nnb-clean check -i notebook.ipynb\n```\n\nor by passing the notebook contents on stdin:\n\n```bash\nnb-clean check < notebook.ipynb\n```\n\n`nb-clean` will exit with status code 0 if the notebook is clean, and status\ncode 1 if it is not. `nb-clean` will also print details of cell execution\ncounts, metadata, and outputs it finds.\n\n## Copyright\n\nCopyright \u00a9 2017-2019 [Scott Stevenson].\n\n`nb-clean` is distributed under the terms of the [ISC licence].\n\n[isc licence]: https://opensource.org/licenses/ISC\n[pip]: https://pip.pypa.io/en/stable/\n[pipenv]: https://pipenv.readthedocs.io/en/latest/\n[poetry]: https://poetry.eustace.io/\n[pypi]: https://pypi.org/project/nb-clean/\n[scott stevenson]: https://scott.stevenson.io\n", "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/srstevenson/nb-clean", "keywords": "jupyter,notebook,clean,filter,git", "license": "ISC", "maintainer": "Scott Stevenson", "maintainer_email": "scott@stevenson.io", "name": "nb-clean", "package_url": "https://pypi.org/project/nb-clean/", "platform": "", "project_url": "https://pypi.org/project/nb-clean/", "project_urls": { "Homepage": "https://github.com/srstevenson/nb-clean", "Repository": "https://github.com/srstevenson/nb-clean" }, "release_url": "https://pypi.org/project/nb-clean/1.4.1/", "requires_dist": [ "nbformat (>=4.4,<5.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Clean Jupyter notebooks for versioning", "version": "1.4.1" }, "last_serial": 5245967, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "8b8636a4e603a2d8eed2c2c59433ce88", "sha256": "cd187d0fe5ecfc05a9e782c7f11a0e350a0c91c328e2930290f8a65098c5e490" }, "downloads": -1, "filename": "nb-clean-0.0.0.tar.gz", "has_sig": false, "md5_digest": "8b8636a4e603a2d8eed2c2c59433ce88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1217, "upload_time": "2017-10-16T11:36:30", "url": "https://files.pythonhosted.org/packages/af/a6/826410c8c414d2e70fd2eff10ab0997a727d8d20f261be6647952b952297/nb-clean-0.0.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9d05c86632450b9a33f35fe0cf8b5df2", "sha256": "8e6fe3e68d6e675766d941f6895f18e52fb4c12308c176bcff23331e8319d8a2" }, "downloads": -1, "filename": "nb_clean-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d05c86632450b9a33f35fe0cf8b5df2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4881, "upload_time": "2017-11-19T21:20:46", "url": "https://files.pythonhosted.org/packages/56/c5/caa5d0740163860727ef3fdfc7f8e665dce9b71c2c696ea4a0387f2b5b26/nb_clean-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce78ab9dd27de550d5e5426c4455a431", "sha256": "cf84fff65fbe0578549710ad637aa95f900c6976be84cb9894a440a1ab830191" }, "downloads": -1, "filename": "nb-clean-1.0.0.tar.gz", "has_sig": true, "md5_digest": "ce78ab9dd27de550d5e5426c4455a431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3169, "upload_time": "2017-11-19T21:20:47", "url": "https://files.pythonhosted.org/packages/ce/72/ea6ad879ff0bef8fd747412ab34eb90280767eea451b2fdaf8faa8306ace/nb-clean-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5990480db6dad5e9f9cc3af01035492a", "sha256": "060321fd326c6e2540cf7bf9b249ca81d142ff4f5d8db5e2140c5e1ed8fbf471" }, "downloads": -1, "filename": "nb_clean-1.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5990480db6dad5e9f9cc3af01035492a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4926, "upload_time": "2017-11-28T19:47:20", "url": "https://files.pythonhosted.org/packages/db/0c/7d0c0ecb6c5d7953836f14f13fa178d7ee3c76f1fb17edfaff81ca4ce989/nb_clean-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f4b89a028840bba18925bde70102f4c", "sha256": "1181827a98274daf4c3c442e1c357c0f83cc8f986eb94a1b4484f6e105569299" }, "downloads": -1, "filename": "nb-clean-1.0.1.tar.gz", "has_sig": true, "md5_digest": "8f4b89a028840bba18925bde70102f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3160, "upload_time": "2017-11-28T19:47:22", "url": "https://files.pythonhosted.org/packages/27/28/6b8d23bcfac7d343f541dcf13f85e40c10a66fd677eff73aae5e2a3010b0/nb-clean-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d8a93556865aa94ae40d80fb5d4e4983", "sha256": "5589a08d094c9205a5f02ee540932e8fe91d2443deca7f69f0fbe81be8f61053" }, "downloads": -1, "filename": "nb_clean-1.1.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d8a93556865aa94ae40d80fb5d4e4983", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5221, "upload_time": "2018-01-24T22:16:47", "url": "https://files.pythonhosted.org/packages/89/78/f9ba1917a296bd73e218b2197ab8380c2774ba4fe658861335b971bc39cf/nb_clean-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab20388a813897fbe100937f8a2e02db", "sha256": "3b934d2de0d2625abfff49f33a4371aa9787a510e5be7f5288e98143a5092412" }, "downloads": -1, "filename": "nb-clean-1.1.0.tar.gz", "has_sig": true, "md5_digest": "ab20388a813897fbe100937f8a2e02db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3488, "upload_time": "2018-01-24T22:16:49", "url": "https://files.pythonhosted.org/packages/e5/06/e353b418e0f4dce580872de72b9132fda573edee9e13d5f2a40703f6c09f/nb-clean-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "868587cf022ca9cb3a56a3778c19411a", "sha256": "5c6f6efb0a52a2cc9228aa119899396c63f00f8fa04c5f2ba99351ffae084aff" }, "downloads": -1, "filename": "nb_clean-1.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "868587cf022ca9cb3a56a3778c19411a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3687, "upload_time": "2018-05-22T07:11:28", "url": "https://files.pythonhosted.org/packages/57/86/36a6f1ecc356bd0cad54462c1ac0c92480a26725cc0b252036077b116179/nb_clean-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a44baeec6015fb3a24764c69b9acf178", "sha256": "a6564d6aaaefc037dbc234fa4d2d8e23ad5081f64792fada3df9562f81c3b687" }, "downloads": -1, "filename": "nb-clean-1.2.0.tar.gz", "has_sig": true, "md5_digest": "a44baeec6015fb3a24764c69b9acf178", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3550, "upload_time": "2018-05-22T07:11:25", "url": "https://files.pythonhosted.org/packages/86/31/aded7a2902ad719383eb0c1ee7384613d0f0671cc90ed237ba31c2c85510/nb-clean-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "1e20cc8bbab8d3998544da6d2a4a9220", "sha256": "20977a6a40bdd4da937dd77c41bd3882d25960646aac04eba910478ca39c8785" }, "downloads": -1, "filename": "nb_clean-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1e20cc8bbab8d3998544da6d2a4a9220", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 7892, "upload_time": "2019-01-22T22:25:09", "url": "https://files.pythonhosted.org/packages/36/f8/661b1ebccb6de83ccd14608eb22ab278fbc8932e0e4b2d1efe9beea4ac0d/nb_clean-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "70c5cf0424ff7105a421d9e9ef5d2917", "sha256": "db10c62f61bd5189bf496d3c19fe7c088f0797f677390b8b89937545584a0c2b" }, "downloads": -1, "filename": "nb-clean-1.3.0.tar.gz", "has_sig": false, "md5_digest": "70c5cf0424ff7105a421d9e9ef5d2917", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4153, "upload_time": "2019-01-22T22:25:07", "url": "https://files.pythonhosted.org/packages/0a/3a/0181abbf05494b3a325087453c3dc7e337c37e72ce7bcf2cd841d51b7e49/nb-clean-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "81378260c82257ef8e4a2ca80aeeb5ea", "sha256": "3a0a0661ab162e893fe8d41c59fa03c8b9dca89b2485f401d3a5089c1c147bec" }, "downloads": -1, "filename": "nb_clean-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "81378260c82257ef8e4a2ca80aeeb5ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 4639, "upload_time": "2019-05-08T20:14:25", "url": "https://files.pythonhosted.org/packages/4b/70/13047f151950673eb7f00e9281021318116dea7e60afb0e961c23af7db55/nb_clean-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14b279d8f9d0d6b725626e135145a9ed", "sha256": "c6cea5092516197ad4cf42be31ed5662ddee8f7a317b82ee98101b77db9d74a5" }, "downloads": -1, "filename": "nb-clean-1.4.0.tar.gz", "has_sig": false, "md5_digest": "14b279d8f9d0d6b725626e135145a9ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4743, "upload_time": "2019-05-08T20:14:23", "url": "https://files.pythonhosted.org/packages/f6/77/0769d3b2b50eaa46e7742d3c91ff50bf462994df4dffbe06ceea1de0fe23/nb-clean-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "5f34b41d4986eeaa20e1734ab47e32be", "sha256": "043180dbae3129c836996f4ddfbcf5ce077c7fd3ec33b7aa25b6d27435ecf1c4" }, "downloads": -1, "filename": "nb_clean-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5f34b41d4986eeaa20e1734ab47e32be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 4641, "upload_time": "2019-05-09T07:13:59", "url": "https://files.pythonhosted.org/packages/e5/51/78dedbd9cf62094d8ca7372654dd05a3f96955781403f1cab14536cf9133/nb_clean-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c3035e785b3ad456151122e7e1a1055", "sha256": "332dda69d3fd7be1387df29cf548d39c533ebdd97c320670f357d2ae2c60ce7a" }, "downloads": -1, "filename": "nb-clean-1.4.1.tar.gz", "has_sig": false, "md5_digest": "6c3035e785b3ad456151122e7e1a1055", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4757, "upload_time": "2019-05-09T07:13:58", "url": "https://files.pythonhosted.org/packages/df/09/d226c843587c378c100617a9a525d715f86525e6b33a6e88b5867a0b4469/nb-clean-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f34b41d4986eeaa20e1734ab47e32be", "sha256": "043180dbae3129c836996f4ddfbcf5ce077c7fd3ec33b7aa25b6d27435ecf1c4" }, "downloads": -1, "filename": "nb_clean-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5f34b41d4986eeaa20e1734ab47e32be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 4641, "upload_time": "2019-05-09T07:13:59", "url": "https://files.pythonhosted.org/packages/e5/51/78dedbd9cf62094d8ca7372654dd05a3f96955781403f1cab14536cf9133/nb_clean-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c3035e785b3ad456151122e7e1a1055", "sha256": "332dda69d3fd7be1387df29cf548d39c533ebdd97c320670f357d2ae2c60ce7a" }, "downloads": -1, "filename": "nb-clean-1.4.1.tar.gz", "has_sig": false, "md5_digest": "6c3035e785b3ad456151122e7e1a1055", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4757, "upload_time": "2019-05-09T07:13:58", "url": "https://files.pythonhosted.org/packages/df/09/d226c843587c378c100617a9a525d715f86525e6b33a6e88b5867a0b4469/nb-clean-1.4.1.tar.gz" } ] }