Skip to main content

apx-example

Template for an Action Platform plugin — an apx, Action Platform extension; every package is named apx-<slug>. Every extension point once, small enough to read in one sitting:

File Extension point
plugin.py the Plugin: slug, needs, options (one with a setup button), register, after_release, after_deploy
tools.py MCP tools example_hello and example_remember, with input and output schemas; remember writes the plugin's options store
cli.py action-platform example hello
rules.py a replaced core slot (gitflow_rules) — stricter branch kinds while the plugin is enabled
release.py named providers: [release] strategy = "calver", [release] changelog = "plain"
target.py the DeployTarget for the example cloud — preflight, readiness, deploy, verify, diagnose, delete — composing the parts below through parts(spec)
abc.py, spec.py one ABC per responsibility (Cloud, Readiness); a frozen Spec per call
cloud.py, checks.py the implementations: the overlay's script (streams its output to the job log), the readiness checks
tests/fake.py, tests/live/ the cloud in memory for fast tests; a suite against the real destination, skipped without it
overlays/ a cloud overlay example — plain files, copied as they are by action-platform cloud set example; add a cookiecutter.json only when the files need rendering

For agents and editors

SPEC.md is the contract a plugin follows. skills/create-plugin/SKILL.md walks an agent through creating apx-<slug> from here — installable in Claude Code (/plugin marketplace add actionplatform/apx-example, then /plugin install apx-example@apx-example), read by Codex through .codex-plugin/, and mirrored for Cursor in .cursor/rules/plugin.mdc. AGENTS.md holds the repository rules every agent reads.

Use this template

  1. Create a repository from it, named apx-<slug>.
  2. Rename apx_example → apx_<slug>, example → <slug> in pyproject.toml (package name, entry points), plugin.py (slug), target.py (name), cli.py, overlays/index.json.
  3. Delete what you do not need; a plugin with only plugin.py and one tool is fine.
  4. pip install -e ".[dev]", pytest, action-platform plugin list (shows example once installed).
  5. Publish to PyPI; open a pull request to plugins-index with <slug>.json.

Rules

  • register only declares; no I/O, threads or connections at import or in register.
  • No monkey-patching of action_platform.* — replace a slot (surface.core.replace) or ask for a hook.
  • needs lists every host you talk to and every environment variable you read.

Reference: writing a plugin · plugins.

Metadata

Release files for apx-example 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apx-example 0.3.0
File Size Uploaded
apx_example-0.3.0.tar.gz 15.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apx-example 0.3.0
File Interpreter ABI Platform
apx_example-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.3 kB

Release files / apx_example-0.3.0.tar.gz

Download URL apx_example-0.3.0.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
52f0f6ce0515d3d6464252f2986b75c1bc9665a9979308a37c17a660149e0ed5
BLAKE2b-256 checksum
How to use checksums
d7e45a18584de18bb4f44e6b0cb9e7abdd30f25cbceda1cebc75e2819d922150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / apx_example-0.3.0-py3-none-any.whl

Download URL apx_example-0.3.0-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37eb8e54d4952a88a475d6aa7b358af8abd4fd3d710c8ca952f6c0d473fea7d5
BLAKE2b-256 checksum
How to use checksums
7047ebecb0eb1c62e1c6199b05a5987b69caf15510cbe901a91472e78b452fcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page