Library for bumping project version like a pro
Project description
dephell_versioning
Library for bumping project version.
Available schemes:
calvercomverpepromanromversemverserialzerover
Available rules (and aliases):
init-- initialize versioning- Main parts:
major(breaking)minor(feature)patch(fix,micro)
- Additional parts:
devlocalpost
- Pre-release management:
pre(rc,alpha,beta)premajor(prebreaking)preminor(prefeature)prepatch(prefix,premicro)release
Read more about schemes and rules in the documentation for dephell project bump.
Installation
install from PyPI:
python3 -m pip install --user dephell_versioning
Usage
Get available schemes, rules, and aliases:
from dephell_versioning import get_aliases, get_rules, get_schemes
get_schemes()
# frozenset({'roman', 'pep', ..., 'comver'})
get_rules()
# frozenset({'local', 'minor', ..., 'dev', 'preminor'})
get_aliases()
# frozenset({'alpha', 'rc', ..., 'micro', 'breaking'})
# get rules for some scheme:
get_rules(scheme='calver')
# frozenset({'major', 'patch', 'init'})
# get aliases for specific rules:
get_aliases(rules={'major', 'minor'})
# frozenset({'feature', 'breaking'})
Bump version:
from dephell_versioning import bump_version
bump_version(version='1.2.3', rule='minor', scheme='semver')
# '1.3.0'
# pass aliase instead of rule:
bump_version(version='1.2.3', rule='feature', scheme='semver')
# '1.3.0'
# start rule from `+` to attach local version number:
bump_version(version='1.2.3', rule='+456', scheme='semver')
# '1.2.3+456'
# for `init` version is optional
bump_version(version='', rule='init', scheme='semver')
# '0.1.0'
Bump version in a python file:
from dephell_versioning import bump_file
from pathlib import Path
# returns `True` if version was bumped
bump_file(path=Path('dephell_versioning', '__init__.py'), old='0.1.0', new='0.1.1')
# True
# old version is optional: any version will be bumped if old isn't found
bump_file(path=Path('dephell_versioning', '__init__.py'), old='', new='0.1.2')
# True
Use dephell_discover to find out the current version in a python project:
from dephell_discover import Root
from pathlib import Path
root = Root(path=Path(), name='dephell_discover')
# root.metainfo can be None if project isn't found in the given directory
if root.metainfo:
print(root.metainfo.version)
# '0.1.2'
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dephell_versioning-0.1.2.tar.gz.
File metadata
- Download URL: dephell_versioning-0.1.2.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: DepHell/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ba7636704af7bd64af5a64ab8efb482c8b0bf4868699722f5e2647763edf8e5
|
|
| MD5 |
73d736e689f4d8b483e9b4dd3a6c402b
|
|
| BLAKE2b-256 |
70a2a84d89721fc35a05ae08388161f79eecfb1c6fab333f5a42eb4924968c47
|
File details
Details for the file dephell_versioning-0.1.2-py3-none-any.whl.
File metadata
- Download URL: dephell_versioning-0.1.2-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: DepHell/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28f611bd3ec1644e3d6972f901b9aa67a1fe2ed3fe57566f82afd9c43f5a335a
|
|
| MD5 |
e30356c35061c98edf3b57b74dbfbf4a
|
|
| BLAKE2b-256 |
2999b45086363aee4a4136d277807c795394e66d63e1891d2164490fe745cb3a
|