sonnet-cli
A library of terminal building blocks for Petrarca Labs backend services.
Not a CLI application. It ships no console script and is not run directly. Consuming apps (lauro, sestina, coco-rag, ...) import it to build their own command-line interfaces -- each app owns its Typer application and its entry point. sonnet-cli only provides the reusable pieces.
Status: placeholder. This release claims the name and proves the release pipeline. The implementation follows -- see Planned scope below.
Install
pip install sonnet-cli
Planned scope
Reusable toolkit -- framework-agnostic
typer + rich + the standard library. No server concepts.
| Component | What |
|---|---|
multiselect |
Arrow-key checkbox picker with a numbered fallback when stdin is not a TTY |
console / utils |
Shared rich console and path helpers |
| model editing | Edit a Pydantic model as an annotated YAML document in $EDITOR, validating on save and re-opening with the error -- the kubectl edit pattern |
Command-group factories -- mounted by an app
Pieces an app adds to its own Typer app. These drive a sonnet-server application and depend on it accordingly.
| Component | What |
|---|---|
resource_cli |
Uniform list / get / set for a ResourceSpec-backed resource |
db commands |
Database init / check / upgrade, given the app's Alembic config |
checks |
Readiness-pipeline runner and builders |
Why a separate library
The code currently lives in sonnet_server.cli. It is a pure leaf -- nothing in
sonnet_server imports it -- and it is consumed by several services, three of
which use an identical surface. Extracting it:
- lets a pure API consumer stop pulling
typerandrich; - gives the toolkit a home that does not require a web framework;
- makes the layering explicit rather than conventional.
It is a library, not a binary: there is no sonnet-cli command. A consuming app
is where a runnable CLI (and its [project.scripts]) lives.
Licence
Apache-2.0
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 sonnet_cli-0.1.0.tar.gz.
File metadata
- Download URL: sonnet_cli-0.1.0.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19fcd3805ad2312139d5c94a27379c872880fe2a480b560b8c10f4cbd4d374ca
|
|
| MD5 |
60e6bc5b3ce71ee01058958cd963e2e2
|
|
| BLAKE2b-256 |
83c2a33dd4bf7e5268f6fceab93fcc1cbc6f8b704e37bf74282abe91d1591928
|
Provenance
The following attestation bundles were made for sonnet_cli-0.1.0.tar.gz:
Publisher:
publish.yml on petrarca/sonnet-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sonnet_cli-0.1.0.tar.gz -
Subject digest:
19fcd3805ad2312139d5c94a27379c872880fe2a480b560b8c10f4cbd4d374ca - Sigstore transparency entry: 2349489429
- Sigstore integration time:
-
Permalink:
petrarca/sonnet-server@687314b9dafc82645f0e8c884f15f65cc8fef54a -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/petrarca
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@687314b9dafc82645f0e8c884f15f65cc8fef54a -
Trigger Event:
push
-
Statement type:
File details
Details for the file sonnet_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: sonnet_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94f1b542222cedac36cd6ab4efeb0ebca825a641c1e51bcd2ba16e8e184dcec0
|
|
| MD5 |
2e69011c16f1cd949266e428cce37d55
|
|
| BLAKE2b-256 |
a9cd1742985af0984e65999985845172ed52ac89dd226cdbccfbb4c6651f0f03
|
Provenance
The following attestation bundles were made for sonnet_cli-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on petrarca/sonnet-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sonnet_cli-0.1.0-py3-none-any.whl -
Subject digest:
94f1b542222cedac36cd6ab4efeb0ebca825a641c1e51bcd2ba16e8e184dcec0 - Sigstore transparency entry: 2349491020
- Sigstore integration time:
-
Permalink:
petrarca/sonnet-server@687314b9dafc82645f0e8c884f15f65cc8fef54a -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/petrarca
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@687314b9dafc82645f0e8c884f15f65cc8fef54a -
Trigger Event:
push
-
Statement type: