Version
Auto-generated documentation for newversion.version module.
Extended packaging.version.Version
implementation.
- newversion / Modules / Newversion / Version
- Version
- Version().base
- Version().base
- Version().bump_major
- Version().bump_micro
- Version().bump_minor
- Version().bump_postrelease
- Version().bump_prerelease
- Version().bump_release
- Version().copy
- Version().dumps
- Version().get_major
- Version().get_stable
- Version().is_stable
- Version().prerelease_type
- Version().replace
- Version.zero
- VersionError
- Version
Version
class Version(packaging.version.Version):
def __init__(version: str) -> None:
Extended packaging.version.Version
implementation.
Version().base
@property
def base() -> BaseVersion:
Underlying version NamedTuple.
Version().base
@base.setter
def base(base: BaseVersion) -> None:
Version().bump_major
def bump_major(inc: int = 1) -> _R:
Get next major version.
Arguments
inc
- Increment for major version.
Examples
Version("1.2.3").bump_major() # "2.0.0"
Version("1.2.3.dev14").bump_major() # "2.0.0"
Version("1.2.3a5").bump_major() # "2.0.0"
Version("1.2.3rc3").bump_major(2) # "3.0.0"
Version("1.2.3rc3").bump_major(0) # "1.0.0"
Returns
A new copy.
Version().bump_micro
def bump_micro(inc: int = 1) -> _R:
Get next micro version.
Arguments
inc
- Increment for micro version.
Examples
Version("1.2.3").bump_micro() # "1.2.4"
Version("1.2.3.dev14").bump_micro() # "1.2.4"
Version("1.2.3a5").bump_micro() # "1.2.4"
Version("1.2.3rc3").bump_micro(2) # "1.2.5"
Version("1.2.3rc3").bump_micro(0) # "1.2.3"
Returns
A new copy.
Version().bump_minor
def bump_minor(inc: int = 1) -> _R:
Get next minor version.
Arguments
inc
- Increment for minor version.
Examples
Version("1.2.3").bump_minor() # "1.3.0"
Version("1.2.3.dev14").bump_minor() # "1.3.0"
Version("1.2.3a5").bump_minor() # "1.3.0"
Version("1.2.3rc3").bump_minor(2) # "1.4.0"
Version("1.2.3rc3").bump_minor(0) # "1.2.0"
Returns
A new copy.
Version().bump_postrelease
def bump_postrelease(inc: int = 1) -> _R:
Get next postrelease version.
Arguments
inc
- Increment for micro version.
Examples
Version("1.2.3").bump_postrelease() # "1.2.3.post1"
Version("1.2.3.post3").bump_postrelease() # "1.2.3.post4"
Version("1.2.3a5").bump_postrelease() # "1.2.3.post1"
Version("1.2.3.post4").bump_postrelease(2) # "1.2.3.post6"
Returns
A new copy.
Version().bump_prerelease
def bump_prerelease(
inc: int = 1,
release_type: Literal['rc', 'alpha', 'beta', 'a', 'b'] = None,
bump_release: Literal['major', 'minor', 'micro'] = VersionParts.MICRO,
) -> _R:
Get next prerelease version.
If version is stable - bump micro
for a proper versioning as well.
Defaults to rc
pre-releases.
Arguments
inc
- Increment for micro version.release_type
- Prerelease type: alpha, beta, rc.bump_release
- Release number to bump if version is stable.
Examples
Version("1.2.3").bump_prerelease() # "1.2.4rc1"
Version("1.2.3").bump_prerelease(bump_release="major") # "2.0.0rc1"
Version("1.2.3.dev14").bump_prerelease() # "1.2.3rc1"
Version("1.2.3a5").bump_prerelease() # "1.2.3a6"
Version("1.2.3rc3").bump_prerelease(2, "beta") # "1.2.3rc5"
Returns
A new copy.
Version().bump_release
def bump_release(
release_type: Literal['major', 'minor', 'micro'] = VersionParts.MICRO,
inc: int = 1,
) -> _R:
Get next release version.
Arguments
release_type
- Release type: major, minor, micro.inc
- Increment for major version.
Examples
Version("1.2.3").bump_release() # "1.2.4"
Version("1.2.3").bump_release("major") # "2.0.0"
Version("1.2.3.dev14").bump_release("minor", 2) # "1.4.0"
Returns
A new copy.
Version().copy
def copy() -> _R:
Create a copy of a current version instance.
Version().dumps
def dumps() -> str:
Render to string.
Version().get_major
def get_major(number: int) -> _R:
Version().get_stable
def get_stable() -> _R:
Get stable version from pre- or post- release.
Examples
Version("1.2.3").get_stable() # "1.2.3"
Version("2.1.0a2").get_stable() # "2.1.0"
Version("1.2.5.post3").get_stable() # "1.2.5"
Returns
A new instance.
Version().is_stable
@property
def is_stable() -> bool:
Whether version is not prerelease or devrelease.
Returns
True if it is stable.
Version().prerelease_type
@property
def prerelease_type() -> Optional[Literal['rc', 'alpha', 'beta']]:
Version().replace
def replace(
major: Optional[int] = None,
minor: Optional[int] = None,
micro: Optional[int] = None,
alpha: Optional[int] = None,
beta: Optional[int] = None,
rc: Optional[int] = None,
dev: Optional[int] = None,
post: Optional[int] = None,
epoch: Optional[int] = None,
local: Optional[str] = None,
) -> _R:
Modify version parts.
Examples
Version("1.2.3").replace(dev=24) # "1.2.3.dev24"
Version("1.2.3rc5").replace(17) # "1.2.3.dev17"
Arguments
major
- Major release number.minor
- Minor release number.micro
- Micro release number.alpha
- Alpha pre-release number.beta
- Beta pre-release number.rc
- RC pre-release number.dev
- Dev release number.post
- Post release number.epoch
- Release epoch.local
- Local release identifier.
Returns
A new instance.
Version.zero
@classmethod
def zero() -> _R:
Get zero version 0.0.0
VersionError
class VersionError(packaging.version.InvalidVersion):