feature:versions
Table of contents
- Introduction
- Seeing only the latest
- Checking the version your product pins
- Checking every feature at once
- Finding a version one source lacks
- Reference
- See also
Introduction
feature:versions lists the versions of a feature, from its tags on the forge and its releases on PyPI. Use it to pick a version to pin, or to see whether your product is behind.
splent feature:versions splent_feature_notes
Versions for splent-io/splent_feature_notes
──────────────────────────────────────────────────
Forge tags
v1.4.0
v1.3.0
v1.2.0
PyPI releases
1.4.0
1.3.0
1.2.0
Both lists are newest first. Pass --forge or --pypi to see only one of them.
Seeing only the latest
splent feature:versions splent_feature_notes --latest
Forge: v1.4.0
PyPI: 1.4.0
Checking the version your product pins
splent feature:versions splent_feature_notes --status
Declared: v1.2.0
Latest (GH): v1.4.0
Status: ⚠ 2 behind
It looks in features, features_dev and features_prod of the selected product. (editable) means it is declared without a version.
Checking every feature at once
splent feature:versions --all
Feature Declared Latest (GH) Status
──────────────────────────────────────────────────────────────────────────────────────
splent_feature_auth v1.2.7 v1.2.7 ✔ up to date
splent_feature_notes v1.2.0 v1.4.0 ⚠ 2 behind
splent_feature_reports (editable) v1.0.0 (editable)
It checks every entry of the product’s features list. A repository the forge does not have, such as an unpushed local feature, shows (not on forge).
Finding a version one source lacks
splent feature:versions splent_feature_notes --diff
Version Forge PyPI
────────────────────────────────────────────────────
v1.4.0 ✔ tagged ↔ ✔ published
v1.3.0 ✔ tagged ↔ ✔ published
v1.2.0 ✔ tagged → ✗ not published
v1.1.0 ✗ no tag ← ✔ published
↔ in sync → only on the forge ← only on PyPI
Use it after a release to check that the upload reached PyPI. A tag missing from PyPI’s listing is checked once more on its own PyPI page, since the listing can lag. A leading v is ignored when comparing.
Reference
| Argument or option | Description |
|---|---|
FEATURE_IDENTIFIER |
splent_feature_notes or splent-io/splent_feature_notes. A @version suffix is ignored. Required unless you pass --all |
--forge, --github |
Only the forge tags |
--pypi |
Only the PyPI releases |
--latest |
Only the newest version of each source |
--status |
Compare the version the product declares with the newest tag |
--diff |
One table of both sources, marking what one of them lacks |
--all |
The status of every feature in the product’s features list |
--status and --all read the selected product (SPLENT_APP). --all exits 1 when there is none.
| Message | What to do |
|---|---|
Forge API rate limit or access denied (HTTP 403). |
Set SPLENT_FORGE_TOKEN, or GITHUB_TOKEN. Without one the forge is asked anonymously |
Cannot pass a feature name with --all. |
Drop the name, or drop --all |
No features found. Make sure a product is selected and pyproject.toml exists. |
Select a product with product:select |
See also
feature:attachpins a version you picked.feature:outdatedchecks every pinned feature against its newest tag.