Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Proman Versioning

License Build Status codecov

Overview

Project Manager Versioning is a PEP-440 compliant tool for automating project versions using conventional commits.

Install

pip install proman-versioning

Setup

This tool is designed to work with any textfile using a templating pattern and path to the file.

Configuring versions

Configuration can be performed with either the .versioning or pyproject.toml files.

Global configuration settings:

Specific types of releases can be disabled by setting the respective release to false.

Disable development releases:

enable_devreleases = false

Disable pre-releases:

enable_prereleases = false

Disable post-releases:

enable_postreleases = false

File specific settings:

Use different version compatibiliy type:

compat = "semver"

Example .version configuration

The .versioning config is a non-specfile based project file using TOML. This is the preferred configuration for non-python projects that may use this tool.

version = "1.2.3"

[[versioning.files]]
filepath = "example/__init__.py"
pattern = "__version__ = '${version}'"

[[versioning.files]]
filepath = "chart/Chart.yaml"
patterns = [
  "version = \"${version}\"",
  "appVersion = \"${version}\""
]

Example pyproject.toml

[project]
name = "example"
version = "1.2.3"

[tool.proman.versioning]
compat = "semver"

[[tool.proman.versioning.files]]
filepath = "example/__init__.py"
pattern = "__version__ = '${version}'"

[[tool.proman.versioning.files]]
filepath = "chart/Chart.yaml"
patterns = [
  "version = \"${version}\"",
  "appVersion = \"${version}\""
]

Example setup.cfg

Setuptools allows setup.cfg to pull the version from the application. This should be used in tandem with either of the above configurations to control versions for a project.

[metadata]
name = example
version = attr: src.VERSION
...

References

Download files

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

Source Distribution

proman_versioning-0.7.1a1.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proman_versioning-0.7.1a1-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file proman_versioning-0.7.1a1.tar.gz.

File metadata

  • Download URL: proman_versioning-0.7.1a1.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.11.9

File hashes

Hashes for proman_versioning-0.7.1a1.tar.gz
Algorithm Hash digest
SHA256 4117643d835d16349e6ce7e24449bfa653452552e8497d6f4b12c76f01db8c04
MD5 27b56d6a595a11569f3bf65cd54b05ce
BLAKE2b-256 2017a07bbea48c052a1c8f7baf3c05beefe3a9f1c1df89ad46c9078f7712997b

See more details on using hashes here.

File details

Details for the file proman_versioning-0.7.1a1-py3-none-any.whl.

File metadata

File hashes

Hashes for proman_versioning-0.7.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 ace216f3c69163c201fd1a4a954ada8aed4cdc4231509b3b2c44097eb1dea645
MD5 2333014ac3b6456ec30974c302cd66f8
BLAKE2b-256 f8b10239fef8c498103b6ef2d899cf86d451333400dcaccece3992e1a270d860

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.1a1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page