{ "info": { "author": "Amber Brown", "author_email": "hawkowl@twistedmatrix.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Incremental\n===========\n\n|travis|\n|pypi|\n|coverage|\n\nIncremental is a small library that versions your Python projects.\n\nAPI documentation can be found `here `_.\n\n\nQuick Start\n-----------\n\nAdd this to your ``setup.py``\\ 's ``setup()`` call, removing any other versioning arguments:\n\n.. code::\n\n setup(\n use_incremental=True,\n setup_requires=['incremental'],\n install_requires=['incremental'], # along with any other install dependencies\n ...\n }\n\n\nThen run ``python -m incremental.update --create`` (you will need ``click`` installed from PyPI).\nIt will create a file in your package named ``_version.py`` and look like this:\n\n.. code::\n\n from incremental import Version\n\n __version__ = Version(\"widgetbox\", 17, 1, 0)\n __all__ = [\"__version__\"]\n\n\nThen, so users of your project can find your version, in your root package's ``__init__.py`` add:\n\n.. code::\n\n from ._version import __version__\n\n\nSubsequent installations of your project will then use Incremental for versioning.\n\n\nIncremental Versions\n--------------------\n\n``incremental.Version`` is a class that represents a version of a given project.\nIt is made up of the following elements (which are given during instantiation):\n\n- ``package`` (required), the name of the package this ``Version`` represents.\n- ``major``, ``minor``, ``micro`` (all required), the X.Y.Z of your project's ``Version``.\n- ``release_candidate`` (optional), set to 0 or higher to mark this ``Version`` being of a release candidate (also sometimes called a \"prerelease\").\n- ``dev`` (optional), set to 0 or higher to mark this ``Version`` as a development release.\n\nYou can extract a PEP-440 compatible version string by using the following methods:\n\n- ``.local()``, which returns a ``str`` containing the full version plus any Git or SVN information, if available. An example output would be ``\"17.1.1rc1+r123\"`` or ``\"3.7.0+rb2e812003b5d5fcf08efd1dffed6afa98d44ac8c\"``.\n- ``.public()``, which returns a ``str`` containing the full version, without any Git or SVN information. This is the version you should provide to users, or publicly use. An example output would be ``\"13.2.0\"``, ``\"17.1.2dev1\"``, or ``\"18.8.0rc2\"``.\n\nCalling ``repr()`` with a ``Version`` will give a Python-source-code representation of it, and calling ``str()`` with a ``Version`` will provide a string similar to ``'[Incremental, version 16.10.1]'``.\n\n\nUpdating\n--------\n\nIncremental includes a tool to automate updating your Incremental-using project's version called ``incremental.update``.\nIt updates the ``_version.py`` file and automatically updates some uses of Incremental versions from an indeterminate version to the current one.\nIt requires ``click`` from PyPI.\n\n``python -m incremental.update `` will perform updates on that package.\nThe commands that can be given after that will determine what the next version is.\n\n- ``--newversion=``, to set the project version to a fully-specified version (like 1.2.3, or 17.1.0dev1).\n- ``--rc``, to set the project version to ``..0rc1`` if the current version is not a release candidate, or bump the release candidate number by 1 if it is.\n- ``--dev``, to set the project development release number to 0 if it is not a development release, or bump the development release number by 1 if it is.\n- ``--patch``, to increment the patch number of the release. This will also reset the release candidate number, pass ``--rc`` at the same time to increment the patch number and make it a release candidate.\n\nIf you give no arguments, it will strip the release candidate number, making it a \"full release\".\n\nIncremental supports \"indeterminate\" versions, as a stand-in for the next \"full\" version. This can be used when the version which will be displayed to the end-user is unknown (for example \"introduced in\" or \"deprecated in\"). Incremental supports the following indeterminate versions:\n\n- ``Version(\"\", \"NEXT\", 0, 0)``\n- `` NEXT``\n\nWhen you run ``python -m incremental.update --rc``, these will be updated to real versions (assuming the target final version is 17.1.0):\n\n- ``Version(\"\", 17, 1, 0, release_candidate=1)``\n- `` 17.1.0rc1``\n\nOnce the final version is made, it will become:\n\n- ``Version(\"\", 17, 1, 0)``\n- `` 17.1.0``\n\n\n.. |coverage| image:: https://codecov.io/github/hawkowl/incremental/coverage.svg?branch=master\n.. _coverage: https://codecov.io/github/hawkowl/incremental\n\n.. |travis| image:: https://travis-ci.org/hawkowl/incremental.svg?branch=master\n.. _travis: http://travis-ci.org/hawkowl/incremental\n\n.. |pypi| image:: http://img.shields.io/pypi/v/incremental.svg\n.. _pypi: https://pypi.python.org/pypi/incremental\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/twisted/incremental", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "incremental", "package_url": "https://pypi.org/project/incremental/", "platform": "", "project_url": "https://pypi.org/project/incremental/", "project_urls": { "Homepage": "https://github.com/twisted/incremental" }, "release_url": "https://pypi.org/project/incremental/17.5.0/", "requires_dist": [ "click (>=6.0); extra == 'scripts'", "twisted (>=16.4.0); extra == 'scripts'" ], "requires_python": "", "summary": "", "version": "17.5.0" }, "last_serial": 2893774, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f3987208314cd09a263651b8e0976fa5", "sha256": "80b923150176e0a90194844565117ebcb1866669f60b2e4a0892d05665ec6f59" }, "downloads": -1, "filename": "incremental-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f3987208314cd09a263651b8e0976fa5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5270, "upload_time": "2015-11-29T14:33:02", "url": "https://files.pythonhosted.org/packages/d8/b3/c230a95deedfd990ae43dd8be05a79889465e6c91219d36663332e43e95e/incremental-0.1.0-py2-none-any.whl" } ], "15.0.0": [ { "comment_text": "", "digests": { "md5": "4a3e1094804eb9998c43097241025823", "sha256": "41324606c7fbf51b5c0b70e3b1fe448b9fc6d8ef89dc42acc80f7015845a88db" }, "downloads": -1, "filename": "incremental-15.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4a3e1094804eb9998c43097241025823", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6843, "upload_time": "2015-11-29T15:51:36", "url": "https://files.pythonhosted.org/packages/35/64/f641578af2596655b730b686f8c31ae223f7b94d1b2ad7a92ad8677f6a2a/incremental-15.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e81d70e5cacdf569568e9c0811c2f6f", "sha256": "01df6dc39d6d0adaf2880ccb032a77d572143eeb0db1993dfbf3eb282ec1a8af" }, "downloads": -1, "filename": "incremental-15.0.0.tar.gz", "has_sig": false, "md5_digest": "3e81d70e5cacdf569568e9c0811c2f6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9508, "upload_time": "2015-11-29T15:51:29", "url": "https://files.pythonhosted.org/packages/a6/a9/95c310b8c082d129fe8b433a38e75d257dc3bc280921de823c95665e0f21/incremental-15.0.0.tar.gz" } ], "15.1.0": [ { "comment_text": "", "digests": { "md5": "ecc81e6242f19f781051b5b2463e79a3", "sha256": "bbeae86f5d0a32cf12caedb20b9ff40cf326855d5efb9009bc48beb59648ea80" }, "downloads": -1, "filename": "incremental-15.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ecc81e6242f19f781051b5b2463e79a3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7259, "upload_time": "2015-11-29T17:00:17", "url": "https://files.pythonhosted.org/packages/74/be/061f5390d2a6726c21106d8551a21987c02163996ff1c72ee2257201fd74/incremental-15.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6cad0e32913ff6b514295fca39263890", "sha256": "37f766712a200c58774dcead7cfff517713cb88fbb79dd3d3355b77195918198" }, "downloads": -1, "filename": "incremental-15.1.0.tar.gz", "has_sig": false, "md5_digest": "6cad0e32913ff6b514295fca39263890", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9369, "upload_time": "2015-11-29T17:00:11", "url": "https://files.pythonhosted.org/packages/21/12/9c9a65ee22dda2d53a14cf482fb7d40bc3d391814ef56f77068e08d6af43/incremental-15.1.0.tar.gz" } ], "15.2.0": [ { "comment_text": "", "digests": { "md5": "f60b81aa9bd6934b80551f4ae0636aa2", "sha256": "780091188d3fadb41c4f9ef6d7b35ba5ff71e4158de3479d584803def67a23fd" }, "downloads": -1, "filename": "incremental-15.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f60b81aa9bd6934b80551f4ae0636aa2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7258, "upload_time": "2015-11-29T17:03:50", "url": "https://files.pythonhosted.org/packages/f6/f0/b5b3cefdbffdf86d7a98e4be948af6e7b9265db7ae92b41e8987ca381958/incremental-15.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc86eaea4fe6c36da75f9d811b28443d", "sha256": "dca1f264eadec188353a5a4b162da8e3e6d82e6fc18a44ee0f0af61166203e0c" }, "downloads": -1, "filename": "incremental-15.2.0.tar.gz", "has_sig": false, "md5_digest": "bc86eaea4fe6c36da75f9d811b28443d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9425, "upload_time": "2015-11-29T17:03:17", "url": "https://files.pythonhosted.org/packages/57/ed/f5b9c330d4a2ddb370b6f9004f8a61c9fdc11b54ede424b7d7e0f1f23e91/incremental-15.2.0.tar.gz" } ], "15.3.0": [ { "comment_text": "", "digests": { "md5": "3cfb2c1c698c37e10e41db6b51876411", "sha256": "c9b9cd3ecb66c2c0d7ac471d75991a923cb2b0d8a6d382ddf0e16d1aa09b82fa" }, "downloads": -1, "filename": "incremental-15.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3cfb2c1c698c37e10e41db6b51876411", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 7807, "upload_time": "2015-11-30T15:24:59", "url": "https://files.pythonhosted.org/packages/6d/68/7ca339270f9e210b744d6b1fea8caf2465761e358819c699a6ca96848df7/incremental-15.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28a844c16ad872e843e181f55fe36298", "sha256": "304a73cd801e1e5f0685e6332296845d4ae592e8435df9f343216e1e014fc74a" }, "downloads": -1, "filename": "incremental-15.3.0.tar.gz", "has_sig": false, "md5_digest": "28a844c16ad872e843e181f55fe36298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9956, "upload_time": "2015-11-30T15:25:17", "url": "https://files.pythonhosted.org/packages/c1/49/13a90899a72d67b6a77cd0f6b88f8427f62f1d1c2a07deccfb8c3b99029b/incremental-15.3.0.tar.gz" } ], "16.10.0": [ { "comment_text": "", "digests": { "md5": "ab0a203569976d4ebdd9af1ce8eaefa1", "sha256": "9e399beab7a128daa2836381e3e6843905df61ee328362bfa394131a55ad2284" }, "downloads": -1, "filename": "incremental-16.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab0a203569976d4ebdd9af1ce8eaefa1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16642, "upload_time": "2016-10-10T03:49:58", "url": "https://files.pythonhosted.org/packages/47/2b/54595c29bf28b88eafdabe5754f391317bb87f45a19ef80fad0d9ca7c6bd/incremental-16.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ec17cca1721f3acea59c446dd37c298", "sha256": "0608d0741ae7ccd4d072f804d62c28180531deef0b882ff2697a737f01754f1d" }, "downloads": -1, "filename": "incremental-16.10.0.tar.gz", "has_sig": false, "md5_digest": "2ec17cca1721f3acea59c446dd37c298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15895, "upload_time": "2016-10-10T03:49:50", "url": "https://files.pythonhosted.org/packages/b5/02/5a6a8450991a708c707c7221a506388de2e86cfb144a482653d11270b7a9/incremental-16.10.0.tar.gz" } ], "16.10.1": [ { "comment_text": "", "digests": { "md5": "0d718295ccafb866a8141c86fe037129", "sha256": "cc00a35f9e9621ddec0a5e7d17271f3f26244873c4aec67eda06f2db8302e04b" }, "downloads": -1, "filename": "incremental-16.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d718295ccafb866a8141c86fe037129", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16702, "upload_time": "2016-10-20T05:11:26", "url": "https://files.pythonhosted.org/packages/b5/72/f4246320648bbe0f8c16dcebe1560e359a3a0631839f8d963ea8ff18caaf/incremental-16.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fe6b3b1da1d26a48187fb27e969f072", "sha256": "14ad6b720ec47aad6c9caa83e47db1843e2b9b98742da5dda08e16a99f400342" }, "downloads": -1, "filename": "incremental-16.10.1.tar.gz", "has_sig": false, "md5_digest": "3fe6b3b1da1d26a48187fb27e969f072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16066, "upload_time": "2016-10-20T05:11:28", "url": "https://files.pythonhosted.org/packages/da/b0/32233c9e84b0d44b39015fba8fec03e88053723c1b455925081dc6ccd9e7/incremental-16.10.1.tar.gz" } ], "16.9.0": [ { "comment_text": "", "digests": { "md5": "c9588133f84d6787acc1e99a956cf0f1", "sha256": "cbc6682b9e72fae2a41285532645cd8a2a48ed7bdf518a8d9279ef7e869028a0" }, "downloads": -1, "filename": "incremental-16.9.0.tar.gz", "has_sig": false, "md5_digest": "c9588133f84d6787acc1e99a956cf0f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15678, "upload_time": "2016-09-17T17:25:02", "url": "https://files.pythonhosted.org/packages/46/67/b780e33fbc3bec4ba5401a341f77c20884bc9d4bcc3265a6e4454b9e9782/incremental-16.9.0.tar.gz" } ], "16.9.1": [ { "comment_text": "", "digests": { "md5": "d3cd00ddcbbc03a7c2336e43fa8f2a01", "sha256": "90519bce9041a04afdeeec8e3319ebed3f3b9d460fa048829fd5901f04e4aae4" }, "downloads": -1, "filename": "incremental-16.9.1.tar.gz", "has_sig": false, "md5_digest": "d3cd00ddcbbc03a7c2336e43fa8f2a01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15870, "upload_time": "2016-09-20T21:45:18", "url": "https://files.pythonhosted.org/packages/57/21/1caaff213d67b2d90d661f9d27ba18ebef855196a512fc4987bb22dbbca7/incremental-16.9.1.tar.gz" } ], "17.5.0": [ { "comment_text": "", "digests": { "md5": "cac4b59f7126274b6cc37680a2234773", "sha256": "717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f" }, "downloads": -1, "filename": "incremental-17.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cac4b59f7126274b6cc37680a2234773", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16667, "upload_time": "2017-05-23T17:17:16", "url": "https://files.pythonhosted.org/packages/f5/1d/c98a587dc06e107115cf4a58b49de20b19222c83d75335a192052af4c4b7/incremental-17.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "602746e0d438e075a5a9e0678140bba2", "sha256": "7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3" }, "downloads": -1, "filename": "incremental-17.5.0.tar.gz", "has_sig": false, "md5_digest": "602746e0d438e075a5a9e0678140bba2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15527, "upload_time": "2017-05-23T17:17:18", "url": "https://files.pythonhosted.org/packages/8f/26/02c4016aa95f45479eea37c90c34f8fab6775732ae62587a874b619ca097/incremental-17.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cac4b59f7126274b6cc37680a2234773", "sha256": "717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f" }, "downloads": -1, "filename": "incremental-17.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cac4b59f7126274b6cc37680a2234773", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16667, "upload_time": "2017-05-23T17:17:16", "url": "https://files.pythonhosted.org/packages/f5/1d/c98a587dc06e107115cf4a58b49de20b19222c83d75335a192052af4c4b7/incremental-17.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "602746e0d438e075a5a9e0678140bba2", "sha256": "7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3" }, "downloads": -1, "filename": "incremental-17.5.0.tar.gz", "has_sig": false, "md5_digest": "602746e0d438e075a5a9e0678140bba2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15527, "upload_time": "2017-05-23T17:17:18", "url": "https://files.pythonhosted.org/packages/8f/26/02c4016aa95f45479eea37c90c34f8fab6775732ae62587a874b619ca097/incremental-17.5.0.tar.gz" } ] }