# Phoenix Tracing: Projects (Python) **Organize traces by application using projects (Phoenix's top-level grouping).** ## Overview Projects group traces for a single application or experiment. **Use for:** Environments (dev/staging/prod), A/B testing, versioning ## Setup ### Environment Variable (Recommended) ```bash export PHOENIX_PROJECT_NAME="my-app-prod" ``` ```python import os os.environ["PHOENIX_PROJECT_NAME"] = "my-app-prod" from phoenix.otel import register register() # Uses "my-app-prod" ``` ### Code ```python from phoenix.otel import register register(project_name="my-app-prod") ``` ## Use Cases **Environments:** ```python # Dev, staging, prod register(project_name="my-app-dev") register(project_name="my-app-staging") register(project_name="my-app-prod") ``` **A/B Testing:** ```python # Compare models register(project_name="chatbot-gpt4") register(project_name="chatbot-claude") ``` **Versioning:** ```python # Track versions register(project_name="my-app-v1") register(project_name="my-app-v2") ``` ## Switching Projects (Python Notebooks Only) ```python from openinference.instrumentation import dangerously_using_project from phoenix.otel import register register(project_name="my-app") # Switch temporarily for evals with dangerously_using_project("my-eval-project"): run_evaluations() ``` **⚠️ Only use in notebooks/scripts, not production.**