diff options
Diffstat (limited to 'circuitpython/tools/python-semver/README.rst')
-rw-r--r-- | circuitpython/tools/python-semver/README.rst | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/circuitpython/tools/python-semver/README.rst b/circuitpython/tools/python-semver/README.rst new file mode 100644 index 0000000..ecc95e1 --- /dev/null +++ b/circuitpython/tools/python-semver/README.rst @@ -0,0 +1,113 @@ +Semver |latest-version| +======================= + +|build-status| |python-support| |downloads| |license| + +A Python module for `semantic versioning`_. Simplifies comparing versions. + + +.. |latest-version| image:: https://img.shields.io/pypi/v/semver.svg + :alt: Latest version on PyPI + :target: https://pypi.python.org/pypi/semver +.. |build-status| image:: https://travis-ci.org/k-bx/python-semver.svg?branch=master + :alt: Build status + :target: https://travis-ci.org/k-bx/python-semver +.. |python-support| image:: https://img.shields.io/pypi/pyversions/semver.svg + :target: https://pypi.python.org/pypi/semver + :alt: Python versions +.. |downloads| image:: https://img.shields.io/pypi/dm/semver.svg + :alt: Monthly downloads from PyPI + :target: https://pypi.python.org/pypi/semver +.. |license| image:: https://img.shields.io/pypi/l/semver.svg + :alt: Software license + :target: https://github.com/k-bx/python-semver/blob/master/LICENSE.txt +.. _semantic versioning: http://semver.org/ + +Usage +----- + +This module provides just couple of functions, main of which are: + +.. code-block:: python + + >>> import semver + >>> semver.compare("1.0.0", "2.0.0") + -1 + >>> semver.compare("2.0.0", "1.0.0") + 1 + >>> semver.compare("2.0.0", "2.0.0") + 0 + >>> semver.match("2.0.0", ">=1.0.0") + True + >>> semver.match("1.0.0", ">1.0.0") + False + >>> semver.format_version(3, 4, 5, 'pre.2', 'build.4') + '3.4.5-pre.2+build.4' + >>> version_parts = semver.parse("3.4.5-pre.2+build.4") + >>> version_parts == { + ... 'major': 3, 'minor': 4, 'patch': 5, + ... 'prerelease': 'pre.2', 'build': 'build.4'} + True + >>> version_info = semver.parse_version_info("3.4.5-pre.2+build.4") + >>> version_info + VersionInfo(major=3, minor=4, patch=5, prerelease='pre.2', build='build.4') + >>> version_info.major + 3 + >>> version_info > (1, 0) + True + >>> version_info < (3, 5) + True + >>> semver.bump_major("3.4.5") + '4.0.0' + >>> semver.bump_minor("3.4.5") + '3.5.0' + >>> semver.bump_patch("3.4.5") + '3.4.6' + >>> semver.max_ver("1.0.0", "2.0.0") + '2.0.0' + >>> semver.min_ver("1.0.0", "2.0.0") + '1.0.0' + +Installation +------------ + +For Python 2: + +.. code-block:: bash + + pip install semver + +For Python 3: + +.. code-block:: bash + + pip3 install semver + +How to Contribute +----------------- + +When you make changes to the code please run the tests before pushing your +code to your fork and opening a `pull request`_: + +.. code-block:: bash + + python setup.py test + +We use `py.test`_ and `tox`_ to run tests against all supported Python +versions. All test dependencies are resolved automatically, apart from +virtualenv, which for the moment you still may have to install manually: + +.. code-block:: bash + + pip install "virtualenv<14.0.0" # <14.0.0 needed for Python 3.2 only + +You can use the ``clean`` command to remove build and test files and folders: + +.. code-block:: bash + + python setup.py clean + + +.. _pull request: https://github.com/k-bx/python-semver/pulls +.. _py.test: http://pytest.org/ +.. _tox: http://tox.testrun.org/ |