Skip to main content

Python reference SDK for the Agent Command Line Interface Protocol

Project description

rendo-aclip

rendo-aclip is the canonical Python SDK for ACLIP, the Agent Command Line Interface Protocol.

It keeps normal CLI usage natural while standardizing the parts agents actually depend on:

  • progressive Markdown help
  • structured result and error envelopes
  • sidecar manifests for distribution metadata
  • packaging helpers for shipping runnable CLI artifacts

Install

Canonical package:

pip install rendo-aclip

Short-name official alias:

pip install aclip

Both install paths are first-party and synchronized. The import path is the same either way:

from aclip import AclipApp

If you want the canonical dependency name in project manifests, prefer rendo-aclip. If you want the shortest install command, aclip is the official alias.

Smallest End-to-End CLI

src/notes_cli/app.py

from aclip import AclipApp


def create_app() -> AclipApp:
    app = AclipApp(
        name="notes",
        version="0.2.0",
        summary="A minimal notes CLI.",
        description="Create and list notes from a small local CLI.",
    )

    def create_note(title: str, body: str) -> dict:
        """Create a note in a local JSON store.

        Args:
            title: Title for the note.
            body: Body text for the note.
        """
        return {"note": {"title": title, "body": body}}

    app.group(
        "note",
        summary="Manage notes",
        description="Create and inspect notes.",
    ).command(
        "create",
        handler=create_note,
        examples=["notes note create --title hello --body world"],
    )

    return app

src/notes_cli/__main__.py

from aclip import cli_main


cli_main("notes_cli.app:create_app")

Run it like a normal CLI:

python -m notes_cli --help
python -m notes_cli note --help
python -m notes_cli note create --help
python -m notes_cli note create --title hello --body world

The final command emits a structured result envelope instead of ad hoc text.

Build A Distributable CLI

From a dedicated build script:

from aclip import build_cli


artifact = build_cli(
    app_factory="notes_cli.app:create_app",
)

print(artifact.binary_path)
print(artifact.manifest_path)

app_factory is the import target the packaged binary will execute at runtime. That is why the recommended pattern is a separate build.py script instead of having the app object “build itself”.

In a conventional project layout, ACLIP infers:

  • project root
  • source root
  • executable name

Advanced overrides such as project_root, source_root, and extra_paths are still available for monorepos or non-standard layouts, but they are no longer the default path.

What You Get

  • AclipApp for tree-shaped CLI authoring
  • direct handler=... registration and decorator authoring
  • cli_main(...) so launchers do not need manual sys.argv[1:]
  • build_cli() as the canonical packaging API

When To Use ACLIP

Use rendo-aclip when you want a CLI that still feels natural to command-line users while giving agents:

  • predictable help disclosure
  • predictable machine-readable command results
  • a stable packaging and distribution path

If your goal is only a human-first CLI with free-form text output, ACLIP is probably more structure than you need.

Repository

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

rendo_aclip-0.2.0.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.

rendo_aclip-0.2.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file rendo_aclip-0.2.0.tar.gz.

File metadata

  • Download URL: rendo_aclip-0.2.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for rendo_aclip-0.2.0.tar.gz
Algorithm Hash digest
SHA256 03eeb1d12775223071b36c2dc793f6c55066bfab6c991a43f6d151a0bcb023f5
MD5 617c018eb2bbe3cff80228c8d878786f
BLAKE2b-256 34acdc346d1fd9d7c6f9e6d37cada601668f82ea3d7ff12db43366429e09d9c5

See more details on using hashes here.

File details

Details for the file rendo_aclip-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: rendo_aclip-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for rendo_aclip-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d13b17b317fe152cc98078ca34d1c371c53f25da63c9eb848b17001601ead0f
MD5 cba23f2c945dd2034c54bf426196b3d2
BLAKE2b-256 66dcd62be3f0bf4390411fc280e59346069d509be859b209efc0011e36f98a5f

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