Skip to main content

Library for bumping project version like a pro

Project description

dephell_versioning

travis appveyor MIT License

Library for bumping project version.

Available schemes:

  • calver

  • comver

  • pep

  • roman

  • romver

  • semver

  • serial

  • zerover

Available rules (and aliases):

  • init – initialize versioning

  • Main parts:

    • major (breaking)

    • minor (feature)

    • patch (fix, micro)

  • Additional parts:

    • dev

    • local

    • post

  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dephell_versioning-0.1.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

dephell_versioning-0.1.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file dephell_versioning-0.1.1.tar.gz.

File metadata

  • Download URL: dephell_versioning-0.1.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for dephell_versioning-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c438a39662fdf88b00196b56ece4e542db8fa9b16ee5c164a834451240026848
MD5 8e4eaa94c1cefdadd332cc3f0eedde0f
BLAKE2b-256 d58771be36572487671ddf8a38920a08371c24e2cae64771d33b9bdcfcff8e33

See more details on using hashes here.

File details

Details for the file dephell_versioning-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dephell_versioning-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7

File hashes

Hashes for dephell_versioning-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd22263a273abcf792304093447400f230e69d930ba3a800191173c4b3b3ecd3
MD5 b1d33eebc2a15e2bb820ce8e2a8f286a
BLAKE2b-256 ecd3bb53406efcb32984ad9f088cc8c825ce1d19a3587d9488a21cf2cd8095fa

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