Python SDK for the ACLI (Agent-friendly CLI) specification
Project description
acli-spec
Python SDK for the ACLI (Agent-friendly CLI) specification.
Build CLI tools that AI agents can discover, learn, and use autonomously.
Installation
pip install acli-spec
Quick Start
from pathlib import Path
from acli import ACLIApp, acli_command, OutputFormat
import typer
app = ACLIApp(name="myapp", version="1.0.0")
@app.command()
@acli_command(
examples=[
("Run a task", "myapp run --file task.yaml"),
("Dry-run a task", "myapp run --file task.yaml --dry-run"),
],
idempotent=False,
)
def run(
file: Path = typer.Option(..., help="Path to task file. type:path"),
dry_run: bool = typer.Option(False, help="Preview without executing."),
output: OutputFormat = typer.Option(OutputFormat.text, help="Output format."),
) -> None:
"""Execute a task from a YAML file."""
...
if __name__ == "__main__":
app.run()
What you get automatically
introspectcommand with full command tree as JSON.cli/folder generation (README, examples, schemas)- JSON error envelope on
--output json - Semantic exit codes (0-9)
--versionwith semver output
License
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
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 acli_spec-0.3.0.tar.gz.
File metadata
- Download URL: acli_spec-0.3.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f15ec4047b5abd364e9ac1ca987a04218b7dde2d51f3ca077b8a56e8c77117c2
|
|
| MD5 |
9833ab60b63d4d1ee6c8514f724cd802
|
|
| BLAKE2b-256 |
fef316371d1cd98f9e1ea5d9d7af2cc9343d033ee80d6688ba293f844b152e0e
|
Provenance
The following attestation bundles were made for acli_spec-0.3.0.tar.gz:
Publisher:
release.yml on alpibrusl/acli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acli_spec-0.3.0.tar.gz -
Subject digest:
f15ec4047b5abd364e9ac1ca987a04218b7dde2d51f3ca077b8a56e8c77117c2 - Sigstore transparency entry: 1239446787
- Sigstore integration time:
-
Permalink:
alpibrusl/acli@61ec11e04b8a54d85262c711e0d6300d64ec8403 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/alpibrusl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@61ec11e04b8a54d85262c711e0d6300d64ec8403 -
Trigger Event:
push
-
Statement type:
File details
Details for the file acli_spec-0.3.0-py3-none-any.whl.
File metadata
- Download URL: acli_spec-0.3.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4069021993a211791cce0ef889974e987959302d2e98908810de320170d1ae3b
|
|
| MD5 |
174f3fa4b3b6bb27a106ceaf3fb7d45b
|
|
| BLAKE2b-256 |
0375c4b253eaebae2c697dda6c3fe6d66f085f149941898f5a1279518cf0980c
|
Provenance
The following attestation bundles were made for acli_spec-0.3.0-py3-none-any.whl:
Publisher:
release.yml on alpibrusl/acli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
acli_spec-0.3.0-py3-none-any.whl -
Subject digest:
4069021993a211791cce0ef889974e987959302d2e98908810de320170d1ae3b - Sigstore transparency entry: 1239446789
- Sigstore integration time:
-
Permalink:
alpibrusl/acli@61ec11e04b8a54d85262c711e0d6300d64ec8403 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/alpibrusl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@61ec11e04b8a54d85262c711e0d6300d64ec8403 -
Trigger Event:
push
-
Statement type: