feature:versions

List all available versions of a feature from GitHub tags and PyPI releases.


Table of contents

  1. Usage
  2. Examples
    1. List all versions
    2. Show only the latest version (--latest)
    3. Compare against declared version (--status)
    4. Check GitHub/PyPI sync (--diff)
    5. Check all product features (--all)
  3. Description
  4. Notes

Usage

splent feature:versions [<feature_name>] [--github] [--pypi] [--latest] [--status] [--diff] [--all]
Argument / Option Description
<feature_name> Feature name (splent_feature_auth) or namespaced form (splent-io/splent_feature_auth). A version suffix is ignored if present. Required unless --all is used.
--github Show only GitHub tags.
--pypi Show only PyPI releases.
--latest Show only the latest available version from each source.
--status Compare the version declared in pyproject.toml against the latest on GitHub.
--diff Show versions missing from one source or the other.
--all Check all features declared in the active product.

Examples

List all versions

splent feature:versions splent_feature_auth
  Versions for splent-io/splent_feature_auth
  ──────────────────────────────────────────────────

  GitHub tags
    v1.2.7
    v1.2.7
    v1.0.4
    v1.0.3
    v1.0.2
    v1.0.0

  PyPI releases
    1.1.1
    1.1.0
    1.0.4
    1.0.3
    1.0.2
    1.0.1

  💡 Set GITHUB_TOKEN to avoid rate limits.

Show only the latest version (--latest)

splent feature:versions splent_feature_auth --latest
  Versions for splent-io/splent_feature_auth
  ──────────────────────────────────────────────────

  GitHub:    v1.2.7
  PyPI:      1.1.1

Compare against declared version (--status)

Shows the version pinned in pyproject.toml and how many GitHub tags behind it is.

splent feature:versions splent_feature_auth --status
  Versions for splent-io/splent_feature_auth
  ──────────────────────────────────────────────────

  Declared:    v1.0.2
  Latest (GH): v1.2.7
  Status:      ⚠  3 behind

Check GitHub/PyPI sync (--diff)

Shows a unified table with all versions from both sources, with arrows and colors indicating the status of each one.

splent feature:versions splent_feature_auth --diff
  Version     GitHub                PyPI
  ──────────────────────────────────────────────────────────────────
  v1.2.7      ✔  tagged            ↔   ✔  published
  v1.2.7      ✔  tagged            ↔   ✔  published
  v1.2.7      ✔  tagged            ↔   ✔  published
  v1.0.4      ✔  tagged            ↔   ✔  published
  v1.0.3      ✔  tagged            ↔   ✔  published
  v1.0.2      ✔  tagged            ↔   ✔  published
  v1.0.1      ✗  no tag            ←   ✔  published
  v1.0.0      ✔  tagged            →   ✗  not published

  ↔  in sync   →  only on GitHub   ←  only on PyPI
Symbol Meaning
green Version present in both sources, in sync
yellow Tagged on GitHub but not published on PyPI
yellow Published on PyPI but no tag on GitHub

--diff avoids false positives caused by PyPI CDN caching. If a version appears only on GitHub, it is verified directly against the PyPI per-version endpoint before marking it as absent.

Check all product features (--all)

splent feature:versions --all
  Feature                                Declared        Latest (GH)     Status
  ──────────────────────────────────────────────────────────────────────────────
  splent_feature_auth                    v1.0.2          v1.2.7          ⚠  3 behind
  splent_feature_mail                    v0.9.1          v0.9.1          ✔ up to date
  splent_feature_profile                 (editable)      v1.0.0          (editable)

  💡 Set GITHUB_TOKEN to avoid rate limits.

Description

Queries GitHub and PyPI independently.

  • GitHub tags. Paginates through all tags in github.com/<namespace>/<feature_name>, newest first.
  • PyPI releases. Fetches pypi.org/pypi/<feature_name>/json and sorts by upload date, newest first.

Version strings are normalised before comparison (leading v is stripped), so v1.2.7 and 1.1.1 are treated as the same version.

--diff merges both version lists into a single sorted table and verifies “only on GitHub” candidates against PyPI’s per-version endpoint to avoid false positives caused by CDN caching lag after a fresh release.

--all reads the features group from the active product’s pyproject.toml and makes one GitHub API call per feature.


Notes

  • Set GITHUB_TOKEN to raise the GitHub API rate limit from 60 to 5 000 requests per hour and to access private repositories.
  • --all makes one GitHub request per feature. Set GITHUB_TOKEN to avoid hitting the rate limit.
  • To pin a specific version to the active product, use feature:attach.

    splent feature:attach splent_feature_auth v1.2.7
    

Back to top

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