{ "info": { "author": "Philippe Muller", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [], "description": "versions: Python software packaging library\n===========================================\n\n.. image:: https://badge.fury.io/py/versions.png\n :target: http://badge.fury.io/py/versions\n\n.. image:: https://secure.travis-ci.org/pmuller/versions.png?branch=master\n :target: https://travis-ci.org/pmuller/versions\n\nDocumentation: `versions.rtfd.org `_\n\nBasic usage\n-----------\n\nVersion comparisons example:\n\n.. code-block:: pycon\n\n >>> from versions import Version\n >>> v1 = Version.parse('1')\n >>> v2 = Version.parse('2')\n >>> v1 == v2\n False\n >>> v1 != v2\n True\n >>> v1 > v2\n False\n >>> v1 < v2\n True\n >>> v1 >= v2\n False\n >>> v1 <= v2\n True\n\n``Version.parse`` expects a\n`Semantic Version 2.0 `_ string and \nreturns a corresponding ``Version`` object:\n\n.. code-block:: pycon\n\n >>> from versions import Version\n >>> v = Version.parse('1.2.0-dev+foo.bar')\n >>> v.major, v.minor, v.patch, v.prerelease, v.build_metadata\n (1, 2, 0, 'dev', 'foo.bar')\n\nIf it isn't a semantic version string, the parser tries to normalize it:\n\n.. code-block:: pycon\n\n >>> v = Version.parse('1')\n >>> v.major, v.minor, v.patch, v.prerelease, v.build_metadata\n (1, 0, 0, None, None)\n\n\nVersion constraint matching\n---------------------------\n\nversions also implements version constraint parsing and evaluation:\n\n.. code-block:: pycon\n\n >>> from versions import Constraint\n >>> Constraint.parse('>1').match('2')\n True\n >>> Constraint.parse('<2').match(Version.parse('1'))\n True\n\nFor conveniance, constraint matching can be tested using the ``in`` operator:\n\n.. code-block:: pycon\n\n >>> '1.5' in Constraint.parse('<2')\n True\n >>> Version(2) in Constraint.parse('!=2')\n False\n\nConstraints can be merged using ``Constraints``:\n\n.. code-block:: pycon\n\n >>> from versions import Constraints\n >>> '1.0' in Constraints.parse('>1,<2')\n False\n >>> '1.5' in Constraints.parse('>1,<2')\n True\n >>> '2.0' in Constraints.parse('>1,<2')\n False\n\n\n.. image:: https://d2weczhvl823v0.cloudfront.net/pmuller/versions/trend.png\n :alt: Bitdeli badge\n :target: https://bitdeli.com/free", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/pmuller/versions", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "versions", "package_url": "https://pypi.org/project/versions/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/versions/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/pmuller/versions" }, "release_url": "https://pypi.org/project/versions/0.10.0/", "requires_dist": null, "requires_python": null, "summary": "Package version handling library", "version": "0.10.0" }, "last_serial": 1089528, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7a6282da4a49599bab911086a4b1406a", "sha256": "597aa1d7c34d832b22019f110d82e0db8585071ec759f94ed1210624c64abc4b" }, "downloads": -1, "filename": "versions-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7a6282da4a49599bab911086a4b1406a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9918, "upload_time": "2013-12-09T01:53:15", "url": "https://files.pythonhosted.org/packages/b2/3c/f9eda73098c6816f0cd57d38818a37c9f6c73d285227d08c66229aef6c72/versions-0.1.0.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "b4ac67411cfa700f5499db922ece2929", "sha256": "cbeb39bc303a975e6b22e1bc36d93427ced2c745bf633b7ebb99769348f1a17f" }, "downloads": -1, "filename": "versions-0.10.0.tar.gz", "has_sig": false, "md5_digest": "b4ac67411cfa700f5499db922ece2929", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13889, "upload_time": "2014-05-12T14:10:43", "url": "https://files.pythonhosted.org/packages/c4/e5/16cda13ca5d34a68d8216bfcc263affaa05ac54afb07fc8c10524d2a0ad5/versions-0.10.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "73484352e7a8f4338a0f34a346ea3b14", "sha256": "2d1a41d29ac5f8e972110aaee87e41751160b9c1690f68a427ccb145d6770d0f" }, "downloads": -1, "filename": "versions-0.2.0.tar.gz", "has_sig": false, "md5_digest": "73484352e7a8f4338a0f34a346ea3b14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9280, "upload_time": "2013-12-09T21:25:41", "url": "https://files.pythonhosted.org/packages/57/17/c1d1850edc4d12133fa52c1626e7fc50e91a23c68731019e59cc77263c6f/versions-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6a37e7d08d01a252990461f75be8beb7", "sha256": "78d5e2dc97ac1b1bac1032e5e30242d1fdf78a240a9139afa7aa76db1183d3e4" }, "downloads": -1, "filename": "versions-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6a37e7d08d01a252990461f75be8beb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11098, "upload_time": "2013-12-10T00:43:13", "url": "https://files.pythonhosted.org/packages/5b/7e/209b31b1bfda09d78a426379c87b93547213249f089ac266b59622c3baa6/versions-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "be00b91407e879007db520bc6d8b7e4e", "sha256": "a9a9aeea77d0dc2df5a5c72afb938bd08c98865e3041efb476d59807c696867e" }, "downloads": -1, "filename": "versions-0.4.0.tar.gz", "has_sig": false, "md5_digest": "be00b91407e879007db520bc6d8b7e4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11876, "upload_time": "2013-12-13T00:27:47", "url": "https://files.pythonhosted.org/packages/d0/80/e155e49503053ffc05afd18a90e9fbdcc8964a00c5079d3a95e08156f76e/versions-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "1766d90f6fa03cd90aafaf14f929eccb", "sha256": "68978146aa5769499c760a1451c0d474f7b1314bec32dd75cc01ee747ee6e791" }, "downloads": -1, "filename": "versions-0.5.0.tar.gz", "has_sig": false, "md5_digest": "1766d90f6fa03cd90aafaf14f929eccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11693, "upload_time": "2013-12-13T00:43:29", "url": "https://files.pythonhosted.org/packages/9d/4d/064d19a78fb4e1f7e3d372b18fe1509b1eadae96a9249443dbdd7c4ab142/versions-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "968d05b39f8deb6aabad149240b76b7f", "sha256": "52a1ed1bc04ec6c21911a51492830c7eb08fe0b3ba0a2b03b4a0d2ab2f6f81cb" }, "downloads": -1, "filename": "versions-0.6.0.tar.gz", "has_sig": false, "md5_digest": "968d05b39f8deb6aabad149240b76b7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11465, "upload_time": "2013-12-14T18:06:49", "url": "https://files.pythonhosted.org/packages/02/ec/96b3c427d2440bc9a4af7fb0d83eb0e3b29c30cee5c204c517efd0cd8c22/versions-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "16556761804eb760da4520c3d4dc6137", "sha256": "4031b66e908cbd746de7ee57f82b1bbe1bc9912b59774e65e934fcdd218cbf81" }, "downloads": -1, "filename": "versions-0.7.0.tar.gz", "has_sig": false, "md5_digest": "16556761804eb760da4520c3d4dc6137", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15686, "upload_time": "2013-12-15T18:41:39", "url": "https://files.pythonhosted.org/packages/58/39/e7f00beced6c4c35f27fddef10c9bb0acca2d3c7bbebb7d50dd777c69a71/versions-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "f6d68e894184cb0537574fab85e03b7c", "sha256": "50d365412a604dcef5fc138e9a449c6dd5b5982ec4864fb1a0734070d8da50c4" }, "downloads": -1, "filename": "versions-0.8.0.tar.gz", "has_sig": false, "md5_digest": "f6d68e894184cb0537574fab85e03b7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13341, "upload_time": "2014-04-09T10:17:27", "url": "https://files.pythonhosted.org/packages/76/2b/0c3ad1d1100e2424354825be76195455066ede7a50dc1736831d99ae0de9/versions-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "9d5bb4c692cce418a1e1db9ec3cc6171", "sha256": "ecec980c5e15fe06171842bb893a340890cf30e9807ac9f2c47542acb9fde637" }, "downloads": -1, "filename": "versions-0.9.0.tar.gz", "has_sig": false, "md5_digest": "9d5bb4c692cce418a1e1db9ec3cc6171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13742, "upload_time": "2014-05-12T13:39:27", "url": "https://files.pythonhosted.org/packages/4a/bb/e8d48983b5173d1b2b8561a0420907d7077d109967109e87f0c49ef2d05b/versions-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b4ac67411cfa700f5499db922ece2929", "sha256": "cbeb39bc303a975e6b22e1bc36d93427ced2c745bf633b7ebb99769348f1a17f" }, "downloads": -1, "filename": "versions-0.10.0.tar.gz", "has_sig": false, "md5_digest": "b4ac67411cfa700f5499db922ece2929", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13889, "upload_time": "2014-05-12T14:10:43", "url": "https://files.pythonhosted.org/packages/c4/e5/16cda13ca5d34a68d8216bfcc263affaa05ac54afb07fc8c10524d2a0ad5/versions-0.10.0.tar.gz" } ] }