{ "info": { "author": "Joseph Weston and Christoph Groth", "author_email": "joseph@weston.cloud", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Version Control :: Git" ], "description": "# Miniver\n[![license: CC0-1.0](https://img.shields.io/pypi/l/miniver.svg)][cc0]\n[![PyPI version](https://img.shields.io/pypi/v/miniver.svg)][pypi]\n[![Travis build](https://travis-ci.org/jbweston/miniver.svg)][travis]\n[![Appveyor build](https://ci.appveyor.com/api/projects/status/v9q0hmjfm9qxdsi4?svg=true)][appveyor]\n\n**Like [versioneer][versioneer], but smaller**\n\nMiniver is a **mini**mal **ver**sioning tool that serves the same purpose\nas [Versioneer][versioneer], except that it only works with Git and\nmultiplatform support is still experimental.\n\n#### Why would I use this?\nIf you are developing a Python package inside a Git repository and\nwant to get the version directly from Git tags, rather than hard-coding\nversion strings everywhere.\n\nThis is the same problem that Versioneer solves, but Miniver is less\nthan 200 lines of code, whereas Versioneer is over 2000. The tradeoff\nis that Miniver only works with Git and Python 3.5 (or above), and has only been\ntested on Debian Linux and Mac OSX (automated with Travis) and for Windows\non Appveyor.\n\nSupport for Python 2 is not a goal, as Python 2 is fast approaching its\nend of life (2020), and we want to encourage people to use Python 3!\nThat being said, Christian Marquardt has a [fork that also\nworks with Python 2](https://github.com/cmarquardt/miniver2)\n\n[versioneer]: https://github.com/warner/python-versioneer\n[cc0]: http://creativecommons.org/publicdomain/zero/1.0/\n[pypi]: https://pypi.org/project/miniver/\n[travis]: https://travis-ci.org/jbweston/miniver\n[appveyor]: https://ci.appveyor.com/project/jbweston/miniver\n\n## Usage\nThe simplest way to use Miniver is to run the following in your project root:\n```\ncurl https://raw.githubusercontent.com/jbweston/miniver/master/install-miniver | python - \n```\nThis will grab the latest files from GitHub and set up Miniver for your project.\n\n### I get an `unknown` version!\nThe version is reported as `unknown` (plus the current git hash) when there are no valid tags\nin the git history. You should create an [*annotated tag*](https://git-scm.com/book/en/v2/Git-Basics-Tagging)\nso that Miniver reports a reasonable version.\n\nIf your project uses *unannotated tags* for versioning (though this is not the\n[recommended way](https://stackoverflow.com/questions/11514075/what-is-the-difference-between-an-annotated-and-unannotated-tag))\nthen you'll need to run the following in order to modify Miniver's behaviour:\n```\ncurl https://raw.githubusercontent.com/jbweston/miniver/master/unannotated-tags.patch | patch /_version.py\n```\n\n### I don't want to type that URL every time I use this\nYou can `pip install miniver`, which will give you the `install-miniver` script.\nThen you can simply run the following from your project root to use Miniver:\n```\ninstall-miniver \n```\n\n### Can I use this without executing random code from the internet?\nSure! Copy `miniver/_version.py` and `miniver/_static_version.py` from this\nrepository into your package directory, then copy the following snippets into\nthe appropriate files:\n\n```python\n# Your package's __init__.py\nfrom ._version import __version__\ndel _version\n```\n\n```python\n# Your project's setup.py\n\n# Loads _version.py module without importing the whole package.\ndef get_version_and_cmdclass(package_name):\n import os\n from importlib.util import module_from_spec, spec_from_file_location\n spec = spec_from_file_location('version',\n os.path.join(package_name, '_version.py'))\n module = module_from_spec(spec)\n spec.loader.exec_module(module)\n return module.__version__, module.cmdclass\n\n\nversion, cmdclass = get_version_and_cmdclass('my_package')\n\nsetup(\n name='my_package',\n version=version,\n cmdclass=cmdclass,\n)\n```\n\n```\n# Your project's .gitattributes\nmy_package/_static_version.py export-subst\n```\n\nreplacing `'my_package'` in the above with the name of your package\n(this should be the same as the name of the directory into\nwhich you copied the contents of `miniver`).\n\nThat's it!\n\n## License\nMiniver is in the public domain under a CC0 license.\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/jbweston/miniver", "keywords": "", "license": "CC0", "maintainer": "", "maintainer_email": "", "name": "miniver", "package_url": "https://pypi.org/project/miniver/", "platform": "", "project_url": "https://pypi.org/project/miniver/", "project_urls": { "Homepage": "https://github.com/jbweston/miniver" }, "release_url": "https://pypi.org/project/miniver/0.6.0/", "requires_dist": null, "requires_python": "", "summary": "minimal versioning tool", "version": "0.6.0" }, "last_serial": 4831376, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "364d7bd638ad8167f5aecb2684a43c59", "sha256": "42a450ca1afd0cd72205e7a024158c4425cfed60b0d4c567bba25b76fb58be59" }, "downloads": -1, "filename": "miniver-0.1.0.tar.gz", "has_sig": false, "md5_digest": "364d7bd638ad8167f5aecb2684a43c59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7886, "upload_time": "2018-02-26T23:08:49", "url": "https://files.pythonhosted.org/packages/65/bc/6c7c0ce9af8f2160c0faa653979c8f0e5d69bb34a20ba30a3fe6fde4c16b/miniver-0.1.0.tar.gz" } ], "0.1.0.dev0": [ { "comment_text": "", "digests": { "md5": "7adea65a962b51ad3d9cd3a589c56df5", "sha256": "207550191b8e2300f9f0f8af78db4975802d49258c8f3139979bd3843f22f6ed" }, "downloads": -1, "filename": "miniver-0.1.0.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "7adea65a962b51ad3d9cd3a589c56df5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4594, "upload_time": "2018-02-22T00:29:45", "url": "https://files.pythonhosted.org/packages/22/13/a522c96544d85b6ab59e6370f60377d2a307e35780c4d01efc314bfe8fb8/miniver-0.1.0.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e56eb79b6d6d767dd6a07c7e011ea88", "sha256": "f43b4ae95bfd303b13b37b184b34d10fdfe5e1e936544d2197d7c9b76121d95d" }, "downloads": -1, "filename": "miniver-0.1.0.dev0.tar.gz", "has_sig": false, "md5_digest": "1e56eb79b6d6d767dd6a07c7e011ea88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3837, "upload_time": "2018-02-22T00:29:46", "url": "https://files.pythonhosted.org/packages/38/5d/2315691e28f66de1570ff86241f0462f9b968d298e63db954b5b4a666582/miniver-0.1.0.dev0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "36168c839ba93c89a4dd11fb5c4832a6", "sha256": "5c09164aa7502fece0e113df9c69f5cea169a6fd22650e58e69eba2ccb569be3" }, "downloads": -1, "filename": "miniver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "36168c839ba93c89a4dd11fb5c4832a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8080, "upload_time": "2018-03-07T22:24:09", "url": "https://files.pythonhosted.org/packages/bc/76/4cb255b327e7887e52c017bbe8e3af191621193e0757323202c78a7af863/miniver-0.2.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ccd1339c9cf0b8a8e23158f5899bd1df", "sha256": "e5d00407b9a48b4c34897e0294be43be0989d136e7abe0a530a548e64960dd8c" }, "downloads": -1, "filename": "miniver-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ccd1339c9cf0b8a8e23158f5899bd1df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7119, "upload_time": "2018-06-21T20:56:26", "url": "https://files.pythonhosted.org/packages/a0/ef/cd8295314a9e842d8285525f4a643c50486ed72aae52cfcf02dc316bb010/miniver-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa5394ae2fdf35638872754295c92708", "sha256": "2886ecf3d5c39e8bf3c566db654cbc022e4f852a8686886b3b48f0e7f1c7783d" }, "downloads": -1, "filename": "miniver-0.3.1.tar.gz", "has_sig": false, "md5_digest": "fa5394ae2fdf35638872754295c92708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8750, "upload_time": "2018-06-21T20:56:27", "url": "https://files.pythonhosted.org/packages/73/61/a7506cd80195b2ae177399da3b0898f5da48525312bddc5b190ff4a71bf2/miniver-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f226577167271a831d0cc77d3e1514a5", "sha256": "1278e81ba1195ccd2c7f760a3289041743bfed26600b5a93dd3009a6bf7a7b3a" }, "downloads": -1, "filename": "miniver-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f226577167271a831d0cc77d3e1514a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7655, "upload_time": "2018-08-15T21:45:53", "url": "https://files.pythonhosted.org/packages/e2/86/013d4df4aa43924219e8d41675f23b7bfe71422c2bb82e34f292f4e7112c/miniver-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ab5b5e7dcc11dc2c4b6bc61963aaf59", "sha256": "009a34c95f964de1a311bfdba1b786ea920cef948ea72ce0e98b70a1fd9285cb" }, "downloads": -1, "filename": "miniver-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3ab5b5e7dcc11dc2c4b6bc61963aaf59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9300, "upload_time": "2018-08-15T21:45:54", "url": "https://files.pythonhosted.org/packages/e6/1f/bea3ef018901c999a41c720468438f3a996ec6e1b37434aeb22668bac259/miniver-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "ca5526b6a239070b4a4163b10b875799", "sha256": "2bb88bdcab07ec6ee2876d07b0e2eb413aeca80cf26fcc8a6bc0817a84644f41" }, "downloads": -1, "filename": "miniver-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ca5526b6a239070b4a4163b10b875799", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10388, "upload_time": "2018-08-17T09:58:50", "url": "https://files.pythonhosted.org/packages/04/f0/45592f7dfae3889d1724432dee467e0c1198ba7a74e70a7a92500f5bc454/miniver-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16aa68f17ab41631e24d3c57973e1d56", "sha256": "1ef7f9919bf39c2d1fe77c7adce4fd1d518995967907a6c3311b3bd30eaff7aa" }, "downloads": -1, "filename": "miniver-0.4.1.tar.gz", "has_sig": false, "md5_digest": "16aa68f17ab41631e24d3c57973e1d56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9329, "upload_time": "2018-08-17T09:58:51", "url": "https://files.pythonhosted.org/packages/36/55/bb33f20affd24686e35ff04c4bc0d6a2208e12a06c56d775d74e48f5cedd/miniver-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "f8febb1cf8f21dafe54974424a1c6ee4", "sha256": "48e6e7aaaf3858501e8a7835f4295e90561c766c524584d8e642671dd75517a2" }, "downloads": -1, "filename": "miniver-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f8febb1cf8f21dafe54974424a1c6ee4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10558, "upload_time": "2018-10-15T09:04:04", "url": "https://files.pythonhosted.org/packages/d7/57/6b99bb236b4c1788cafa7539a21950f5803ca9773694bae8a6306e8fce1e/miniver-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e8d9a67fb2eeb6705ddc549ed00d2e7", "sha256": "e379b49c6eb57982701f12505a7f532252cd94a00c5146305c74c0adfac692de" }, "downloads": -1, "filename": "miniver-0.5.0.tar.gz", "has_sig": false, "md5_digest": "3e8d9a67fb2eeb6705ddc549ed00d2e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9496, "upload_time": "2018-10-15T09:04:05", "url": "https://files.pythonhosted.org/packages/a0/c8/26e84f68f7171fee9216af73ea0c9ad1882de4fa0d0677cf2a7331f09e66/miniver-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "0670fa1e0778c3393d28dfa51fb436c7", "sha256": "d7b7c187e88e269a3f6f7a992b4afd1f7c8399ab24e67af8ceab62e78b6fb619" }, "downloads": -1, "filename": "miniver-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0670fa1e0778c3393d28dfa51fb436c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10574, "upload_time": "2019-02-17T12:18:18", "url": "https://files.pythonhosted.org/packages/09/75/c10989d555149bf284d0c7cf808c09d59640dda917739a4a248db92c2015/miniver-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e99f82348d5b3c8ef32aa086bca00be", "sha256": "7fb548e5a0dff65bf6a23c84fb71a2358eb5c55deb5aad047163033e20cc61ad" }, "downloads": -1, "filename": "miniver-0.6.0.tar.gz", "has_sig": false, "md5_digest": "6e99f82348d5b3c8ef32aa086bca00be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9520, "upload_time": "2019-02-17T12:18:20", "url": "https://files.pythonhosted.org/packages/08/6a/0b6b687e6f014aa698022f136176995f7b245627712433401317328e50db/miniver-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0670fa1e0778c3393d28dfa51fb436c7", "sha256": "d7b7c187e88e269a3f6f7a992b4afd1f7c8399ab24e67af8ceab62e78b6fb619" }, "downloads": -1, "filename": "miniver-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0670fa1e0778c3393d28dfa51fb436c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10574, "upload_time": "2019-02-17T12:18:18", "url": "https://files.pythonhosted.org/packages/09/75/c10989d555149bf284d0c7cf808c09d59640dda917739a4a248db92c2015/miniver-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e99f82348d5b3c8ef32aa086bca00be", "sha256": "7fb548e5a0dff65bf6a23c84fb71a2358eb5c55deb5aad047163033e20cc61ad" }, "downloads": -1, "filename": "miniver-0.6.0.tar.gz", "has_sig": false, "md5_digest": "6e99f82348d5b3c8ef32aa086bca00be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9520, "upload_time": "2019-02-17T12:18:20", "url": "https://files.pythonhosted.org/packages/08/6a/0b6b687e6f014aa698022f136176995f7b245627712433401317328e50db/miniver-0.6.0.tar.gz" } ] }