proman-versioning


Nameproman-versioning JSON
Version 0.7.1a1 PyPI version JSON
download
home_pageNone
SummaryProject Management Versioning Tool.
upload_time2024-08-13 01:08:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6.2
licenseLGPL-3.0
keywords versioning semver calver pep440 configuration management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Proman Versioning

[![License](https://img.shields.io/badge/License-LGPL%203.0-blue.svg)](https://spdx.org/licenses/LGPL-3.0)
![Build Status](https://github.com/python-proman/proman-versioning/actions/workflows/ci.yml/badge.svg)
[![codecov](https://codecov.io/gh/kuwv/proman-versioning/branch/master/graph/badge.svg)](https://codecov.io/gh/kuwv/proman-versioning)

## 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.

<!--
Default versioning compatibility for `.version` files is semantic versioning
(`semver`).
-->
```
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`

<!--
Default versioning compatibility for `pyproject.toml` is PEP440 (`pep440`).
-->
```
[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

- https://www.conventionalcommits.org/en/v1.0.0/
- https://www.python.org/dev/peps/pep-0440/
- https://semver.org
- https://calver.org

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "proman-versioning",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6.2",
    "maintainer_email": "\"Jesse P. Johnson\" <jpj6652@gmail.com>",
    "keywords": "versioning, semver, calver, pep440, configuration management",
    "author": null,
    "author_email": "\"Jesse P. Johnson\" <jpj6652@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/20/17/a07bbea48c052a1c8f7baf3c05beefe3a9f1c1df89ad46c9078f7712997b/proman_versioning-0.7.1a1.tar.gz",
    "platform": null,
    "description": "# Proman Versioning\n\n[![License](https://img.shields.io/badge/License-LGPL%203.0-blue.svg)](https://spdx.org/licenses/LGPL-3.0)\n![Build Status](https://github.com/python-proman/proman-versioning/actions/workflows/ci.yml/badge.svg)\n[![codecov](https://codecov.io/gh/kuwv/proman-versioning/branch/master/graph/badge.svg)](https://codecov.io/gh/kuwv/proman-versioning)\n\n## Overview\n\nProject Manager Versioning is a PEP-440 compliant tool for automating project\nversions using conventional commits.\n\n## Install\n\n`pip install proman-versioning`\n\n## Setup\n\nThis tool is designed to work with any textfile using a templating pattern and\npath to the file.\n\n### Configuring versions\n\nConfiguration can be performed with either the `.versioning` or `pyproject.toml`\nfiles.\n\n#### Global configuration settings:\n\nSpecific types of releases can be disabled by setting the respective release to\nfalse.\n\nDisable development releases:\n```\nenable_devreleases = false\n```\n\nDisable pre-releases:\n```\nenable_prereleases = false\n```\n\nDisable post-releases:\n```\nenable_postreleases = false\n```\n\n#### File specific settings:\n\nUse different version compatibiliy type:\n```\ncompat = \"semver\"\n```\n\n#### Example `.version` configuration\n\nThe `.versioning` config is a non-specfile based project file using TOML. This\nis the preferred configuration for non-python projects that may use this tool.\n\n<!--\nDefault versioning compatibility for `.version` files is semantic versioning\n(`semver`).\n-->\n```\nversion = \"1.2.3\"\n\n[[versioning.files]]\nfilepath = \"example/__init__.py\"\npattern = \"__version__ = '${version}'\"\n\n[[versioning.files]]\nfilepath = \"chart/Chart.yaml\"\npatterns = [\n  \"version = \\\"${version}\\\"\",\n  \"appVersion = \\\"${version}\\\"\"\n]\n```\n\n#### Example `pyproject.toml`\n\n<!--\nDefault versioning compatibility for `pyproject.toml` is PEP440 (`pep440`).\n-->\n```\n[project]\nname = \"example\"\nversion = \"1.2.3\"\n\n[tool.proman.versioning]\ncompat = \"semver\"\n\n[[tool.proman.versioning.files]]\nfilepath = \"example/__init__.py\"\npattern = \"__version__ = '${version}'\"\n\n[[tool.proman.versioning.files]]\nfilepath = \"chart/Chart.yaml\"\npatterns = [\n  \"version = \\\"${version}\\\"\",\n  \"appVersion = \\\"${version}\\\"\"\n]\n```\n\n#### Example `setup.cfg`\n\nSetuptools allows `setup.cfg` to pull the version from the application. This\nshould be used in tandem with either of the above configurations to control\nversions for a project.\n\n```\n[metadata]\nname = example\nversion = attr: src.VERSION\n...\n```\n\n## References\n\n- https://www.conventionalcommits.org/en/v1.0.0/\n- https://www.python.org/dev/peps/pep-0440/\n- https://semver.org\n- https://calver.org\n",
    "bugtrack_url": null,
    "license": "LGPL-3.0",
    "summary": "Project Management Versioning Tool.",
    "version": "0.7.1a1",
    "project_urls": {
        "homepage": "https://github.com/python-proman/proman-versioning",
        "repository": "https://github.com/python-proman/proman-versioning"
    },
    "split_keywords": [
        "versioning",
        " semver",
        " calver",
        " pep440",
        " configuration management"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8b10239fef8c498103b6ef2d899cf86d451333400dcaccece3992e1a270d860",
                "md5": "2333014ac3b6456ec30974c302cd66f8",
                "sha256": "ace216f3c69163c201fd1a4a954ada8aed4cdc4231509b3b2c44097eb1dea645"
            },
            "downloads": -1,
            "filename": "proman_versioning-0.7.1a1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2333014ac3b6456ec30974c302cd66f8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.2",
            "size": 22152,
            "upload_time": "2024-08-13T01:08:09",
            "upload_time_iso_8601": "2024-08-13T01:08:09.995501Z",
            "url": "https://files.pythonhosted.org/packages/f8/b1/0239fef8c498103b6ef2d899cf86d451333400dcaccece3992e1a270d860/proman_versioning-0.7.1a1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2017a07bbea48c052a1c8f7baf3c05beefe3a9f1c1df89ad46c9078f7712997b",
                "md5": "27b56d6a595a11569f3bf65cd54b05ce",
                "sha256": "4117643d835d16349e6ce7e24449bfa653452552e8497d6f4b12c76f01db8c04"
            },
            "downloads": -1,
            "filename": "proman_versioning-0.7.1a1.tar.gz",
            "has_sig": false,
            "md5_digest": "27b56d6a595a11569f3bf65cd54b05ce",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.2",
            "size": 19772,
            "upload_time": "2024-08-13T01:08:11",
            "upload_time_iso_8601": "2024-08-13T01:08:11.653504Z",
            "url": "https://files.pythonhosted.org/packages/20/17/a07bbea48c052a1c8f7baf3c05beefe3a9f1c1df89ad46c9078f7712997b/proman_versioning-0.7.1a1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-13 01:08:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "python-proman",
    "github_project": "proman-versioning",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "proman-versioning"
}
        
Elapsed time: 0.34750s