feature:versions

Table of contents

  1. Introduction
  2. Seeing only the latest
  3. Checking the version your product pins
  4. Checking every feature at once
  5. Finding a version one source lacks
  6. Reference
  7. 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


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es