{ "info": { "author": "Fernando Stecconi", "author_email": "nandilugio@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "Current version: 1.1.2\n\nCompatible with Python >=2.7 and >=3.5\n\n# BumpyTrack\n\nBumping the ([semantic](https://semver.org/)) version of your software every time a release is done can be a tedious task, if you:\n- Have the version written in various files, e.g. `setup.py` or a dedicated version file.\n- Manage versioning with tags in GIT.\n\nThis little script automates this process for you.\n\nSay you're using [`git-flow`](https://nvie.com/posts/a-successful-git-branching-model/) and you've just merged a feature to your development branch. You can just checkout and pull it, and then do:\n\n```bash\nbumpytrack minor # or major if you have breaking changes, or patch if it's a simple bugfix\n```\n\nIt will:\n- Replace the version string in all relevant files (see config below).\n- Commit those changes to GIT, taking care not to commit anything else.\n- Create a GIT tag for this new version.\n\nNow you're free to push, merge to master and deploy!\n\nFor the above version string replacements we'll need some config. [This example](https://github.com/nandilugio/bumpytrack/blob/master/pyproject.toml) should be autoexplicative. Create a `pyproject.toml` or add your config to the one you already have in the root of your repository and you're good to go.\n\n## Installation\n\n```bash\npip install bumpytrack\n```\n\nThen add a `pyproject.toml` to the root of your repository (if you don't already have it) and configure it [like this](https://github.com/nandilugio/bumpytrack/blob/master/pyproject.toml).\n\n## Help\n\nThe script is really simple, and has a decent on-line documentation. Just do:\n\n```bash\nbumpytrack --help\n```\n\nSome of the available options:\n\n```\n --current-version CURRENT_VERSION\n force current version instead using version in config\n file.\n --new-version NEW_VERSION\n force new version instead using version in config\n file.\n --git-commit GIT: Commit files with version replacements.\n --no-git-commit\n --git-tag GIT: Tag this reference with the new version.\n --no-git-tag\n --config-path CONFIG_PATH\n path to config file. Defaults to pyproject.toml in\n current directory.\n --verbose\n```\n\nYou can also just [peek at the code](https://github.com/nandilugio/bumpytrack/blob/master/bumpytrack/bumpytrack.py). Not much of it... it just adds one to some little numbers ;p\n\n## Development\n\nMake sure you have the lastest `pip` and `pipenv` versions:\n\n```bash\npip install --update pip pipenv\n```\n\nTo start developing, start the environment by:\n\n```bash\npipenv shell\npipenv install -d\n```\n\nThis tool uses both [`pipenv`](https://pipenv.readthedocs.io/) for development and [`setuptools`](https://setuptools.readthedocs.io/) for packaging and distribution. To this date there is not a 100% community-accepted best practice so I've taken [this approach](https://github.com/pypa/pipenv/issues/209#issuecomment-337409290). In summary:\n\nTo add an _application_ dependency, add it in `setup.py` and leave it with a loose version definition. Then, just do `pipenv install -e .` to install the dependency. Pipenv locking mecanism will work as expected, since bumpytrack itself in in the `[packages]` section of `Pipfile` (check `Pipfile.lock` and you'll find the deps there).\n\nTo add a _development_ dependency, add it to `Pipfile` via `pipenv install -d `.\n\nThis way there's a single source of truth for package definition. No need to repeat the deps in `setup.py` and `Pipfile*`.\n\n### Tests\n\nTo test the project run [`pytest`](https://docs.pytest.org/) inside the `pipenv`. Once you have something running, run [`tox`](https://tox.readthedocs.io/) to check it's compatible with all python versions supported.\n\nIMPORTANT: in order to make `tox` test with different python versions, those have to be installed. [`pyenv`](https://github.com/pyenv/pyenv) is reccomended for that purpose. [`tox-pyenv`](https://github.com/samstav/tox-pyenv) is installed so it should work out of the box.\n\n### Dev tasks automation and publishing to PyPI\n\nThis project uses [`pepython`](https://github.com/nandilugio/pepython) for automation. There you'll find tasks to build and publish the package to PyPI.\n\nCheck [the project](https://github.com/nandilugio/pepython) out and the [`tasks.py`](https://github.com/nandilugio/bumpytrack/blob/master/tasks.py) file for more info.\n\n## License\n\nThis project is licensed under the MIT License - see the [`LICENSE`](https://github.com/nandilugio/bumpytrack/blob/master/LICENSE) file for details.\n\n\n\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/nandilugio/bumpytrack", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "bumpytrack", "package_url": "https://pypi.org/project/bumpytrack/", "platform": "", "project_url": "https://pypi.org/project/bumpytrack/", "project_urls": { "Homepage": "https://github.com/nandilugio/bumpytrack" }, "release_url": "https://pypi.org/project/bumpytrack/1.1.2/", "requires_dist": [ "toml (>=0.9.4)", "subprocess32" ], "requires_python": "", "summary": "Simple semantic-version bumper in python that works.", "version": "1.1.2" }, "last_serial": 4997929, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "40e088c387f4ddd471c91a5351ba9abf", "sha256": "c539ccebc7570a99307a1ff570381bb64b3e7521c9b870fa08fc9b7aa4a7f42e" }, "downloads": -1, "filename": "bumpytrack-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "40e088c387f4ddd471c91a5351ba9abf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5962, "upload_time": "2018-10-24T17:23:09", "url": "https://files.pythonhosted.org/packages/7f/6b/e3355a773c16dd8a9d05ba0ea16694cdef2e8820c85a951c406ba61502fc/bumpytrack-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04619f64d6abe635d508d5b73c0b9537", "sha256": "b3b0e84c2df52e65dcd00e0fd14a453d94c9423aa31d1462eb76dd1a9b7be7c6" }, "downloads": -1, "filename": "bumpytrack-0.1.0.tar.gz", "has_sig": false, "md5_digest": "04619f64d6abe635d508d5b73c0b9537", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4732, "upload_time": "2018-10-24T17:23:12", "url": "https://files.pythonhosted.org/packages/b5/a7/595d5e49df95df15a4a3caac61f7de8f4455c1d599416c511b8ffc09ea70/bumpytrack-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2ddb41addd94bd371989fe7a8cd3a6c2", "sha256": "a83d2790d35b017c9efc81a4ab5ce9cee72d68991f3a3bccddb9bca73702e75f" }, "downloads": -1, "filename": "bumpytrack-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "2ddb41addd94bd371989fe7a8cd3a6c2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6150, "upload_time": "2018-10-25T15:06:18", "url": "https://files.pythonhosted.org/packages/f3/06/bcd65e8a218f362186557f40e786f8b1cee4d7def56f9d7036426443c8a8/bumpytrack-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d67eb361d8d8b9adf9c157370082d501", "sha256": "2d1a2f2359507d49338820b7e0b42a6402f3c10801fb539b0e87cb5442687242" }, "downloads": -1, "filename": "bumpytrack-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d67eb361d8d8b9adf9c157370082d501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4938, "upload_time": "2018-10-25T15:06:20", "url": "https://files.pythonhosted.org/packages/62/bc/c696e1e4d330c285390aa9fa41f411daf391cf1eb9729d46fd0a45da1706/bumpytrack-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0dcd20f16c72b15589d5a1bf9ee0c196", "sha256": "1eccb2aadb1c1023663f3433c15f54cc4d88d2be2d07ac6fcd0b7eca58cef304" }, "downloads": -1, "filename": "bumpytrack-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0dcd20f16c72b15589d5a1bf9ee0c196", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6152, "upload_time": "2018-10-25T15:31:20", "url": "https://files.pythonhosted.org/packages/fe/b8/282a0d3a53f8853a2a2513f1bd00ce6cdab3d7e8446451050e01ccc2cb9c/bumpytrack-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b67e65e50807ea86ef9f4793866d910", "sha256": "e5e21e9d9abefd86329968a0e436f0c6fa0ea2a2fb84f440b1b129d8e3f5792e" }, "downloads": -1, "filename": "bumpytrack-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5b67e65e50807ea86ef9f4793866d910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4925, "upload_time": "2018-10-25T15:31:21", "url": "https://files.pythonhosted.org/packages/b5/3f/ee2bef2e1685013e4c5069e25d296dff739112782c596bd2e6d751a900ee/bumpytrack-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "8d1178085a9883e3bb17684ee1872809", "sha256": "1cec2defcbf8bf21dcdc0a42491b5c73663a4349828b4174e8b3655459acdc4f" }, "downloads": -1, "filename": "bumpytrack-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8d1178085a9883e3bb17684ee1872809", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6151, "upload_time": "2018-10-30T15:09:21", "url": "https://files.pythonhosted.org/packages/e2/d7/db2d483d94635b70684666f20ba22dcb6c12ab46a0683665b2ae0aa86da6/bumpytrack-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "494cb2dbc9840e26834851bdf31b5a03", "sha256": "fb7a33f704c927c70a4a399c96fa32d820a72602effe3d3a666d5e440ad6833a" }, "downloads": -1, "filename": "bumpytrack-0.3.0.tar.gz", "has_sig": false, "md5_digest": "494cb2dbc9840e26834851bdf31b5a03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4928, "upload_time": "2018-10-30T15:09:23", "url": "https://files.pythonhosted.org/packages/aa/18/3cc1dabdb28cb3a7b4863560e6fbc7207b1e574645ffb902208cc5bea714/bumpytrack-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5011875429b9a03cc5b0b8f81616a457", "sha256": "7c96a7fe981a19a042e7babb0ede8dd555d9bf4d7977f08961ba9fd4705bf9b1" }, "downloads": -1, "filename": "bumpytrack-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5011875429b9a03cc5b0b8f81616a457", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6224, "upload_time": "2018-11-09T15:45:41", "url": "https://files.pythonhosted.org/packages/38/d4/466f22fef4943f5e7648e6158a2fbd465f40990a289414e7acbb784b6e47/bumpytrack-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "014dcf8e5bf5a3cc051ac4f4a2c43edf", "sha256": "26448ad3af9f12d072270c00dcb18870a205d297b953ab507987be5b34e5cf35" }, "downloads": -1, "filename": "bumpytrack-0.4.0.tar.gz", "has_sig": false, "md5_digest": "014dcf8e5bf5a3cc051ac4f4a2c43edf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5007, "upload_time": "2018-11-09T15:45:42", "url": "https://files.pythonhosted.org/packages/7c/a8/977f4c68f086b94fa71b3834f2560009b34631af50673ca99cc5cdda9dfd/bumpytrack-0.4.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b257e6045e33979d5f6fc85138dd641b", "sha256": "406910e54a82c6c10f8e739980945549765c827381b7a4bfe2e10ef52ade6f99" }, "downloads": -1, "filename": "bumpytrack-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "b257e6045e33979d5f6fc85138dd641b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6260, "upload_time": "2018-11-22T00:17:42", "url": "https://files.pythonhosted.org/packages/35/67/cd96962ecfd26faa95acf58231bce70e2a9258f2e90a47c638bc838ab722/bumpytrack-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1588748db0107f292f50c0f835c7302", "sha256": "12f554765e15e5ed736ddac9c3776d35b9538ca924535dd081e64b7309c86d9d" }, "downloads": -1, "filename": "bumpytrack-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e1588748db0107f292f50c0f835c7302", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4961, "upload_time": "2018-11-22T00:17:44", "url": "https://files.pythonhosted.org/packages/31/c2/46a665facbe5cc941f1183e68c3bd22c2dcc91d8c2c69dd080a64aaee416/bumpytrack-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "63c74e27fe1409ff23dfc3657e4f2562", "sha256": "01ab4ce6f6eb3ddcd9e7ce064872ead28938464f1503ecb30cc1a1d10ad1e7ca" }, "downloads": -1, "filename": "bumpytrack-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "63c74e27fe1409ff23dfc3657e4f2562", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6300, "upload_time": "2018-12-11T13:27:14", "url": "https://files.pythonhosted.org/packages/b5/e8/e0934c7ed73967c7ee62660736d8ba23ea95f3caef0a8519e09c127fc2b3/bumpytrack-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6ca13eef2f511a9e6483fc2b82f3fc2", "sha256": "d89f588231a7e86e3f87835d8e84a87a8097edf4c5e0160551a28123e05654f2" }, "downloads": -1, "filename": "bumpytrack-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a6ca13eef2f511a9e6483fc2b82f3fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5067, "upload_time": "2018-12-11T13:27:16", "url": "https://files.pythonhosted.org/packages/c8/e4/a0a36cb353c11aa40c741bbf40304094a20c778512e51762670d86f56d18/bumpytrack-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "eb574092e34b731e562fee902520413f", "sha256": "0af7136b8997be30331db81872c919774811fc2ba50cb0af50c8108e7fe49fae" }, "downloads": -1, "filename": "bumpytrack-1.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "eb574092e34b731e562fee902520413f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6393, "upload_time": "2018-12-20T17:53:58", "url": "https://files.pythonhosted.org/packages/a2/b6/eee4a5fe5db09e5a9d560c6196a612824c73b850339979b95d52576a1813/bumpytrack-1.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da4d26703c861d49d106e803cdb37af1", "sha256": "aa95ee71d168236dac4245366c55c27f42bf01238a9670a7de693de838c06420" }, "downloads": -1, "filename": "bumpytrack-1.1.1.tar.gz", "has_sig": false, "md5_digest": "da4d26703c861d49d106e803cdb37af1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5439, "upload_time": "2018-12-20T17:53:59", "url": "https://files.pythonhosted.org/packages/e7/d7/f497e7fcca6185ff1e6d061b41870d44ff0207ed738e1d6e48c8895c2453/bumpytrack-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "dc899d654954d2b68b316ce88c5c4221", "sha256": "411e7a64de6a41a36f4761ee78f80ae7d36e96c994e0207b75cb4e1c4a7db425" }, "downloads": -1, "filename": "bumpytrack-1.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "dc899d654954d2b68b316ce88c5c4221", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6394, "upload_time": "2019-03-28T14:11:52", "url": "https://files.pythonhosted.org/packages/65/0b/808ee3b18e27eb0460282f7b979154664bd26acc65b659964a086b438ab8/bumpytrack-1.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41e3973764092040b51e0a9ad158047f", "sha256": "c942c76704976824c6114b33b82ec8d9fe81ff38cd8ed895ef8902bc70e1d4be" }, "downloads": -1, "filename": "bumpytrack-1.1.2.tar.gz", "has_sig": false, "md5_digest": "41e3973764092040b51e0a9ad158047f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5443, "upload_time": "2019-03-28T14:11:54", "url": "https://files.pythonhosted.org/packages/8a/22/e7b844df76e4fdd8846e4c390bae5952ed6a9771e12712d47ea0cb6123dc/bumpytrack-1.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc899d654954d2b68b316ce88c5c4221", "sha256": "411e7a64de6a41a36f4761ee78f80ae7d36e96c994e0207b75cb4e1c4a7db425" }, "downloads": -1, "filename": "bumpytrack-1.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "dc899d654954d2b68b316ce88c5c4221", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6394, "upload_time": "2019-03-28T14:11:52", "url": "https://files.pythonhosted.org/packages/65/0b/808ee3b18e27eb0460282f7b979154664bd26acc65b659964a086b438ab8/bumpytrack-1.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41e3973764092040b51e0a9ad158047f", "sha256": "c942c76704976824c6114b33b82ec8d9fe81ff38cd8ed895ef8902bc70e1d4be" }, "downloads": -1, "filename": "bumpytrack-1.1.2.tar.gz", "has_sig": false, "md5_digest": "41e3973764092040b51e0a9ad158047f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5443, "upload_time": "2019-03-28T14:11:54", "url": "https://files.pythonhosted.org/packages/8a/22/e7b844df76e4fdd8846e4c390bae5952ed6a9771e12712d47ea0cb6123dc/bumpytrack-1.1.2.tar.gz" } ] }