Skip to main content

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

Project description


cli/README.md

# APS CLI

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

[![Tests](https://img.shields.io/badge/tests-passing-brightgreen)]()
[![Python](https://img.shields.io/badge/python-3.10+-blue)]()
[![License](https://img.shields.io/badge/license-Apache%202.0-blue)](https://github.com/vedahegde60/agent-packaging-standard/blob/main/LICENSE)

The APS CLI enables developers to build, validate, sign, publish, and run portable AI agents following the [Agent Packaging Standard](https://agentpackaging.org).

---

## 🚀 Installation

### From PyPI (Recommended)

```bash
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/main.py — Example Python entrypoint
  • requirements.txt — Python dependencies

Validate Your Agent

Check that your manifest is correctly structured:

aps validate my-agent

Run Your Agent

Execute the agent locally with JSON input/output:

echo '{"text": "hello world"}' | aps run my-agent

Or use the --input flag:

aps run my-agent --input '{"text": "hello world"}'

Build a Package

Create a distributable .aps.tar.gz package:

aps build my-agent

This produces my-agent.aps.tar.gz containing the manifest, code, and metadata.

Sign Your Package

Sign the package for verification and provenance:

aps sign my-agent.aps.tar.gz --key path/to/cosign.key

Verify a Package

Verify the signature and integrity:

aps verify my-agent.aps.tar.gz

Publish to a Registry

Push your agent to a registry:

aps publish my-agent --registry registry://local

Pull from a Registry

Download an agent from a registry:

aps pull dev.echo --registry registry://local

🧰 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 sign <package> Sign package with Cosign
aps verify <package> Verify package signature
aps publish <path> Push agent to registry
aps pull <name> Pull agent from registry
aps inspect <package> Show package metadata

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.9.tar.gz (23.5 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.9-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apstool-0.1.9.tar.gz
  • Upload date:
  • Size: 23.5 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.9.tar.gz
Algorithm Hash digest
SHA256 b5a167a0681d00a72af6595510711c13873ff8c8db084e5b431d8c774e44748d
MD5 a2da18938302b11bfeb9e688f3201eac
BLAKE2b-256 90e27ca647fa94fe472cac7524e2c072e9e36e7e4757d2646eae445c2cb79733

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apstool-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 17.8 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 131c4aa80075aee0538bbc9fcb3844f122eee434fcfe9d499b3c4f34d62e7cfc
MD5 f6555ea4a0ad7cb05d2e04b920665ade
BLAKE2b-256 674f1a6bac94468b9eda136e0f4b9ba47d047126973f11e66c24e57fefdb1afd

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