Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions changelog.d/304.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CLI help now uses Milo's metadata hooks and schema-derived parameter
descriptions instead of traversing argparse internals. Branded help, JSON
Schema, and MCP discovery now share the command docstrings as their description
source; the minimum Milo version is 0.4.0.
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ classifiers = [
]
dependencies = [
"h11>=0.16.0", # HTTP/1.1 parser (pure Python, well-tested, ~2k LOC)
"milo-cli>=0.2.2", # CLI framework (type-driven parsing, MCP, llms.txt)
"milo-cli>=0.4.0", # Public help hooks, schema descriptions, MCP, llms.txt
]

[project.optional-dependencies]
Expand Down Expand Up @@ -252,7 +252,7 @@ dev = [
"opentelemetry-exporter-otlp-proto-http>=1.40.0",
"sentry-sdk>=2.57.0",
# CLI framework
"milo-cli>=0.2.2",
"milo-cli>=0.4.0",
# Test utilities
"pytest-mock>=3.15.1",
"httpx>=0.28.1",
Expand Down
14 changes: 6 additions & 8 deletions src/pounce/_bench.py
Original file line number Diff line number Diff line change
Expand Up @@ -514,14 +514,6 @@ def _format_results(suites: list[BenchSuite]) -> str:
# ── CLI registration ─────────────────────────────────────────────────


_BENCH_HELP = {
"workers": "Number of server workers (default: 1)",
"duration": "Duration of each workload in seconds (default: 10)",
"connections": "Number of concurrent connections (default: 50)",
"compare": "Also benchmark uvicorn for comparison",
}


def register_bench_command(cli: Any) -> None:
"""Register the ``bench`` subcommand on the CLI."""

Expand All @@ -547,6 +539,12 @@ def bench(
product claim. For reproducible, citable evidence (git SHA, variance,
CPU/RSS telemetry) use ``benchmarks/run_benchmark.py --artifact-output``,
which emits artifacts following ``benchmarks/artifact-schema.json``.

Args:
workers: Number of server workers.
duration: Duration of each workload in seconds.
connections: Number of concurrent connections.
compare: Also benchmark uvicorn for comparison.
"""
suites: list[BenchSuite] = []

Expand Down
Loading
Loading