Generators for SSOT contract, CLI, and TUI artifacts.
Project description
🔷 ssot-codegen
Development-time generators for SSOT contract-side metadata artifacts.
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-codegenconsole 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.jsoncli.metadata.jsontui.metadata.jsonenums.pycli_metadata.pytui_metadata.py
Example:
ssot-codegen --output-root .tmp_codegen
Typical output files and purpose:
contracts.index.json: schema version and packaged ADR/spec manifest identifierscli.metadata.json: output formats and entity sections used by CLI-facing toolingtui.metadata.json: entity sections used by TUI-facing toolingenums.py: generated Python constants derived fromCONTRACT_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssot_codegen-0.2.11.tar.gz.
File metadata
- Download URL: ssot_codegen-0.2.11.tar.gz
- Upload date:
- Size: 4.2 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
424bd9be56d4d14f0d2c916d09bb5b7b82417a14dff7361e452bc047014e8d7f
|
|
| MD5 |
de9e838178b2fa338f21a270dd3928e6
|
|
| BLAKE2b-256 |
2246ec09df2815d238cb0e00b85630dbecdf7309fc98250a4f9d38fd2af694c1
|
File details
Details for the file ssot_codegen-0.2.11-py3-none-any.whl.
File metadata
- Download URL: ssot_codegen-0.2.11-py3-none-any.whl
- Upload date:
- Size: 4.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3560d5875c19fe8e5a6549ab8cd110fdcfecc3a8dadd7ce33a6a1b84bc88930c
|
|
| MD5 |
6cf11ab2080c483d28fce29c31f3e88a
|
|
| BLAKE2b-256 |
1b48055f910b0e8c4e4becf1df9556c3b881da573517148a15187d8a582506c9
|