Skip to main content

Making versioning easy

Project description

``whatsmyversion``
--------------
Single module python package to make versioning simple. You add a couple of
configuration parameters to your top-most python module and ``whatsmyversion`` will
determine the version string based on your git history.

Using ``whatsmyversion``
~~~~~~~~~~~~~~~~~~~~

Add the following to the top level of your package (package_name/__init__.py
or single_module_package.py) ::

import whatsmyversion
__version__ = whatsmyversion.version(__file__)
del whatsmyversion

Add the following to your setup.py ::

import package_name

setup = (
version = package_name.__version__
...
)

Aaaaand that's it! ::

python -c "import package_name; print(package_name.__version__)"

For example, look at the ``setup.py`` and ``whatsmyversion.py`` of this project for
guidance in setting up your own project! ::

$ python -c "import whatsmyversion; print(whatsmyversion.__version__)"
v0.0.2.post6+g32c6562

Configuring ``whatsmyversion``
~~~~~~~~~~~~~~~~~~~~~~~~~~
There are a few configuration options that you can provide to the `version`
function. These are:

``version_prefix`` which is defaults to ``v``

``version_suffix`` which is one of ``a``, ``b``, ``rc``, ``.post``, ``.dev``
and defaults to ``.post``

``use_local_version_id`` which is a boolean flag to include (True) or not
(False) the git hash and defaults to ``True`` because information is power

These three configuration options combine to produce a PEP440 compliant
version string. `PEP440 <https://www.python.org/dev/peps/pep-0440/>`_

Use cases
~~~~~~~~~

Working:

* Determine the version of a git repository

* Installed with ``setup.py develop``

* Installed with ``setup.py install``

Not yet working:

- Determine the version of source code downloaded from github

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

whatsmyversion-0.0.4.post11.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file whatsmyversion-0.0.4.post11.tar.gz.

File metadata

File hashes

Hashes for whatsmyversion-0.0.4.post11.tar.gz
Algorithm Hash digest
SHA256 8c1411aec0fff2a10ea910ff8f567ab8c0e023014c0513216a6b02bd1686b7c7
MD5 9aef5bdb6344c32833613c52bb715fcd
BLAKE2b-256 d3800ae3ceb3a424d2b0e6b82b2f481cbf818d60c0de1de4f5e06662164951ce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page