Skip to main content

Setuptools extension for CalVer package versions

Project description

CalVer

The calver package is a setuptools extension for automatically defining your Python package version as a calendar version.

Usage

First, ensure calver is present during the project's build step by specifying it as one of the build requirements:

pyproject.toml:

[build-system]
requires = ["setuptools>=42", "wheel", "calver"]

To enable generating the version automatically based on the date, add the following to setup.py:

setup.py:

from setuptools import setup

setup(
    ...
    use_calver=True,
    setup_requires=['calver'],
    ...
)

You can test that it is working with:

$ python setup.py --version
2020.6.16

Configuration

By default, when setting use_calver=True, it uses the following to generate the version string:

>>> import datetime
>>> datetime.datetime.now().strftime("%Y.%m.%d")
2020.6.16

You can override the format string by passing it instead of True:

setup.py:

from setuptools import setup

setup(
    ...
    use_calver="%Y.%m.%d.%H.%M",
    setup_requires=['calver'],
    ...
)

You can override this entirely by passing a callable instead, which will be called with no arguments at build time:

setup.py:

import datetime
from setuptools import setup

def long_now_version():
    now = datetime.datetime.now()
    return now.strftime("%Y").zfill(5) + "." + now.strftime("%m.%d")

setup(
    ...
    use_calver=long_now_version,
    setup_requires=['calver'],
    ...
)

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

calver-2021.7.30.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

calver-2021.7.30-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file calver-2021.7.30.tar.gz.

File metadata

  • Download URL: calver-2021.7.30.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for calver-2021.7.30.tar.gz
Algorithm Hash digest
SHA256 96e87452ccc8e169b95bdda643818aa0b46f1d469785452cb37cd0292f1b0b72
MD5 5602df91f3e63cd227f02470ce03ba61
BLAKE2b-256 ce1460551287487e2e4afe2a890049ba3d5785cd17af73eda6458b7e547eeef5

See more details on using hashes here.

File details

Details for the file calver-2021.7.30-py3-none-any.whl.

File metadata

  • Download URL: calver-2021.7.30-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for calver-2021.7.30-py3-none-any.whl
Algorithm Hash digest
SHA256 da4bb7817d6205a8e3196d8c848f352d85990bbd33482e8e70f8104fcce1fe46
MD5 465da436209215ce777ab2473cc1ef59
BLAKE2b-256 0a5ef2c317e0a4ca42d6fca625b535d586477e625fd13c2512de7a08e91cc4be

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