Skip to content

chore(seo): retarget PyPI metadata for category-search discovery#56

Merged
amavashev merged 2 commits into
mainfrom
chore/pypi-metadata-seo
May 6, 2026
Merged

chore(seo): retarget PyPI metadata for category-search discovery#56
amavashev merged 2 commits into
mainfrom
chore/pypi-metadata-seo

Conversation

@amavashev
Copy link
Copy Markdown
Contributor

Summary

Phase 1.2 of the Python-gap closing plan. Updates pyproject.toml metadata so the package is findable for natural Python search queries, not just brand-led ones.

Why

Diagnostic on the runcycles repo data showed the biggest Python sub-gap is discovery, not SDK feature parity. Cycles doesn't rank for queries like "Python AI agent budget control" or "spending limit AI agent" while named competitors (AgentBudget, AgentGuard, agent-cost-guardrails) do. The brand-led description and missing keywords were contributors.

Three changes

  1. Description rewritten to lead with the literal category-search phrase:

    • Old: "Python client for the Cycles budget-management protocol"
    • New: "Python AI agent budget control — enforce LLM cost limits, tool permissions, and multi-tenant policies before agent actions execute."
  2. Keywords expanded 12 → 21, organized into three groups:

    • Category-search: ai-agent, agent-budget, agent-governance, budget-control, cost-control, cost-enforcement, spending-limit, llm-cost, runtime-authority, action-control, multi-tenant
    • Framework targeting: langchain, langgraph, crewai, autogen, openai-agents, mcp, openai, anthropic
    • Brand: cycles, runcycles

    Drops metering (low search volume); adds missing framework tags (langgraph, crewai, autogen, openai-agents, mcp).

  3. Classifier added: Topic :: Scientific/Engineering :: Artificial Intelligence — standard PyPI classifier for AI/ML packages, improves browse-by-category discovery.

When this takes effect

On next PyPI publish (version bump required). Suggest 0.4.0 → 0.4.1 since this is metadata-only and ships no behavior change.

Companion changes (already applied separately)

Test plan

  • Bump version (0.4.0 → 0.4.1) and publish to PyPI.
  • Verify the package page on pypi.org shows the new description and keywords.
  • Search PyPI for "AI agent budget control" and "Python LLM cost enforcement"; confirm runcycles surfaces in results within ~1 week.
  • Track cycles-client-python unique cloners + PyPI weekly install rate over the next 30 days; target +50% on each as the discovery work compounds.

amavashev added 2 commits May 6, 2026 14:06
The Python adoption side has been lagging TypeScript materially (PyPI
flat for ~6 weeks pre-source-change; cycles-client-python at 157 unique
GitHub cloners vs cycles-client-typescript at 288). Diagnostic showed
the biggest sub-gap is discovery: Cycles doesn't rank for natural
Python search queries while named competitors (AgentBudget, AgentGuard,
agent-cost-guardrails) do. The brand-led PyPI description was a
contributor.

Three changes:

1. Description rewritten to lead with the literal category-search
   phrase "Python AI agent budget control" instead of the brand-led
   "Python client for the Cycles budget-management protocol."

2. Keywords expanded from 12 to 21, organized into three groups:
   category-search keywords (ai-agent, agent-budget, budget-control,
   cost-control, cost-enforcement, spending-limit, llm-cost,
   runtime-authority, action-control, multi-tenant), framework
   targeting (langchain, langgraph, crewai, autogen, openai-agents,
   mcp, openai, anthropic), and brand (cycles, runcycles). Drops
   `metering` (low search volume) and adds the missing framework tags.

3. Classifier added: Topic :: Scientific/Engineering ::
   Artificial Intelligence — standard PyPI classifier for AI/ML
   packages, materially improves browse-by-category discovery.

Takes effect on next PyPI publish (version bump required). Suggest
0.4.0 → 0.4.1 since this is metadata-only.

Companion change: GitHub topics already updated separately
(governance dropped, mcp added) to mirror cycles-client-typescript's
topic set.
Metadata-only release. Bumps pyproject.toml version 0.4.0 → 0.4.1
and adds the corresponding CHANGELOG and AUDIT.md entries for the
PyPI discovery-metadata refresh shipped earlier in this branch.

No code, no test, no protocol changes — wire format and public API
are identical to 0.4.0. Ready for `python -m build` + `twine upload`
on merge.
@amavashev amavashev merged commit db0a064 into main May 6, 2026
7 checks passed
@amavashev amavashev deleted the chore/pypi-metadata-seo branch May 6, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant