Skip to main content

Draft platform-native release announcements (HN, Reddit, X, Mastodon, LinkedIn) from CHANGELOG + README (Python port of @p-vbordei/agent-launch)

Project description

agent-launch (Python)

CI Spec License

Idiomatic Python port of @p-vbordei/agent-launch. Draft platform-native release announcements (HN, Reddit, X, Mastodon, LinkedIn) from your repo's CHANGELOG + README. v0.1: drafts only — you post. Output is textually identical to the TS reference when given the same inputs.

What's in the box

  • draft_one(platform, project, context, repo, anthropic) — produce a platform-tuned post draft
  • Platforms: hn, reddit, x, mastodon, linkedin
  • gather_context(cwd, version) — collect CHANGELOG section + README + recent commits
  • load_launch_config(path) — strict pydantic-validated launch.yaml
  • CLI: agent-launch draft <version> [--platforms hn,x] [--out drafts/]
  • Strict input validation — no surprises in output

Install

pip install agent-launch
# or
uv add agent-launch

Quickstart

CLI (run inside any repo with a CHANGELOG.md, README.md, and launch.yaml):

cp launch.yaml.example launch.yaml && $EDITOR launch.yaml
ANTHROPIC_API_KEY=... agent-launch draft 0.2.0
# → launches/v0.2.0/{hn,reddit-*,x,mastodon,linkedin}.md

Library (offline — uses a scripted fake Anthropic client):

python examples/quickstart.py

See examples/quickstart.py for the 40-line walkthrough.

How it relates

Repo Lang Install
agent-launch TypeScript (reference) npm i -g @p-vbordei/agent-launch
agent-launch-py Python (this repo) pip install agent-launch
agent-launch-rs Rust cargo install agent-launch

All three share the same launch.yaml schema, the same vendored prompt templates, and the same conformance clauses.

Conformance

uv sync --extra dev
uv run pytest -v

The TS reference defines five conformance clauses (see SPEC.md §6). All pass here:

  • C1 — Determinism. Same inputs → same output (with temperature=0 and a scripted client, byte-identical).
  • C2 — Length caps. Per-platform caps enforced with up to 2 retries; over-cap drafts marked capped: false.
  • C3 — Repo URL. Every draft body contains the GitHub URL.
  • C4 — No secrets / declared fields only. Env-var values are never echoed; DraftResult exposes only declared fields.
  • C5 — Strict launch.yaml. Missing/extra/invalid fields fail fast with a clear error.

Plus security clauses S2 (no tools field in the Anthropic call — model has no shell access), S4 (no sockets opened during drafting with a scripted client), S5 (--out sandboxed under cwd).

Architecture

See docs/architecture.md.

Development

git clone https://github.com/p-vbordei/agent-launch-py
cd agent-launch-py
uv sync --extra dev
uv run pytest -v

License

Apache-2.0

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

agent_launch-0.1.0.tar.gz (85.0 kB view details)

Uploaded Source

Built Distribution

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

agent_launch-0.1.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file agent_launch-0.1.0.tar.gz.

File metadata

  • Download URL: agent_launch-0.1.0.tar.gz
  • Upload date:
  • Size: 85.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agent_launch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9fe76db05003b80e096cc2036cb4d8ccc8ed768a0fed87b931f8c43bd11c3321
MD5 f405b66f1151734e3acc0dc0d05929fd
BLAKE2b-256 599f613aff4eed58d31c12b1802be49a624b35536c78a3d56dabf96b2d9602c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_launch-0.1.0.tar.gz:

Publisher: publish.yml on p-vbordei/agent-launch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_launch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agent_launch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agent_launch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03d4b285a39453cccef248c3b80238fd119a68281cf7407dc9b8e87027948b80
MD5 66fe0e3e2a46509e004958cec60d618c
BLAKE2b-256 b5015d6d72cf1449618897f7cb7443d5c92a9f1f070d11ad6f28b72d9a24f828

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_launch-0.1.0-py3-none-any.whl:

Publisher: publish.yml on p-vbordei/agent-launch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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