Metadata-Version: 2.1
Name: SemVerIt
Version: 0.3.8
Summary: Manipulate semantic versioning strings
Home-page: UNKNOWN
Author: Hendrik du Toit
Author-email: hendrik@brightedge.co.za
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE

.. image:: https://img.shields.io/pypi/status/SemVerIt
    :alt: PyPI - Status

.. image:: https://img.shields.io/pypi/wheel/SemVerIt
    :alt: PyPI - Wheel

.. image:: https://img.shields.io/pypi/pyversions/SemVerIt
    :alt: PyPI - Python Version

.. image:: https://img.shields.io/github/v/release/hendrikdutoit/SemVerIt
    :alt: GitHub release (latest by date)

.. image:: https://img.shields.io/github/license/hendrikdutoit/SemVerIt
    :alt: License

.. image:: https://img.shields.io/github/issues-raw/hendrikdutoit/SemVerIt
    :alt: GitHub issues

.. image:: https://img.shields.io/pypi/dm/SemVerIt
    :alt: PyPI - Downloads

.. image:: https://img.shields.io/github/search/hendrikdutoit/SemVerIt/GitHub
    :alt: GitHub Searches

.. image:: https://img.shields.io/codecov/c/gh/hendrikdutoit/SemVerIt
    :alt: CodeCov
    :target: https://app.codecov.io/gh/hendrikdutoit/SemVerIt

.. image:: https://img.shields.io/github/workflow/status/hendrikdutoit/SemVerIt/Pre-Commit
    :alt: GitHub Actions - Pre-Commit
    :target: https://github.com/hendrikdutoit/SemVerIt/actions/workflows/pre-commit.yaml

.. image:: https://img.shields.io/github/workflow/status/hendrikdutoit/SemVerIt/CI
    :alt: GitHub Actions - CI
    :target: https://github.com/hendrikdutoit/SemVerIt/actions/workflows/ci.yaml

.. image:: https://img.shields.io/pypi/v/SemVerIt
    :alt: PyPi

Manipulate semantic versioning (SemVer)

    Manipulate semantic version strings: 1. Create a new version number, 1. initialize it with an existing number 1. Read it from an existing project setup.cfg file. 1. Validate the version string. 1. Compare one version number with another. See also https://semver.org/

=======
Testing
=======

This project uses ``pytest`` to run tests and also to test docstring examples.

Install the test dependencies.

.. code-block:: bash

    $ pip install -r requirements_test.txt

Run the tests.

.. code-block:: bash

    $ pytest tests
    === XXX passed in SSS seconds ===

==========
Developing
==========

This project uses ``black`` to format code and ``flake8`` for linting. We also support ``pre-commit`` to ensure these have been run. To configure your local environment please install these development dependencies and set up the commit hooks.

.. code-block:: bash

    $ pip install black flake8 pre-commit
    $ pre-commit install

=========
Releasing
=========

Releases are published automatically when a tag is pushed to GitHub.

.. code-block:: bash

    # Set next version number
    export RELEASE = x.x.x
    
    # Create tags
    git commit --allow -empty -m "Release $RELEASE"
    git tag -a $RELEASE -m "Version $RELEASE"
    
    # Push
    git push upstream --tags



