{ "info": { "author": "mdrachuk", "author_email": "misha@drach.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Utilities", "Typing :: Typed" ], "description": "# cv\n[![PyPI](https://img.shields.io/pypi/v/cv)][pypi]\n[![Downloads](https://img.shields.io/pypi/dm/cv)][pypi]\n[![Build Status](https://img.shields.io/azure-devops/build/misha-drachuk/cv/9)](https://dev.azure.com/misha-drachuk/cv/_build/latest?definitionId=9&branchName=master)\n[![Test Coverage](https://img.shields.io/coveralls/github/mdrachuk/cv/master)](https://coveralls.io/github/mdrachuk/cv)\n[![Supported Python](https://img.shields.io/pypi/pyversions/cv)][pypi]\n\nCheck version of a Python module.\n\nRaises an error if the `.__version__`:\n- already present on PyPI or custom warehouse deployment; \n- does not match [PEP 440](https://www.python.org/dev/peps/pep-0440);\n- or does not match specified type: alpha/beta/rc/dev/release.\n\nAll of this comes in handy during CI.\n\nAnd one more thing: No runtime dependencies!\n\n## Installation\nAvailable from [PyPI][pypi]:\n```shell\npip install cv\n```\n\n## Module Example\nWith a \\ present on PyPI and `.py` in current directory:\n```python\n__version__ = '7.7.7'\n\n...\n```\n\nSimply run:\n```shell\ncv \n```\n\nIf `7.7.7` version of \\ is on PyPI already you\u2019ll get a `VersionExists` error:\n```plain\n__main__.VersionExists: Package \"\" with version \"7.7.7\" already exists on PyPI.\nChange the \".__version__\" to fix this error.\n```\n\n## Package Example\nPackages work in the same way as modules except `__version__` is defined in `/__init__.py`\n\n\n## Help\n```plain\n$ cv --help\nusage: cv [-h] [-w WAREHOUSE] [--alpha] [--beta] [--rc] [--dev] [--release]\n [--dry]\n module\n\nCheck version of a Python package or module.\n\npositional arguments:\n module the package/module with \"__version__\" defined\n\noptional arguments:\n -h, --help show this help message and exit\n -w WAREHOUSE, --warehouse WAREHOUSE\n package index to use, default is\n \"https://pypi.org/pypi\"\n --alpha check that version is an alpha, e.g. 1.0.0a1\n --beta check that version is a beta, e.g. 1.0.0b2\n --rc check that version is a release candidate, e.g.\n 1.0.0rc\n --dev check that version is in development, e.g. 1.0.0.dev3\n --release check that version is a release without modifiers,\n e.g. 1.0.0\n --dry make no request to PyPI\n```\n\n[pypi]: https://pypi.org/project/cv/\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/mdrachuk/cv", "keywords": "python packaging version pypi ci", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cv", "package_url": "https://pypi.org/project/cv/", "platform": "", "project_url": "https://pypi.org/project/cv/", "project_urls": { "Homepage": "https://github.com/mdrachuk/cv", "Issues": "https://github.com/mdrachuk/cv/issues", "Pipelines": "https://dev.azure.com/misha-drachuk/cv", "Source": "https://github.com/mdrachuk/cv/" }, "release_url": "https://pypi.org/project/cv/1.0.0/", "requires_dist": null, "requires_python": ">=3.7", "summary": "Check version of a Python module", "version": "1.0.0" }, "last_serial": 5857560, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e0d6c45d3c83c1d310aa8d2cd540926e", "sha256": "27595b9f136040a745f4626c40075dadf332c0e99a6e9728f9a237be26b8c30b" }, "downloads": -1, "filename": "cv-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e0d6c45d3c83c1d310aa8d2cd540926e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 7309, "upload_time": "2019-09-19T16:32:26", "url": "https://files.pythonhosted.org/packages/97/96/a62c28bdfd73c6d2e3833c6cabc04a6a2f17e5a10c586ca7aa1cb9be2a93/cv-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79be1fee1ddd5eea3823b0bdbdde2dcb", "sha256": "71a358ea3ce4cd84bc3286354bd7e88040fb9e0fdfef1aee848523660f0f79bf" }, "downloads": -1, "filename": "cv-1.0.0.tar.gz", "has_sig": false, "md5_digest": "79be1fee1ddd5eea3823b0bdbdde2dcb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4404, "upload_time": "2019-09-19T16:32:28", "url": "https://files.pythonhosted.org/packages/68/0e/439bf70a0d11b426223a408ee2e5abd8706d9deec32850645c4154ff7de3/cv-1.0.0.tar.gz" } ], "1.0.0.dev1": [ { "comment_text": "", "digests": { "md5": "852c164d70efffdb0dec7a5959803dda", "sha256": "24488369c216cc7b6a359d21d4d5b01b26b9747e98e4c763e48ea15c6ac630cd" }, "downloads": -1, "filename": "cv-1.0.0.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "852c164d70efffdb0dec7a5959803dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 3448, "upload_time": "2019-08-20T19:12:49", "url": "https://files.pythonhosted.org/packages/d5/a8/f4158daf1433deecab73c047cfd7502f9848d1bcf11e479ce30d16649505/cv-1.0.0.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fb9a71efa874727aab45f1af56f3ee4", "sha256": "cfc6701865af214e2e952a34c41868cb0babc34aabff3419410050b249fe6691" }, "downloads": -1, "filename": "cv-1.0.0.dev1.tar.gz", "has_sig": false, "md5_digest": "3fb9a71efa874727aab45f1af56f3ee4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 2546, "upload_time": "2019-08-20T19:12:53", "url": "https://files.pythonhosted.org/packages/24/f3/0d891e25f7c6ec7bb3f678349889d9e97c0cf966d9588e23580ff52975ac/cv-1.0.0.dev1.tar.gz" } ], "1.0.0.dev10": [ { "comment_text": "", "digests": { "md5": "0aaf8d9fb61f342e7e90fa64afae82d8", "sha256": "9b7826fc4c5691dca23531003f247f6d5f0f9573aed8b92b64ff2be11b82f8f5" }, "downloads": -1, "filename": "cv-1.0.0.dev10-py3-none-any.whl", "has_sig": false, "md5_digest": "0aaf8d9fb61f342e7e90fa64afae82d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 7394, "upload_time": "2019-09-19T14:42:09", "url": "https://files.pythonhosted.org/packages/1f/31/597713ede6bd8e824f3edf265acb3c56e6dc356d8ba6db972c7df717394f/cv-1.0.0.dev10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58b1b23faee1d783682360216eb370d3", "sha256": "7018b38f3d3d8a41b47a5b5fc5f325a0875bdff98677306b06887b14a3bfe470" }, "downloads": -1, "filename": "cv-1.0.0.dev10.tar.gz", "has_sig": false, "md5_digest": "58b1b23faee1d783682360216eb370d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4377, "upload_time": "2019-09-19T14:42:10", "url": "https://files.pythonhosted.org/packages/c9/4f/981e1eea98a4920b6b7f1c82c1b7a9d295dccb4f7a21bf1c8e20107e34cd/cv-1.0.0.dev10.tar.gz" } ], "1.0.0.dev11": [ { "comment_text": "", "digests": { "md5": "f749d890bfca9169adbab87b6c8dc21b", "sha256": "da8bc3fc565f0b5f780c06729a261ff1e7ec6d532521a55fc5e70684dc65ae95" }, "downloads": -1, "filename": "cv-1.0.0.dev11-py3-none-any.whl", "has_sig": false, "md5_digest": "f749d890bfca9169adbab87b6c8dc21b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 7488, "upload_time": "2019-09-19T16:03:50", "url": "https://files.pythonhosted.org/packages/1b/51/2c28aa4f9912ea72ea2116a935cdfce2b9f82e24b03f241262a1c164aec4/cv-1.0.0.dev11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "491ac724420bce8baa5caf9c64d51338", "sha256": "5aa97caef4ed0b285719c5c078a76c83e276a1d70bfba66b4effeecb7f4ed0f7" }, "downloads": -1, "filename": "cv-1.0.0.dev11.tar.gz", "has_sig": false, "md5_digest": "491ac724420bce8baa5caf9c64d51338", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4504, "upload_time": "2019-09-19T16:03:52", "url": "https://files.pythonhosted.org/packages/1d/03/054521605efb1f5afeea28529c7702b854e44293f9d3a86207fcded8fb89/cv-1.0.0.dev11.tar.gz" } ], "1.0.0.dev2": [ { "comment_text": "", "digests": { "md5": "a001e356b99a08212ef0e67faec2e515", "sha256": "edd038793356dbaebffda5c74131bc976508550f6709c3da71f5bfb8bb02de5d" }, "downloads": -1, "filename": "cv-1.0.0.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "a001e356b99a08212ef0e67faec2e515", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 4475, "upload_time": "2019-08-20T19:22:01", "url": "https://files.pythonhosted.org/packages/a7/a1/e309e1fb1f31a8bfeaf705ba3dbc8a8e9a4c1765fecd7576c5021be08216/cv-1.0.0.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76f808a6a429392b338b2473ef40c495", "sha256": "6c4be2d1f074d36158ae3b8bf0a1157059e3e18361c29ea47eba1b03f58ffeff" }, "downloads": -1, "filename": "cv-1.0.0.dev2.tar.gz", "has_sig": false, "md5_digest": "76f808a6a429392b338b2473ef40c495", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 2629, "upload_time": "2019-08-20T19:22:05", "url": "https://files.pythonhosted.org/packages/de/42/26a9848063824d67f15714b476aaff16e5ae35e73ea6c6acad4fae0c03c3/cv-1.0.0.dev2.tar.gz" } ], "1.0.0.dev4": [ { "comment_text": "", "digests": { "md5": "00d667ba6442ad251fcc07a36d7c9670", "sha256": "4e2bfb64d4a17bb9a0509a0c6b0812df6296e787632cfc73df84bd4f5a9083de" }, "downloads": -1, "filename": "cv-1.0.0.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "00d667ba6442ad251fcc07a36d7c9670", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5336, "upload_time": "2019-08-21T14:35:20", "url": "https://files.pythonhosted.org/packages/f7/46/7feec60e00007adfefddc35db23abaa72c3683008be8d6326950aa3516d6/cv-1.0.0.dev4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fa43b2004014dedac7c8648751689c0", "sha256": "6fa72b2e7ecbfba56678850f84bd00cf379b0198569d78e2b0f0ffae806431a0" }, "downloads": -1, "filename": "cv-1.0.0.dev4.tar.gz", "has_sig": false, "md5_digest": "7fa43b2004014dedac7c8648751689c0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3229, "upload_time": "2019-08-21T14:35:22", "url": "https://files.pythonhosted.org/packages/e2/6f/11a0bf495575b9cbe5e05482b3d6405e3490cad2a1b661049771df252dc7/cv-1.0.0.dev4.tar.gz" } ], "1.0.0.dev5": [ { "comment_text": "", "digests": { "md5": "f96a6359a80a4660ba8f2ddc3610914c", "sha256": "6691c3b1be96a49452ac359a71db79c5d2c653909670cda2bd4f82adf4033c23" }, "downloads": -1, "filename": "cv-1.0.0.dev5-py3-none-any.whl", "has_sig": false, "md5_digest": "f96a6359a80a4660ba8f2ddc3610914c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5383, "upload_time": "2019-08-21T14:59:25", "url": "https://files.pythonhosted.org/packages/dd/bb/70bb701a973ce3d1002ed7e50833d39dfa0470812eaca570ae8b60c933fc/cv-1.0.0.dev5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8816f7dd9724dbce09946248c7e651b1", "sha256": "5ca830bc13c74beeb7026b255cc6d1869a77c3181dbd5b382cb3ba540d0150e6" }, "downloads": -1, "filename": "cv-1.0.0.dev5.tar.gz", "has_sig": false, "md5_digest": "8816f7dd9724dbce09946248c7e651b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3260, "upload_time": "2019-08-21T14:59:27", "url": "https://files.pythonhosted.org/packages/ed/0d/5c7cf33a99e63fb076e8990539cb501b28a2735ae9017de05cc218c931df/cv-1.0.0.dev5.tar.gz" } ], "1.0.0.dev6": [ { "comment_text": "", "digests": { "md5": "87e0c32076b456535997dc4e48ed9bb7", "sha256": "b05af2f71cce361fcc66080ddacdcf58587220a3863e7f6f862b15e7bb1329ca" }, "downloads": -1, "filename": "cv-1.0.0.dev6-py3-none-any.whl", "has_sig": false, "md5_digest": "87e0c32076b456535997dc4e48ed9bb7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5543, "upload_time": "2019-08-22T14:36:06", "url": "https://files.pythonhosted.org/packages/91/ea/8fdaf2b2437e99c64e5547daffa0aee1ef8031d18bcb3e01fb72514afd6e/cv-1.0.0.dev6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01925ff5a9f2f8e5ae9a3d5ee4fad609", "sha256": "7a8be67bcd325dba8564f82731f029c3c8f0a2992e711121c9bd8135e3270dc8" }, "downloads": -1, "filename": "cv-1.0.0.dev6.tar.gz", "has_sig": false, "md5_digest": "01925ff5a9f2f8e5ae9a3d5ee4fad609", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3357, "upload_time": "2019-08-22T14:36:08", "url": "https://files.pythonhosted.org/packages/64/9e/6cb7350ed6e6ede19a2c099925760e585801d2e58c48cfb5d03756c8ea63/cv-1.0.0.dev6.tar.gz" } ], "1.0.0.dev7": [ { "comment_text": "", "digests": { "md5": "f0d94acabe26549f3e55f01d5136dc9c", "sha256": "34dc0302e9905409fadbfd6f8485e15ae6e1d5ec7b86cb432352e5432a157a77" }, "downloads": -1, "filename": "cv-1.0.0.dev7-py3-none-any.whl", "has_sig": false, "md5_digest": "f0d94acabe26549f3e55f01d5136dc9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6245, "upload_time": "2019-08-23T11:52:31", "url": "https://files.pythonhosted.org/packages/df/bf/eae4dda634b32ccd0ae4b73dabd0e2b76ef34cf392899afdb278c45da7f0/cv-1.0.0.dev7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9021bdf01389cce66df37ee22842fc5e", "sha256": "6e8dab3f8c8edfac8521b5e084435a805869f0b01119af2b7182964fe5ec0a80" }, "downloads": -1, "filename": "cv-1.0.0.dev7.tar.gz", "has_sig": false, "md5_digest": "9021bdf01389cce66df37ee22842fc5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3724, "upload_time": "2019-08-23T11:52:33", "url": "https://files.pythonhosted.org/packages/c4/cf/5503fba469556fc35a7a3e0ea9b76be57987e2b2cbdec6825746e937e9e3/cv-1.0.0.dev7.tar.gz" } ], "1.0.0.dev8": [ { "comment_text": "", "digests": { "md5": "fea5876b6269e1ce53bc3c357dcf7bc8", "sha256": "8c8d7a0bad096ec9935c2df0cea77257fd59f9c28092f8371a5e4ecebcb80b29" }, "downloads": -1, "filename": "cv-1.0.0.dev8-py3-none-any.whl", "has_sig": false, "md5_digest": "fea5876b6269e1ce53bc3c357dcf7bc8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 6247, "upload_time": "2019-08-23T12:00:10", "url": "https://files.pythonhosted.org/packages/bd/f2/9ef851c381b14116e5ce1fae83aa3dd5a67ca9a370bda4ab72826bdcde13/cv-1.0.0.dev8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a8608d0797e527dbaf2490b8c3476ae", "sha256": "c4961c0c02014eed568935e35b37ad471512a0bceab5530b357f74fa19cff877" }, "downloads": -1, "filename": "cv-1.0.0.dev8.tar.gz", "has_sig": false, "md5_digest": "6a8608d0797e527dbaf2490b8c3476ae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3731, "upload_time": "2019-08-23T12:00:12", "url": "https://files.pythonhosted.org/packages/62/25/504e483b0b54960da99d41ef9c88263f47bed31b242c332b0169723ecc8c/cv-1.0.0.dev8.tar.gz" } ], "1.0.0.dev9": [ { "comment_text": "", "digests": { "md5": "5573b5a407916601f0f0f6fc087ba550", "sha256": "16161ef9c1dba7c4d2eb151cf8eebc07cafc0d63fe0694e64ade1b0969b2dc58" }, "downloads": -1, "filename": "cv-1.0.0.dev9-py3-none-any.whl", "has_sig": false, "md5_digest": "5573b5a407916601f0f0f6fc087ba550", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 5189, "upload_time": "2019-09-19T10:24:11", "url": "https://files.pythonhosted.org/packages/41/3c/ae3c6f6899c8cb6a07710c5ae4955ec963a29b64dab1e7852fee2cea0424/cv-1.0.0.dev9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bca9fd038d701cfd4f53dba928a68be", "sha256": "fb8aeb682943b4c77f5dfc9b2c88188b4d2fe773b0b3e2c34c4d9d2930fb1544" }, "downloads": -1, "filename": "cv-1.0.0.dev9.tar.gz", "has_sig": false, "md5_digest": "1bca9fd038d701cfd4f53dba928a68be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 3193, "upload_time": "2019-09-19T10:24:13", "url": "https://files.pythonhosted.org/packages/25/27/fdc6eb8e90f4a9114f472987bdae2620b4508e5858ac82980f8294e262b2/cv-1.0.0.dev9.tar.gz" } ], "1.0.0rc0": [ { "comment_text": "", "digests": { "md5": "53e598d0f0091089ee1d6b6880cbe7bd", "sha256": "cc26896108edb4346e1a3ea0d02693d05be1ad1b8bd233838acc4d548441ffb1" }, "downloads": -1, "filename": "cv-1.0.0rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "53e598d0f0091089ee1d6b6880cbe7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 7354, "upload_time": "2019-09-19T16:15:21", "url": "https://files.pythonhosted.org/packages/de/59/ed54e8382c940b027d1c5e6aa45c844c9c38ab98b063a21949fc7341f229/cv-1.0.0rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "294f1a7e8b81a7b018dcfc3c94775d5d", "sha256": "c02452bdaa96854eebb91e40c292925382126ff660a76d96fc7ea7fb99711860" }, "downloads": -1, "filename": "cv-1.0.0rc0.tar.gz", "has_sig": false, "md5_digest": "294f1a7e8b81a7b018dcfc3c94775d5d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4410, "upload_time": "2019-09-19T16:15:22", "url": "https://files.pythonhosted.org/packages/dc/5c/529e46b36700fa9934cc4f91793877e56b2ce3eb913a735b7f23db3df1b4/cv-1.0.0rc0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e0d6c45d3c83c1d310aa8d2cd540926e", "sha256": "27595b9f136040a745f4626c40075dadf332c0e99a6e9728f9a237be26b8c30b" }, "downloads": -1, "filename": "cv-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e0d6c45d3c83c1d310aa8d2cd540926e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 7309, "upload_time": "2019-09-19T16:32:26", "url": "https://files.pythonhosted.org/packages/97/96/a62c28bdfd73c6d2e3833c6cabc04a6a2f17e5a10c586ca7aa1cb9be2a93/cv-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79be1fee1ddd5eea3823b0bdbdde2dcb", "sha256": "71a358ea3ce4cd84bc3286354bd7e88040fb9e0fdfef1aee848523660f0f79bf" }, "downloads": -1, "filename": "cv-1.0.0.tar.gz", "has_sig": false, "md5_digest": "79be1fee1ddd5eea3823b0bdbdde2dcb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 4404, "upload_time": "2019-09-19T16:32:28", "url": "https://files.pythonhosted.org/packages/68/0e/439bf70a0d11b426223a408ee2e5abd8706d9deec32850645c4154ff7de3/cv-1.0.0.tar.gz" } ] }