version

Show a complete version snapshot of the SPLENT workspace.


Usage

splent version [--json]

Options

Option Description
--json Output in JSON format (useful for CI and scripting).

Description

Displays the full version state of the workspace in a single view:

  • splent_cli and splent_framework versions, read directly from their pyproject.toml files in the workspace (always up to date, regardless of when the editable install was last run)
  • Python version
  • Active product and its version
  • Every feature declared in [tool.splent].features, with its pinned version and whether it is present in the local cache
  • A short fingerprint — an 8-character hash of the entire version state

Two workspaces with the same fingerprint are identical in terms of versions. Use it when reporting bugs or comparing environments.

Example output

SPLENT workspace snapshot
────────────────────────────────────────────────────────
  CLI            1.1.1
  Framework      1.1.1        ✔ compatible
  Python         3.13.2
  Product        sample_splent_app  0.0.1

  Features declared in pyproject:
  ├── splent_feature_auth          @v1.2.7   ✔ in cache
  ├── splent_feature_redis         @v1.2.7   ✔ in cache
  ├── splent_feature_mail          @v1.2.7   ✔ in cache
  ├── splent_feature_public        @v1.2.7   ✔ in cache
  ├── splent_feature_profile       @v1.2.7   ✔ in cache
  ├── splent_feature_confirmemail  @v1.2.7   ✔ in cache
  └── splent_feature_reset         @v1.2.7   ✖ missing from cache
────────────────────────────────────────────────────────
  Fingerprint  a3f9c21e

JSON output

splent version --json
{
  "cli": "1.1.1",
  "framework": "1.1.1",
  "python": "3.13.2",
  "compatible": true,
  "product": {
    "name": "sample_splent_app",
    "version": "0.0.1"
  },
  "features": [
    { "name": "splent_feature_auth", "version": "v1.2.7", "in_cache": true },
    { "name": "splent_feature_redis", "version": "v1.2.7", "in_cache": true }
  ],
  "fingerprint": "a3f9c21e"
}

Version source

CLI and Framework versions are read directly from their pyproject.toml files in the workspace, not from installed package metadata. This ensures the version shown is always current, even if the editable install has not been refreshed since the last version bump.

If neither source is available (e.g. installed from PyPI with no local source), importlib.metadata is used as a fallback.


Back to top

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