Socket
Socket
Sign inDemoInstall

proman-versioning

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    proman-versioning

Project Management Versioning Tool.


Maintainers
1

Readme

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"

Update only the release version for a configuration:

release_only = true
Example .versioning

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.

[proman]
version = "1.2.3"

[proman.versioning]
disable_devreleases = true

[[proman.versioning.files]]
filepath = "pyproject.toml"
pattern = "version = \"${version}\""

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

[[tool.proman.versioning.files]]
filepath = "chart/Chart.yaml"
compat = "semver"
patterns = [
  "version = \"${version}\"",
  "appVersion = \"${version}\""
]
Example pyproject.toml
[tool.proman]
version = "1.2.3"

[tool.proman.versioning]

[[tool.proman.versioning.files]]
filepath = "pyproject.toml"
pattern = "version = \"${version}\""

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

[[tool.proman.versioning.files]]
filepath = "chart/Chart.yaml"
compat = "semver"
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

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc