Phoenix phoenix-server
install
source · Clone the upstream repo
git clone https://github.com/Arize-ai/phoenix
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Arize-ai/phoenix "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.agents/skills/phoenix-server" ~/.claude/skills/arize-ai-phoenix-phoenix-server && rm -rf "$T"
manifest:
.agents/skills/phoenix-server/SKILL.mdsource content
Phoenix Backend Development
Phoenix is an AI observability platform. The backend is Python: FastAPI serving a REST API and Strawberry GraphQL API over an async SQLAlchemy ORM (PostgreSQL + SQLite).
Development Guide Index
Read
DEVELOPMENT.md (env setup, uv, tests, debugpy, pre-commit, REST API conventions) and CONTRIBUTING.md (PR format, conventional commits, code review expectations) if you have not already.
Everyday Commands
make dev-backend # backend only, no frontend build needed uv run pytest path/to/test -n auto # run specific tests in parallel make test-python # full test suite make graphql # regenerate schema after GQL changes make format # format all code make typecheck-python # mypy + pyright
Key Directories
src/phoenix/server/api/ mutations/ Domain-specific mutation mixins, composed in __init__.py types/ GraphQL types with field resolvers input_types/ Strawberry @input classes with validation subscriptions.py Async generator subscriptions (streaming) queries.py Root query type context.py Request context: db, dataloaders, auth, event queue dataloaders/ Batch loaders (prevent N+1 queries) auth.py Permission classes (IsNotReadOnly, IsNotViewer, etc.) routers/ REST API endpoints (v1/) src/phoenix/db/ models.py SQLAlchemy ORM models (single file) migrations/ Alembic migrations tests/unit/server/api/ mutations/ Mutation tests types/ Type resolver tests conftest.py Fixtures: db, gql_client, test data factories
What Are You Doing?
| Task | Reference |
|---|---|
| Adding or modifying a mutation, type, subscription, or input | |
| Writing or modifying tests | |
| Adding a migration or modifying database models | |