Skip to main content

Generators for SSOT contract, CLI, and TUI artifacts.

Project description

🔷 ssot-codegen

Development-time generators for SSOT contract-side metadata artifacts.

PyPI version Supported Python versions Downloads Repository hits

ssot-codegen contains generators for SSOT contract-side metadata artifacts.

It is a development-oriented package used to materialize generated JSON and Python outputs from the canonical contract layer. It is not the main runtime entry point for end users.

What this package owns

  • The ssot-codegen console command
  • Generation of Python-side metadata artifacts derived from ssot-contracts
  • Development-time regeneration of CLI and TUI metadata outputs

When to use this package

Use ssot-codegen when you want:

  • to regenerate packaged metadata artifacts during development
  • to inspect the current generated contract index, CLI metadata, or TUI metadata
  • a small development utility around the canonical contract package

Use another package when you want:

  • ssot-cli for the main user-facing CLI
  • ssot-registry for the core runtime and Python APIs
  • ssot-contracts for the packaged artifacts themselves
  • ssot-tui for terminal UI access
  • ssot-views for report and graph builders

Install

python -m pip install ssot-codegen

For local development from this repository:

python -m pip install -e pkgs/ssot-codegen

Command-line usage

The current command surface is intentionally small:

ssot-codegen --help
ssot-codegen --output-root .tmp_codegen

--output-root controls the directory where generated files are written. If omitted, the command writes to a .tmp_codegen directory under the current working directory.

Generated outputs

generate_python_artifacts() currently writes:

  • contracts.index.json
  • cli.metadata.json
  • tui.metadata.json
  • enums.py
  • cli_metadata.py
  • tui_metadata.py

Example:

ssot-codegen --output-root .tmp_codegen

Typical output files and purpose:

  • contracts.index.json: schema version and packaged ADR/spec manifest identifiers
  • cli.metadata.json: output formats and entity sections used by CLI-facing tooling
  • tui.metadata.json: entity sections used by TUI-facing tooling
  • enums.py: generated Python constants derived from CONTRACT_DATA

Programmatic usage

from ssot_codegen.generator import generate_python_artifacts

written = generate_python_artifacts(".tmp_codegen")
for path in written:
    print(path.as_posix())

Package relationships

  • Package type: development/code-generation package
  • Depends on: ssot-contracts, ssot-views
  • Consumed by: maintainers and release tooling that regenerate derived metadata artifacts

If you are using SSOT as an application or library, you usually do not need this package directly. It is primarily for maintainers working on the SSOT workspace itself.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssot_codegen-0.2.7.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ssot_codegen-0.2.7-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file ssot_codegen-0.2.7.tar.gz.

File metadata

  • Download URL: ssot_codegen-0.2.7.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ssot_codegen-0.2.7.tar.gz
Algorithm Hash digest
SHA256 eb345ce62f1799081b1e7046d9cef251d94e7c8b760ea72121559edac0230d2d
MD5 cbeb5aa22615ac8689ba253499f54b61
BLAKE2b-256 a4a1309d7c08944a5b4dc7596da315c5b2d8d79e3764d09602ab94aee2776e86

See more details on using hashes here.

File details

Details for the file ssot_codegen-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: ssot_codegen-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ssot_codegen-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 314a721da2b5bf6983feef3aa49a60d2a906c30848c155c327e9e1ff691fec93
MD5 ee49d8a60e7e5652e87cbf4187a0ac5e
BLAKE2b-256 ab97b2aa9a15246ceadb20920dfa177c555fbf12e5901b6685d09ee5274d9b9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page