proman-versioning


Nameproman-versioning JSON
Version 0.6.3a0 PyPI version JSON
download
home_pageNone
SummaryProject Management Versioning Tool.
upload_time2024-05-24 00:49:46
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"
```

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

- 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/4c/9d/dd05e3f4a521669aee8b050cc1b8db225da507a5369642b3d70c946615da/proman_versioning-0.6.3a0.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\n path 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\nUpdate only the release version for a configuration:\n```\nrelease_only = true\n```\n\n#### Example `.versioning`\n\nThe `.versioning` config is a non-specfile based project file using TOML. This is the\npreferred configuration for non-python projects that may use this tool.\n\n```\n[proman]\nversion = \"1.2.3\"\n\n[proman.versioning]\ndisable_devreleases = true\n\n[[proman.versioning.files]]\nfilepath = \"pyproject.toml\"\npattern = \"version = \\\"${version}\\\"\"\n\n[[proman.versioning.files]]\nfilepath = \"example/__init__.py\"\npattern = \"__version__ = '${version}'\"\n\n[[tool.proman.versioning.files]]\nfilepath = \"chart/Chart.yaml\"\ncompat = \"semver\"\npatterns = [\n  \"version = \\\"${version}\\\"\",\n  \"appVersion = \\\"${version}\\\"\"\n]\n```\n\n#### Example `pyproject.toml`\n\n```\n[tool.proman]\nversion = \"1.2.3\"\n\n[tool.proman.versioning]\n\n[[tool.proman.versioning.files]]\nfilepath = \"pyproject.toml\"\npattern = \"version = \\\"${version}\\\"\"\n\n[[tool.proman.versioning.files]]\nfilepath = \"example/__init__.py\"\npattern = \"__version__ = '${version}'\"\n\n[[tool.proman.versioning.files]]\nfilepath = \"chart/Chart.yaml\"\ncompat = \"semver\"\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.6.3a0",
    "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": "f677d0378437307c2bbe396c11cbc8c93283912105202d072ef00744745b4127",
                "md5": "c660bec9250436a6bcd1009dc13f4c77",
                "sha256": "04076937462d08bf9c0b82bac678895736afb0db75abc0afc2e45b77bf5c5f4a"
            },
            "downloads": -1,
            "filename": "proman_versioning-0.6.3a0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c660bec9250436a6bcd1009dc13f4c77",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.2",
            "size": 21965,
            "upload_time": "2024-05-24T00:49:45",
            "upload_time_iso_8601": "2024-05-24T00:49:45.378447Z",
            "url": "https://files.pythonhosted.org/packages/f6/77/d0378437307c2bbe396c11cbc8c93283912105202d072ef00744745b4127/proman_versioning-0.6.3a0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c9ddd05e3f4a521669aee8b050cc1b8db225da507a5369642b3d70c946615da",
                "md5": "cecfad250e6381f8a9322796e9b242fb",
                "sha256": "1edebe8984ac303ed458a23f3a7898c5037330061b08957f3c6b5073ef9b66d6"
            },
            "downloads": -1,
            "filename": "proman_versioning-0.6.3a0.tar.gz",
            "has_sig": false,
            "md5_digest": "cecfad250e6381f8a9322796e9b242fb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.2",
            "size": 19611,
            "upload_time": "2024-05-24T00:49:46",
            "upload_time_iso_8601": "2024-05-24T00:49:46.805108Z",
            "url": "https://files.pythonhosted.org/packages/4c/9d/dd05e3f4a521669aee8b050cc1b8db225da507a5369642b3d70c946615da/proman_versioning-0.6.3a0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-24 00:49:46",
    "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.25894s