Skip to main content

Project Management Versioning Tool.

Project description

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

Project details


Release history Release notifications | RSS feed

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

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.

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