%global _empty_manifest_terminate_build 0 Name: python-pep440-version-utils Version: 0.3.0 Release: 1 Summary: Utilities to deal with pep440 versioning License: MIT URL: https://github.com/m-vdb/pep440-version-utils Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b8/cf/fdf3501870629c1602b426f7589e09db7bce1dc97039f3f10d4d4dd767ab/pep440-version-utils-0.3.0.tar.gz BuildArch: noarch Requires: python3-packaging %description ![Continuous Integration](https://github.com/m-vdb/pep440-version-utils/workflows/Continuous%20Integration/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/m-vdb/pep440-version-utils/badge.svg?branch=master)](https://coveralls.io/github/m-vdb/pep440-version-utils?branch=master) # pep440-version-utils This package regroups utilities to deal with pep440 versioning. It is based on the [PyPA's `packaging`](https://github.com/pypa/packaging) project and extends it. It makes it easier to handle version bumps and strictly follows [PEP440 specification](https://www.python.org/dev/peps/pep-0440/). ![Release cycle](https://github.com/m-vdb/pep440-version-utils/blob/master/docs/release-cycle.png?raw=true) ## Installation Use `pip` or `poetry` to install this package: ```bash $ pip install pep440-version-utils # or alternatively $ poetry add pep440-version-utils ``` ## Usage Since this package extends the `packaging` library, so it supports version parsing and ordering as described in [this documentation](https://packaging.pypa.io/en/latest/version/). To bump to a new release version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_micro() # 1.10.3 version.next_minor() # 1.11.0 version.next_major() # 2.0.0 ``` To bump to a new prerelease version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_alpha() # 1.10.3a1 version.next_beta() # 1.10.3b1 version.next_release_candidate() # 1.10.3rc1 version.next_alpha("minor") # 1.11.0a1 version.next_beta("mior") # 1.11.0b1 version.next_release_candidate("major") # 2.0.0rc1 ``` And it implements the full release cycle: ```python from pep440_version_utils import Version version = Version("1.10.2") alpha1 = version.next_alpha() # 1.10.3a1 alpha2 = alpha1.next_alpha() # 1.10.3a2 beta1 = alpha2.next_beta() # 1.10.3b1 rc1 = beta1.next_release_candidate() # 1.10.3rc1 rc2 = rc1.next_release_candidate() # 1.10.3rc2 new_version = rc2.next_micro() # 1.10.3 ``` You can also check if a version is a specific type of prerelease: ```python from pep440_version_utils import Version Version("1.10.2a1").is_alpha # True Version("1.10.2b2").is_beta # True Version("1.10.2rc1").is_release_candidate # True ``` ## Limitations This package doesn't support _post_, _dev_ and _local_ versions yet. **Contributions are welcome 😊** ## How to contribute This package is fairly simple, here is how you can contribute: 1. ⚙️ Install [`poetry`](https://python-poetry.org/) 2. 📦 In the repository folder, run `poetry install` 3. ✍️ Implement the desired changes 4. ✅ Run test, type checking and code quality checks: ```bash $ poetry run black . --check $ poetry run mypy */**.py --ignore-missing-imports $ poetry run pytest --cov=pep440_version_utils ``` 5. ➡️ Submit a new pull request Do not hesitate to contribue, even for very small changes! %package -n python3-pep440-version-utils Summary: Utilities to deal with pep440 versioning Provides: python-pep440-version-utils BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pep440-version-utils ![Continuous Integration](https://github.com/m-vdb/pep440-version-utils/workflows/Continuous%20Integration/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/m-vdb/pep440-version-utils/badge.svg?branch=master)](https://coveralls.io/github/m-vdb/pep440-version-utils?branch=master) # pep440-version-utils This package regroups utilities to deal with pep440 versioning. It is based on the [PyPA's `packaging`](https://github.com/pypa/packaging) project and extends it. It makes it easier to handle version bumps and strictly follows [PEP440 specification](https://www.python.org/dev/peps/pep-0440/). ![Release cycle](https://github.com/m-vdb/pep440-version-utils/blob/master/docs/release-cycle.png?raw=true) ## Installation Use `pip` or `poetry` to install this package: ```bash $ pip install pep440-version-utils # or alternatively $ poetry add pep440-version-utils ``` ## Usage Since this package extends the `packaging` library, so it supports version parsing and ordering as described in [this documentation](https://packaging.pypa.io/en/latest/version/). To bump to a new release version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_micro() # 1.10.3 version.next_minor() # 1.11.0 version.next_major() # 2.0.0 ``` To bump to a new prerelease version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_alpha() # 1.10.3a1 version.next_beta() # 1.10.3b1 version.next_release_candidate() # 1.10.3rc1 version.next_alpha("minor") # 1.11.0a1 version.next_beta("mior") # 1.11.0b1 version.next_release_candidate("major") # 2.0.0rc1 ``` And it implements the full release cycle: ```python from pep440_version_utils import Version version = Version("1.10.2") alpha1 = version.next_alpha() # 1.10.3a1 alpha2 = alpha1.next_alpha() # 1.10.3a2 beta1 = alpha2.next_beta() # 1.10.3b1 rc1 = beta1.next_release_candidate() # 1.10.3rc1 rc2 = rc1.next_release_candidate() # 1.10.3rc2 new_version = rc2.next_micro() # 1.10.3 ``` You can also check if a version is a specific type of prerelease: ```python from pep440_version_utils import Version Version("1.10.2a1").is_alpha # True Version("1.10.2b2").is_beta # True Version("1.10.2rc1").is_release_candidate # True ``` ## Limitations This package doesn't support _post_, _dev_ and _local_ versions yet. **Contributions are welcome 😊** ## How to contribute This package is fairly simple, here is how you can contribute: 1. ⚙️ Install [`poetry`](https://python-poetry.org/) 2. 📦 In the repository folder, run `poetry install` 3. ✍️ Implement the desired changes 4. ✅ Run test, type checking and code quality checks: ```bash $ poetry run black . --check $ poetry run mypy */**.py --ignore-missing-imports $ poetry run pytest --cov=pep440_version_utils ``` 5. ➡️ Submit a new pull request Do not hesitate to contribue, even for very small changes! %package help Summary: Development documents and examples for pep440-version-utils Provides: python3-pep440-version-utils-doc %description help ![Continuous Integration](https://github.com/m-vdb/pep440-version-utils/workflows/Continuous%20Integration/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/m-vdb/pep440-version-utils/badge.svg?branch=master)](https://coveralls.io/github/m-vdb/pep440-version-utils?branch=master) # pep440-version-utils This package regroups utilities to deal with pep440 versioning. It is based on the [PyPA's `packaging`](https://github.com/pypa/packaging) project and extends it. It makes it easier to handle version bumps and strictly follows [PEP440 specification](https://www.python.org/dev/peps/pep-0440/). ![Release cycle](https://github.com/m-vdb/pep440-version-utils/blob/master/docs/release-cycle.png?raw=true) ## Installation Use `pip` or `poetry` to install this package: ```bash $ pip install pep440-version-utils # or alternatively $ poetry add pep440-version-utils ``` ## Usage Since this package extends the `packaging` library, so it supports version parsing and ordering as described in [this documentation](https://packaging.pypa.io/en/latest/version/). To bump to a new release version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_micro() # 1.10.3 version.next_minor() # 1.11.0 version.next_major() # 2.0.0 ``` To bump to a new prerelease version: ```python from pep440_version_utils import Version version = Version("1.10.2") version.next_alpha() # 1.10.3a1 version.next_beta() # 1.10.3b1 version.next_release_candidate() # 1.10.3rc1 version.next_alpha("minor") # 1.11.0a1 version.next_beta("mior") # 1.11.0b1 version.next_release_candidate("major") # 2.0.0rc1 ``` And it implements the full release cycle: ```python from pep440_version_utils import Version version = Version("1.10.2") alpha1 = version.next_alpha() # 1.10.3a1 alpha2 = alpha1.next_alpha() # 1.10.3a2 beta1 = alpha2.next_beta() # 1.10.3b1 rc1 = beta1.next_release_candidate() # 1.10.3rc1 rc2 = rc1.next_release_candidate() # 1.10.3rc2 new_version = rc2.next_micro() # 1.10.3 ``` You can also check if a version is a specific type of prerelease: ```python from pep440_version_utils import Version Version("1.10.2a1").is_alpha # True Version("1.10.2b2").is_beta # True Version("1.10.2rc1").is_release_candidate # True ``` ## Limitations This package doesn't support _post_, _dev_ and _local_ versions yet. **Contributions are welcome 😊** ## How to contribute This package is fairly simple, here is how you can contribute: 1. ⚙️ Install [`poetry`](https://python-poetry.org/) 2. 📦 In the repository folder, run `poetry install` 3. ✍️ Implement the desired changes 4. ✅ Run test, type checking and code quality checks: ```bash $ poetry run black . --check $ poetry run mypy */**.py --ignore-missing-imports $ poetry run pytest --cov=pep440_version_utils ``` 5. ➡️ Submit a new pull request Do not hesitate to contribue, even for very small changes! %prep %autosetup -n pep440-version-utils-0.3.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pep440-version-utils -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 25 2023 Python_Bot - 0.3.0-1 - Package Spec generated