summaryrefslogtreecommitdiff
path: root/python-newversion.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-newversion.spec')
-rw-r--r--python-newversion.spec431
1 files changed, 431 insertions, 0 deletions
diff --git a/python-newversion.spec b/python-newversion.spec
new file mode 100644
index 0000000..f61e9b2
--- /dev/null
+++ b/python-newversion.spec
@@ -0,0 +1,431 @@
+%global _empty_manifest_terminate_build 0
+Name: python-newversion
+Version: 1.8.2
+Release: 1
+Summary: PEP 440 version manager
+License: MIT
+URL: https://github.com/vemel/newversion
+Source0: https://mirrors.aliyun.com/pypi/web/packages/33/86/fc60b1dec5799ec01504373fc8dd0f8ca2c269f1683fa4bf05dce3305c2a/newversion-1.8.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-packaging
+Requires: python3-typing-extensions
+
+%description
+# NewVersion - Your version manager
+
+[![PyPI - newversion](https://img.shields.io/pypi/v/newversion.svg?color=blue&label=newversion)](https://pypi.org/project/newversion)
+[![Docs](https://img.shields.io/readthedocs/newversion.svg?color=blue&label=Builder%20docs)](https://newversion.readthedocs.io/)
+
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/newversion.svg?color=blue)](https://pypi.org/project/newversion)
+[![Coverage](https://img.shields.io/codecov/c/github/vemel/newversion)](https://codecov.io/gh/vemel/newversion)
+
+- [NewVersion - Your version manager](#newversion---your-version-manager)
+ - [Features](#features)
+ - [Installation](#installation)
+ - [Usage](#usage)
+ - [CLI](#cli)
+ - [Python library](#python-library)
+ - [Versioning](#versioning)
+ - [Latest changes](#latest-changes)
+
+## Features
+
+- Follows [PEP 440](https://www.python.org/dev/peps/pep-0440/)
+- Fully compatible with [packaging.Version](https://packaging.pypa.io/en/latest/version.html)
+- Brings version bumping from [semver](https://pypi.org/project/semver/)
+- Comes with a helpful CLI tool `newversion`
+- Shines in CI
+
+## Installation
+
+```bash
+python -m pip install newversion
+```
+
+## Usage
+
+### CLI
+
+```bash
+newversion # 0.0.0
+newversion bump major # 1.0.0
+
+# get package version from pyproject.toml, setup.cfg or setup.py
+newversion package # 1.2.3
+newversion package | newversion bump # 1.2.4
+newversion package | newversion get minor # 2
+
+
+# bump minor version and update package version
+newversion package | newversion bump minor | newversion set_package
+
+echo "1.2.3rc1" | newversion bump micro # 1.2.3
+echo "1.2.3rc1" | newversion bump minor # 1.3.0
+echo "1.2.3rc1" | newversion bump major # 2.0.0
+echo "1.2.3rc1" | newversion bump pre # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump rc # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump alpha # 1.2.4a1
+
+echo "1.2.3rc1" | newversion set micro 5 # 1.2.5rc1
+echo "1.2.3rc1" | newversion set minor 5 # 1.5.3rc1
+echo "1.2.3rc1" | newversion set major 5 # 5.2.3rc1
+echo "1.2.3rc1" | newversion set pre 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set rc 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set alpha 5 # 1.2.3a5
+
+echo "1.2.3rc1" | newversion get micro # 1
+echo "1.2.3rc1" | newversion get minor # 2
+echo "1.2.3rc1" | newversion get major # 3
+echo "1.2.3rc1" | newversion get pre # rc1
+echo "1.2.3rc1" | newversion get rc # 1
+echo "1.2.3rc1" | newversion get alpha # 0
+
+echo "1.2.3rc1" | newversion stable # 1.2.3
+
+echo "1.2.3rc1" | newversion is_stable # error!
+echo "1.2.3" | newversion is_stable # 1.2.3
+echo "1.2.3" | newversion is_stable && echo "Stable!" # Stable!
+
+echo "1.2.3rc1" | newversion gt "1.2.3" # error!
+echo "1.2.3rc1" | newversion lte "1.2.3" # "1.2.3rc1"
+```
+
+### Python library
+
+```python
+from newversion import Version
+
+version = Version("1.2.3")
+next_version = version.bump_minor() # Version("1.3.0")
+
+# bump version same way as SemVer
+version.dumps() # "1.2.3"
+version.bump_micro().dumps() # "1.2.4"
+version.bump_minor().dumps() # "1.3.0"
+version.bump_major().dumps() # "2.0.0"
+
+# create and bump pre-releases
+version.bump_prerelease().dumps() # "1.2.4rc1"
+version.bump_prerelease(bump_release="minor").dumps() # "1.3.0rc1"
+version.bump_prerelease("alpha").dumps() # "1.2.4a1"
+Version("1.2.3b4").bump_prerelease().dumps() # "1.2.3b5"
+version.bump_micro().replace(dev=1234).dumps() # "1.2.4.dev1234"
+
+# and post-releases
+version.bump_postrelease().dumps() # "1.2.3.post1"
+Version("1.2.3.post3").bump_postrelease(2).dumps() # "1.2.3.post5"
+
+# easily check if this is a pre- or dev release or a stable version
+Version("1.2.3").is_stable # True
+Version("1.2.3a6").is_stable # False
+Version("1.2.3.post3").is_stable # True
+Version("1.2.3.post3").get_stable().dumps() # "1.2.3"
+```
+
+## Versioning
+
+`newversion` version follows [PEP 440](https://www.python.org/dev/peps/pep-0440/).
+
+## Latest changes
+
+Full changelog can be found in [Releases](https://github.com/vemel/newversion/releases).
+
+
+
+%package -n python3-newversion
+Summary: PEP 440 version manager
+Provides: python-newversion
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-newversion
+# NewVersion - Your version manager
+
+[![PyPI - newversion](https://img.shields.io/pypi/v/newversion.svg?color=blue&label=newversion)](https://pypi.org/project/newversion)
+[![Docs](https://img.shields.io/readthedocs/newversion.svg?color=blue&label=Builder%20docs)](https://newversion.readthedocs.io/)
+
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/newversion.svg?color=blue)](https://pypi.org/project/newversion)
+[![Coverage](https://img.shields.io/codecov/c/github/vemel/newversion)](https://codecov.io/gh/vemel/newversion)
+
+- [NewVersion - Your version manager](#newversion---your-version-manager)
+ - [Features](#features)
+ - [Installation](#installation)
+ - [Usage](#usage)
+ - [CLI](#cli)
+ - [Python library](#python-library)
+ - [Versioning](#versioning)
+ - [Latest changes](#latest-changes)
+
+## Features
+
+- Follows [PEP 440](https://www.python.org/dev/peps/pep-0440/)
+- Fully compatible with [packaging.Version](https://packaging.pypa.io/en/latest/version.html)
+- Brings version bumping from [semver](https://pypi.org/project/semver/)
+- Comes with a helpful CLI tool `newversion`
+- Shines in CI
+
+## Installation
+
+```bash
+python -m pip install newversion
+```
+
+## Usage
+
+### CLI
+
+```bash
+newversion # 0.0.0
+newversion bump major # 1.0.0
+
+# get package version from pyproject.toml, setup.cfg or setup.py
+newversion package # 1.2.3
+newversion package | newversion bump # 1.2.4
+newversion package | newversion get minor # 2
+
+
+# bump minor version and update package version
+newversion package | newversion bump minor | newversion set_package
+
+echo "1.2.3rc1" | newversion bump micro # 1.2.3
+echo "1.2.3rc1" | newversion bump minor # 1.3.0
+echo "1.2.3rc1" | newversion bump major # 2.0.0
+echo "1.2.3rc1" | newversion bump pre # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump rc # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump alpha # 1.2.4a1
+
+echo "1.2.3rc1" | newversion set micro 5 # 1.2.5rc1
+echo "1.2.3rc1" | newversion set minor 5 # 1.5.3rc1
+echo "1.2.3rc1" | newversion set major 5 # 5.2.3rc1
+echo "1.2.3rc1" | newversion set pre 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set rc 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set alpha 5 # 1.2.3a5
+
+echo "1.2.3rc1" | newversion get micro # 1
+echo "1.2.3rc1" | newversion get minor # 2
+echo "1.2.3rc1" | newversion get major # 3
+echo "1.2.3rc1" | newversion get pre # rc1
+echo "1.2.3rc1" | newversion get rc # 1
+echo "1.2.3rc1" | newversion get alpha # 0
+
+echo "1.2.3rc1" | newversion stable # 1.2.3
+
+echo "1.2.3rc1" | newversion is_stable # error!
+echo "1.2.3" | newversion is_stable # 1.2.3
+echo "1.2.3" | newversion is_stable && echo "Stable!" # Stable!
+
+echo "1.2.3rc1" | newversion gt "1.2.3" # error!
+echo "1.2.3rc1" | newversion lte "1.2.3" # "1.2.3rc1"
+```
+
+### Python library
+
+```python
+from newversion import Version
+
+version = Version("1.2.3")
+next_version = version.bump_minor() # Version("1.3.0")
+
+# bump version same way as SemVer
+version.dumps() # "1.2.3"
+version.bump_micro().dumps() # "1.2.4"
+version.bump_minor().dumps() # "1.3.0"
+version.bump_major().dumps() # "2.0.0"
+
+# create and bump pre-releases
+version.bump_prerelease().dumps() # "1.2.4rc1"
+version.bump_prerelease(bump_release="minor").dumps() # "1.3.0rc1"
+version.bump_prerelease("alpha").dumps() # "1.2.4a1"
+Version("1.2.3b4").bump_prerelease().dumps() # "1.2.3b5"
+version.bump_micro().replace(dev=1234).dumps() # "1.2.4.dev1234"
+
+# and post-releases
+version.bump_postrelease().dumps() # "1.2.3.post1"
+Version("1.2.3.post3").bump_postrelease(2).dumps() # "1.2.3.post5"
+
+# easily check if this is a pre- or dev release or a stable version
+Version("1.2.3").is_stable # True
+Version("1.2.3a6").is_stable # False
+Version("1.2.3.post3").is_stable # True
+Version("1.2.3.post3").get_stable().dumps() # "1.2.3"
+```
+
+## Versioning
+
+`newversion` version follows [PEP 440](https://www.python.org/dev/peps/pep-0440/).
+
+## Latest changes
+
+Full changelog can be found in [Releases](https://github.com/vemel/newversion/releases).
+
+
+
+%package help
+Summary: Development documents and examples for newversion
+Provides: python3-newversion-doc
+%description help
+# NewVersion - Your version manager
+
+[![PyPI - newversion](https://img.shields.io/pypi/v/newversion.svg?color=blue&label=newversion)](https://pypi.org/project/newversion)
+[![Docs](https://img.shields.io/readthedocs/newversion.svg?color=blue&label=Builder%20docs)](https://newversion.readthedocs.io/)
+
+[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/newversion.svg?color=blue)](https://pypi.org/project/newversion)
+[![Coverage](https://img.shields.io/codecov/c/github/vemel/newversion)](https://codecov.io/gh/vemel/newversion)
+
+- [NewVersion - Your version manager](#newversion---your-version-manager)
+ - [Features](#features)
+ - [Installation](#installation)
+ - [Usage](#usage)
+ - [CLI](#cli)
+ - [Python library](#python-library)
+ - [Versioning](#versioning)
+ - [Latest changes](#latest-changes)
+
+## Features
+
+- Follows [PEP 440](https://www.python.org/dev/peps/pep-0440/)
+- Fully compatible with [packaging.Version](https://packaging.pypa.io/en/latest/version.html)
+- Brings version bumping from [semver](https://pypi.org/project/semver/)
+- Comes with a helpful CLI tool `newversion`
+- Shines in CI
+
+## Installation
+
+```bash
+python -m pip install newversion
+```
+
+## Usage
+
+### CLI
+
+```bash
+newversion # 0.0.0
+newversion bump major # 1.0.0
+
+# get package version from pyproject.toml, setup.cfg or setup.py
+newversion package # 1.2.3
+newversion package | newversion bump # 1.2.4
+newversion package | newversion get minor # 2
+
+
+# bump minor version and update package version
+newversion package | newversion bump minor | newversion set_package
+
+echo "1.2.3rc1" | newversion bump micro # 1.2.3
+echo "1.2.3rc1" | newversion bump minor # 1.3.0
+echo "1.2.3rc1" | newversion bump major # 2.0.0
+echo "1.2.3rc1" | newversion bump pre # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump rc # 1.2.3rc2
+echo "1.2.3rc1" | newversion bump alpha # 1.2.4a1
+
+echo "1.2.3rc1" | newversion set micro 5 # 1.2.5rc1
+echo "1.2.3rc1" | newversion set minor 5 # 1.5.3rc1
+echo "1.2.3rc1" | newversion set major 5 # 5.2.3rc1
+echo "1.2.3rc1" | newversion set pre 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set rc 5 # 1.2.3rc5
+echo "1.2.3rc1" | newversion set alpha 5 # 1.2.3a5
+
+echo "1.2.3rc1" | newversion get micro # 1
+echo "1.2.3rc1" | newversion get minor # 2
+echo "1.2.3rc1" | newversion get major # 3
+echo "1.2.3rc1" | newversion get pre # rc1
+echo "1.2.3rc1" | newversion get rc # 1
+echo "1.2.3rc1" | newversion get alpha # 0
+
+echo "1.2.3rc1" | newversion stable # 1.2.3
+
+echo "1.2.3rc1" | newversion is_stable # error!
+echo "1.2.3" | newversion is_stable # 1.2.3
+echo "1.2.3" | newversion is_stable && echo "Stable!" # Stable!
+
+echo "1.2.3rc1" | newversion gt "1.2.3" # error!
+echo "1.2.3rc1" | newversion lte "1.2.3" # "1.2.3rc1"
+```
+
+### Python library
+
+```python
+from newversion import Version
+
+version = Version("1.2.3")
+next_version = version.bump_minor() # Version("1.3.0")
+
+# bump version same way as SemVer
+version.dumps() # "1.2.3"
+version.bump_micro().dumps() # "1.2.4"
+version.bump_minor().dumps() # "1.3.0"
+version.bump_major().dumps() # "2.0.0"
+
+# create and bump pre-releases
+version.bump_prerelease().dumps() # "1.2.4rc1"
+version.bump_prerelease(bump_release="minor").dumps() # "1.3.0rc1"
+version.bump_prerelease("alpha").dumps() # "1.2.4a1"
+Version("1.2.3b4").bump_prerelease().dumps() # "1.2.3b5"
+version.bump_micro().replace(dev=1234).dumps() # "1.2.4.dev1234"
+
+# and post-releases
+version.bump_postrelease().dumps() # "1.2.3.post1"
+Version("1.2.3.post3").bump_postrelease(2).dumps() # "1.2.3.post5"
+
+# easily check if this is a pre- or dev release or a stable version
+Version("1.2.3").is_stable # True
+Version("1.2.3a6").is_stable # False
+Version("1.2.3.post3").is_stable # True
+Version("1.2.3.post3").get_stable().dumps() # "1.2.3"
+```
+
+## Versioning
+
+`newversion` version follows [PEP 440](https://www.python.org/dev/peps/pep-0440/).
+
+## Latest changes
+
+Full changelog can be found in [Releases](https://github.com/vemel/newversion/releases).
+
+
+
+%prep
+%autosetup -n newversion-1.8.2
+
+%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-newversion -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.8.2-1
+- Package Spec generated