Skip to main content

Command-line tool for the Agent Packaging Standard (APS)

Project description

APS CLI

Command-line tool for the Agent Packaging Standard (APS)

Tests Python License

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, dependencies
  • src/<agent_name>/main.py — Example Python entrypoint
  • src/<agent_name>/__init__.py — Python package initialization
  • AGENT_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


🛠️ 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 run command is a minimal reference implementation for local testing.
For production workloads, use a full-featured runtime that supports APS agents.

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

apstool-0.1.11.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

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

apstool-0.1.11-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file apstool-0.1.11.tar.gz.

File metadata

  • Download URL: apstool-0.1.11.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for apstool-0.1.11.tar.gz
Algorithm Hash digest
SHA256 ee25cca9b51216258cf7bbb70d911f5af203d748aadb9cc71137deced568ba64
MD5 e32213ae398d6403a74f0075482371ae
BLAKE2b-256 0242d170a88175a5e22d57063f29efa8836de39941148729f71db660231d5daf

See more details on using hashes here.

File details

Details for the file apstool-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: apstool-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for apstool-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 7c6b3205b44c81aec9209d33f401ac4269ea8f86d2007e273cc53f11726196c5
MD5 6830bf6ed68c02039bbbd4f5f48b5c2c
BLAKE2b-256 ef0080b271e8f69c7cfa78c15c40172c8bc34eed048fd05a32d5acc50036f46e

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