Query and compute pypi versions from command line.
Project description
coveo-pypi-cli
A very simple pypi cli that can be used to obtain the latest version of a package, or calculate the next one.
Serves our automatic pypi push github action.
pypi current-version
Display the current version of a package from pypi.org
pypi next-version
Compute the next version of a package.
- Can be given a minimum version
- e.g.: pypi is
0.0.3
and mininum set to0.1
: next version will be0.1
- e.g.: pypi is
- Supports computing pre-release versions
private index support
You can target a private pypi server through a switch or an environment variable.
Using the --index
switch
$ pypi current-version secret-package --index https://my.pypi.server.org
1.0.0
$ pypi current-version secret-package --index https://my.pypi.server.org:51800/urlprefix
1.0.0
Using the environment variable:
$ PYPI_CLI_INDEX="https://my.pypi.server.org" pypi current-version secret-package
Note: Unlike pip --index-url
, you must omit the /simple
url prefix.
The API used by coveo-pypi-cli
is served by the /pypi
endpoint and should not be specified either!
pypi-cli in action
The best example comes from the github action, which computes the next version based on the current release and what's in the pyproject.toml
.
Here's what you can expect from the tool:
$ pypi current-version coveo-functools
0.2.1
$ pypi next-version coveo-functools
0.2.2
$ pypi next-version coveo-functools --prerelease
0.2.2a1
$ pypi next-version coveo-functools --minimum-version 0.2
0.2.2
$ pypi next-version coveo-functools --minimum-version 0.3
0.3
$ pypi next-version coveo-functools --minimum-version 0.3 --prerelease
0.3a1
# Here's an example of how we use it in the github action
$ poetry version
coveo-pypi-cli 0.1.0
$ minimum_version=$(poetry version | cut --fields 2 --delimiter ' ' )
0.1.0
# when left unattended, the next-version increments the patch number
$ pypi next-version coveo-pypi-cli --minimum-version $minimum_version
0.2.2
# in order to change the minor or major, because the script uses `poetry version` to obtain the minimum version,
# just set it in `pyproject.toml` manually or by calling `poetry version <new-version>` (and commit!)
$ poetry version 0.3
Bumping version from 0.1.0 to 0.3
$ minimum_version=$(poetry version | cut --fields 2 --delimiter ' ' )
0.3
$ pypi next-version coveo-pypi-cli --minimum-version $minimum_version
0.3
# IMPORTANT: the publish step MUST set the computed version for poetry before publishing!
$ poetry version $minimum_version
0.3
$ poetry publish
...
# after publishing the above, repeating the steps would yield:
$ pypi next-version coveo-pypi-cli --minimum-version $minimum_version
0.3.1
# for completeness, you can also publish pre-releases:
$ pypi next-version coveo-pypi-cli --minimum-version $minimum_version --prerelease
0.3.1a1
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
Hashes for coveo_pypi_cli-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25d1302279c7dad5a2dc406be3be2e27f9103dea6098be1712bc3c160ed82202 |
|
MD5 | c8779d86979df8bc78a2bb8f2af1a1ae |
|
BLAKE2b-256 | 2b35ef0dc8948e9b53bf51d30d00b86045959f7653549626e9cdd447ceadf4cd |