APS CLI
Command-line tool for the Agent Packaging Standard (APS)
The APS CLI enables developers to build, validate, sign, publish, and run portable AI agents following the Agent Packaging Standard.
🚀 Installation
From PyPI (Recommended)
pip install apstool
For optional features (signing, RAG examples):
pip install apstool[dev]
From Source (For Development)
git clone https://github.com/vedahegde60/agent-packaging-standard.git
cd agent-packaging-standard/cli
pip install -e .
📖 Quick Start
Initialize a New Agent
Create a new agent from the APS template:
aps init my-agent
cd my-agent
This scaffolds a complete agent structure with:
aps/agent.yaml— Manifest with metadata, runtime, dependenciessrc/<agent_name>/main.py— Example Python entrypointsrc/<agent_name>/__init__.py— Python package initializationAGENT_CARD.md— Agent documentation
Validate Your Agent
Check that your manifest is correctly structured:
aps validate .
Run Your Agent
Execute the agent locally with JSON input/output:
echo '{"text": "hello world"}' | aps run .
Or use the --input flag:
aps run . --input '{"text": "hello world"}'
Build a Package
Create a distributable .aps.tar.gz package:
aps build .
This produces dist/dev.my-agent.aps.tar.gz containing the manifest, code, and metadata.
Sign Your Package
Generate a keypair (first time only):
aps keygen
Sign the package for verification and provenance:
aps sign dist/dev.my-agent.aps.tar.gz --key default
Verify a Package
Verify the signature and integrity:
aps verify dist/dev.my-agent.aps.tar.gz --pubkey ~/.aps/keys.pub/default.pub
Publish to a Registry
Push your built package to a registry:
aps publish dist/dev.my-agent.aps.tar.gz --registry http://localhost:8080
Pull from a Registry
Download an agent from a registry:
aps pull dev.echo --registry http://localhost:8080
🧰 Command Reference
| Command | Description |
|---|---|
aps init <path> |
Scaffold a new agent from template |
aps validate <path> |
Validate agent manifest structure |
aps run <path> |
Execute agent locally (stdin/stdout JSON) |
aps build <path> |
Package agent into .aps.tar.gz |
aps keygen |
Generate Ed25519 keypair for signing |
aps sign <package> |
Sign package with private key |
aps verify <package> |
Verify package signature |
aps publish <package> |
Push built package to registry |
aps pull <name> |
Pull agent from registry |
aps inspect <package> |
Show package metadata |
aps logs <agent> |
Show saved logs for an agent |
aps registry serve |
Start a local APS registry |
For full details, see the CLI Reference.
🧪 Running Tests
cd cli
pytest -q
All tests run in isolated environments to avoid contaminating user data.
📚 Learn More
- Documentation: agentpackaging.org
- Specification: APS v0.1
- Examples: examples/
- Contributing: CONTRIBUTING.md
🛠️ Development
Setup
cd cli
pip install -e .
Run Tests
pytest -q
Build Distribution
python -m build
📄 License
Apache License 2.0 — See LICENSE for details.
🤝 Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Note: The
aps runcommand is a minimal reference implementation for local testing.
For production workloads, use a full-featured runtime that supports APS agents.
Metadata
Release files for apstool 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| apstool-0.1.11.tar.gz | 23.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| apstool-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.6 kB
Release files / apstool-0.1.11.tar.gz
| Download URL | apstool-0.1.11.tar.gz |
|---|---|
| Size | 23.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee25cca9b51216258cf7bbb70d911f5af203d748aadb9cc71137deced568ba64
|
|
BLAKE2b-256 checksum How to use checksums |
0242d170a88175a5e22d57063f29efa8836de39941148729f71db660231d5daf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / apstool-0.1.11-py3-none-any.whl
| Download URL | apstool-0.1.11-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c6b3205b44c81aec9209d33f401ac4269ea8f86d2007e273cc53f11726196c5
|
|
BLAKE2b-256 checksum How to use checksums |
ef0080b271e8f69c7cfa78c15c40172c8bc34eed048fd05a32d5acc50036f46e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|