Rename packages for PyPI: winegard-birdcage + mcbirdcage

Core library published as winegard-birdcage (import stays `birdcage`).
MCP server renamed birdcage-mcp → mcbirdcage, matching mcserial pattern.
Both packages live on PyPI — `uvx mcbirdcage` works out of the box.
This commit is contained in:
Ryan Malloy 2026-02-17 18:18:31 -07:00
parent b98a5482fa
commit 5a26dce075
20 changed files with 122 additions and 92 deletions

View file

@ -772,9 +772,9 @@ directly via widget API for deterministic screenshots.
| Property | Value |
|----------|-------|
| Package | `birdcage-mcp` |
| Source | `mcp/src/birdcage_mcp/` |
| Entry point | `birdcage_mcp.server:main` |
| PyPI | [`mcbirdcage`](https://pypi.org/project/mcbirdcage/) |
| Source | `mcp/src/mcbirdcage/` |
| Entry point | `mcbirdcage.server:main` |
| Tools | 35 (connection, movement, signal, system, satellite, console) |
| Resources | 5 (`birdcage://config`, `position`, `firmware`, `motor-dynamics`, `el-limits`) |
| Prompts | 3 (`setup_wizard`, `satellite_tracking_guide`, `rf_sweep_guide`) |
@ -783,17 +783,25 @@ directly via widget API for deterministic screenshots.
### Running
```bash
# Demo mode (no hardware)
BIRDCAGE_DEMO=1 uv run --directory mcp birdcage-mcp
# Published package (from PyPI) — no clone needed
uvx mcbirdcage # demo mode auto-detected
BIRDCAGE_DEMO=1 uvx mcbirdcage # explicit demo mode
# Local development (from repo)
BIRDCAGE_DEMO=1 uv run --directory mcp mcbirdcage
# Hardware mode
BIRDCAGE_PORT=/dev/ttyUSB2 uv run --directory mcp birdcage-mcp
BIRDCAGE_PORT=/dev/ttyUSB2 uv run --directory mcp mcbirdcage
```
### Adding to Claude Code
```bash
claude mcp add birdcage-mcp -- env BIRDCAGE_DEMO=1 uv run --directory mcp birdcage-mcp
# Published package (recommended)
claude mcp add mcbirdcage -- uvx mcbirdcage
# Local development
claude mcp add mcbirdcage -- env BIRDCAGE_DEMO=1 uv run --directory mcp mcbirdcage
```
### Environment Variables
@ -809,5 +817,5 @@ claude mcp add birdcage-mcp -- env BIRDCAGE_DEMO=1 uv run --directory mcp birdca
```bash
cd mcp && uv run pytest tests/ # 49 tests via FastMCP run_server_async
uv run ruff check src/ # Lint
uv run ruff check mcp/src/ # Lint
```