diff --git a/AGENTS.md b/AGENTS.md
index ba9c9b356bc..26a1245384d 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -121,7 +121,7 @@ LiteLLM supports MCP for agent workflows:
## RUNNING SCRIPTS
-Use `poetry run python script.py` to run Python scripts in the project environment (for non-test files).
+Use `uv run python script.py` to run Python scripts in the project environment (for non-test files).
## GITHUB TEMPLATES
@@ -232,16 +232,16 @@ When opening issues or pull requests, follow these templates:
### Environment
-- Poetry is installed in `~/.local/bin`; the update script ensures it is on `PATH`.
+- uv is installed in `~/.local/bin`; the update script ensures it is on `PATH`.
- Python 3.12, Node 22 are pre-installed.
-- The virtual environment lives under `~/.cache/pypoetry/virtualenvs/`.
+- The project virtual environment lives under `.venv/`.
### Running the proxy server
Start the proxy with a config file:
```bash
-poetry run litellm --config dev_config.yaml --port 4000
+uv run litellm --config dev_config.yaml --port 4000
```
The proxy takes ~15-20 seconds to fully start (it runs Prisma migrations on boot). Wait for `/health` to return before sending requests. Without a PostgreSQL `DATABASE_URL`, the proxy connects to a default Neon dev database embedded in the `litellm-proxy-extras` package.
@@ -250,17 +250,16 @@ The proxy takes ~15-20 seconds to fully start (it runs Prisma migrations on boot
See `CLAUDE.md` and the `Makefile` for standard commands. Key notes:
-- `psycopg-binary` must be installed (`poetry run pip install psycopg-binary`) because the pytest-postgresql plugin requires it and the lock file only includes `psycopg` (no binary).
-- `openapi-core` must be installed (`poetry run pip install openapi-core`) for the OpenAPI compliance tests in `tests/test_litellm/interactions/`.
+- `uv sync --group proxy-dev --extra proxy` installs the Prisma and proxy-side test dependencies used by the standard local workflow.
- The `--timeout` pytest flag is NOT available; don't pass it.
-- Unit tests: `poetry run pytest tests/test_litellm/ -x -vv -n 4`
+- Unit tests: `uv run pytest tests/test_litellm/ -x -vv -n 4`
- Black `--check` may report pre-existing formatting issues; this does not block test runs.
-- If `poetry install` fails with "pyproject.toml changed significantly since poetry.lock was last generated", run `poetry lock` first to regenerate the lock file.
+- If `uv sync` fails because the lockfile is outdated, run `uv lock` and retry.
### Lint
```bash
-cd litellm && poetry run ruff check .
+cd litellm && uv run ruff check .
```
Ruff is the primary fast linter. For the full lint suite (including mypy, black, circular imports), run `make lint` per `CLAUDE.md`.
@@ -271,4 +270,4 @@ Ruff is the primary fast linter. For the full lint suite (including mypy, black,
- The proxy at port 4000 serves a **pre-built** static UI from `litellm/proxy/_experimental/out/`. After making UI code changes, you must run `npm run build` in the dashboard directory and copy the output: `cp -r ui/litellm-dashboard/out/* litellm/proxy/_experimental/out/` for the proxy to serve the updated UI.
- SVGs used as provider logos (loaded via `
` tags) must NOT use `fill="currentColor"` β replace with an explicit color like `#000000` or use the `-color` variant from lobehub icons, since CSS color inheritance does not work inside `
` elements.
- Provider logos live in `ui/litellm-dashboard/public/assets/logos/` (source) and `litellm/proxy/_experimental/out/assets/logos/` (pre-built). Both locations must have the file for it to work in dev and proxy-served modes.
-- UI Vitest tests: `cd ui/litellm-dashboard && npx vitest run`
\ No newline at end of file
+- UI Vitest tests: `cd ui/litellm-dashboard && npx vitest run`
diff --git a/CLAUDE.md b/CLAUDE.md
index f0478120181..d16bb2ec610 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -7,7 +7,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
### Installation
- `make install-dev` - Install core development dependencies
- `make install-proxy-dev` - Install proxy development dependencies with full feature set
-- `make install-test-deps` - Install all test dependencies
+- `make install-test-deps` - Install the full local test environment and generate the Prisma client
### Testing
- `make test` - Run all tests
@@ -22,11 +22,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- `make lint-mypy` - Run MyPy type checking only
### Single Test Files
-- `poetry run pytest tests/path/to/test_file.py -v` - Run specific test file
-- `poetry run pytest tests/path/to/test_file.py::test_function -v` - Run specific test
+- `uv run pytest tests/path/to/test_file.py -v` - Run specific test file
+- `uv run pytest tests/path/to/test_file.py::test_function -v` - Run specific test
### Running Scripts
-- `poetry run python script.py` - Run Python scripts (use for non-test files)
+- `uv run python script.py` - Run Python scripts (use for non-test files)
### GitHub Issue & PR Templates
When contributing to the project, use the appropriate templates:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 77bc15ff50b..b92ef5ea72f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -122,9 +122,17 @@ Run all unit tests (uses parallel execution for speed):
make test-unit
```
+If you're running broader test suites, proxy tests, or anything that touches PostgreSQL-backed fixtures/plugins, install the full local test environment first:
+
+```bash
+make install-test-deps
+```
+
+This syncs the locked test environment used across the repo, including `psycopg` v3 plus `psycopg-binary` (used by `pytest-postgresql`), `psycopg2-binary` (used by some proxy E2E tests), and a generated Prisma client for DB-backed proxy tests, so pytest startup matches CI without manual package installs.
+
Run specific test files:
```bash
-poetry run pytest tests/test_litellm/test_your_file.py -v
+uv run pytest tests/test_litellm/test_your_file.py -v
```
### Running Linting and Formatting Checks
@@ -172,7 +180,7 @@ Run `make help` to see all available commands:
make help # Show all available commands
make install-dev # Install development dependencies
make install-proxy-dev # Install proxy development dependencies
-make install-test-deps # Install test dependencies (for running tests)
+make install-test-deps # Install the full local test environment
make format # Apply Black code formatting
make format-check # Check Black formatting (matches CI)
make lint # Run all linting checks
@@ -234,7 +242,7 @@ To run the proxy server locally:
make install-proxy-dev
# Start the proxy server
-poetry run litellm --config your_config.yaml
+uv run litellm --config your_config.yaml
```
### Docker Development
@@ -319,4 +327,4 @@ Looking for ideas? Check out:
- π§ͺ Test coverage improvements
- π New LLM provider integrations
-Thank you for contributing to LiteLLM! π
\ No newline at end of file
+Thank you for contributing to LiteLLM! π
diff --git a/GEMINI.md b/GEMINI.md
index a9d40c910b2..9e950d89b33 100644
--- a/GEMINI.md
+++ b/GEMINI.md
@@ -22,11 +22,11 @@ This file provides guidance to Gemini when working with code in this repository.
- `make lint-mypy` - Run MyPy type checking only
### Single Test Files
-- `poetry run pytest tests/path/to/test_file.py -v` - Run specific test file
-- `poetry run pytest tests/path/to/test_file.py::test_function -v` - Run specific test
+- `uv run pytest tests/path/to/test_file.py -v` - Run specific test file
+- `uv run pytest tests/path/to/test_file.py::test_function -v` - Run specific test
### Running Scripts
-- `poetry run python script.py` - Run Python scripts (use for non-test files)
+- `uv run python script.py` - Run Python scripts (use for non-test files)
### GitHub Issue & PR Templates
When contributing to the project, use the appropriate templates:
@@ -105,4 +105,4 @@ LiteLLM is a unified interface for 100+ LLM providers with two main components:
### Enterprise Features
- Enterprise-specific code in `enterprise/` directory
- Optional features enabled via environment variables
-- Separate licensing and authentication for enterprise features
\ No newline at end of file
+- Separate licensing and authentication for enterprise features
diff --git a/README.md b/README.md
index a6dc597574e..079cc6e98aa 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@
### Python SDK
```shell
-pip install litellm
+uv add litellm
```
```python
@@ -68,7 +68,7 @@ response = completion(model="anthropic/claude-sonnet-4-20250514", messages=[{"ro
[**Getting Started - E2E Tutorial**](https://docs.litellm.ai/docs/proxy/docker_quick_start) - Setup virtual keys, make your first request
```shell
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
litellm --model gpt-4o
```
@@ -390,8 +390,8 @@ Support for more providers. Missing a provider or LLM Platform, raise a [feature
### Backend
1. (In root) create virtual environment `python -m venv .venv`
2. Activate virtual environment `source .venv/bin/activate`
-3. Install dependencies `pip install -e ".[all]"`
-4. `pip install prisma`
+3. Install dependencies `uv sync --all-extras --group proxy-dev`
+4. `uv run prisma generate`
5. `prisma generate`
6. Start proxy backend `python litellm/proxy/proxy_cli.py`
@@ -419,7 +419,7 @@ We welcome contributions to LiteLLM! Whether you're fixing bugs, adding features
## Quick Start for Contributors
-This requires poetry to be installed.
+This requires uv to be installed.
```bash
git clone https://github.com/BerriAI/litellm.git
@@ -473,4 +473,3 @@ All these checks must pass before your PR can be merged.
-
diff --git a/docs/my-website/docs/adding_provider/generic_prompt_management_api.md b/docs/my-website/docs/adding_provider/generic_prompt_management_api.md
index d1b119d94c5..21055de3a7f 100644
--- a/docs/my-website/docs/adding_provider/generic_prompt_management_api.md
+++ b/docs/my-website/docs/adding_provider/generic_prompt_management_api.md
@@ -378,7 +378,7 @@ if __name__ == "__main__":
1. Install dependencies:
```bash
-pip install fastapi uvicorn
+uv add fastapi uvicorn
```
2. Save the code above to `prompt_server.py`
diff --git a/docs/my-website/docs/caching/all_caches.md b/docs/my-website/docs/caching/all_caches.md
index 6f81da9105a..7cc329c93e3 100644
--- a/docs/my-website/docs/caching/all_caches.md
+++ b/docs/my-website/docs/caching/all_caches.md
@@ -23,7 +23,7 @@ import TabItem from '@theme/TabItem';
Install redis
```shell
-pip install redis
+uv add redis
```
For the hosted version you can setup your own Redis DB here: https://redis.io/try-free/
@@ -55,7 +55,7 @@ response2 = completion(
For GCP Memorystore Redis with IAM authentication:
```shell
-pip install google-cloud-iam
+uv add google-cloud-iam
```
```python
@@ -150,7 +150,7 @@ response2 = completion(
Install boto3
```shell
-pip install boto3
+uv add boto3
```
Set AWS environment variables
@@ -187,7 +187,7 @@ response2 = completion(
Install azure-storage-blob and azure-identity
```shell
-pip install azure-storage-blob azure-identity
+uv add azure-storage-blob azure-identity
```
```python
@@ -219,7 +219,7 @@ response2 = completion(
Install redisvl client
```shell
-pip install redisvl==0.4.1
+uv add redisvl==0.4.1
```
For the hosted version you can setup your own Redis DB here: https://redis.io/try-free/
@@ -366,7 +366,7 @@ response2 = completion(
Install the disk caching extra:
```shell
-pip install "litellm[caching]"
+uv add "litellm[caching]"
```
Then you can use the disk cache as follows.
diff --git a/docs/my-website/docs/completion/message_sanitization.md b/docs/my-website/docs/completion/message_sanitization.md
index 17482c59339..6114b640f0f 100644
--- a/docs/my-website/docs/completion/message_sanitization.md
+++ b/docs/my-website/docs/completion/message_sanitization.md
@@ -401,7 +401,7 @@ response = litellm.completion(
3. Ensure you're using a recent version of LiteLLM:
```bash
- pip install --upgrade litellm
+ uv add --upgrade-package litellm litellm
```
### Unexpected Dummy Tool Results
diff --git a/docs/my-website/docs/contributing.md b/docs/my-website/docs/contributing.md
index 168d092ddc7..9e2799ddd6c 100644
--- a/docs/my-website/docs/contributing.md
+++ b/docs/my-website/docs/contributing.md
@@ -29,7 +29,7 @@ general_settings:
Start the proxy on port 4000:
```bash
-poetry run litellm --config config.yaml --port 4000
+uv run litellm --config config.yaml --port 4000
```
The UI comes pre-built in the repo. Access it at `http://localhost:4000/ui`
diff --git a/docs/my-website/docs/default_code_snippet.md b/docs/my-website/docs/default_code_snippet.md
index 0921c316685..34c842de7f7 100644
--- a/docs/my-website/docs/default_code_snippet.md
+++ b/docs/my-website/docs/default_code_snippet.md
@@ -16,7 +16,7 @@ If you want to use the non-hosted version, [go here](https://docs.litellm.ai/doc
```
-pip install litellm
+uv add litellm
```
\ No newline at end of file
diff --git a/docs/my-website/docs/extras/contributing_code.md b/docs/my-website/docs/extras/contributing_code.md
index 673a83aca05..95d82f2c9ce 100644
--- a/docs/my-website/docs/extras/contributing_code.md
+++ b/docs/my-website/docs/extras/contributing_code.md
@@ -41,7 +41,7 @@ git clone https://github.com/BerriAI/litellm.git
Step 2: Install dev dependencies
```shell
-poetry install --with dev --extras proxy
+uv sync --group dev --extra proxy
```
### 2. Adding tests
diff --git a/docs/my-website/docs/index.md b/docs/my-website/docs/index.md
index ca63c9e39ff..6767b7200bf 100644
--- a/docs/my-website/docs/index.md
+++ b/docs/my-website/docs/index.md
@@ -26,13 +26,13 @@ import Image from '@theme/IdealImage';
## Installation
```shell
-pip install litellm
+uv add litellm
```
To run the full Proxy Server (LLM Gateway):
```shell
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
```
---
@@ -336,7 +336,7 @@ The proxy is a self-hosted OpenAI-compatible gateway. Any client that works with
#### Step 1 β Start the proxy
-
+
```shell
litellm --model huggingface/bigcode/starcoder
diff --git a/docs/my-website/docs/integrations/letta.md b/docs/my-website/docs/integrations/letta.md
index 9711999df5e..1be902065b5 100644
--- a/docs/my-website/docs/integrations/letta.md
+++ b/docs/my-website/docs/integrations/letta.md
@@ -16,7 +16,7 @@ Letta allows you to build LLM agents that can:
## Prerequisites
```bash
-pip install letta litellm
+uv add letta litellm
```
## Quick Start
@@ -910,7 +910,7 @@ for model in models:
```
### Common SDK Issues
-- **Import errors**: Ensure `pip install litellm letta` is run
+- **Import errors**: Ensure `uv add litellm letta` is run
- **Model format**: Use `provider/model` format (e.g., `openai/gpt-4`)
- **API key format**: Different providers have different key formats
- **Rate limits**: Implement exponential backoff for retries
diff --git a/docs/my-website/docs/langchain/langchain.md b/docs/my-website/docs/langchain/langchain.md
index c67375ce1be..b692f1bfd7a 100644
--- a/docs/my-website/docs/langchain/langchain.md
+++ b/docs/my-website/docs/langchain/langchain.md
@@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem';
## Pre-Requisites
```shell
-!pip install litellm langchain
+!uv add litellm langchain
```
## Quick Start
diff --git a/docs/my-website/docs/learn/gateway_quickstart.md b/docs/my-website/docs/learn/gateway_quickstart.md
index acec259758c..eb7a15cfd41 100644
--- a/docs/my-website/docs/learn/gateway_quickstart.md
+++ b/docs/my-website/docs/learn/gateway_quickstart.md
@@ -13,7 +13,7 @@ If you need a Docker or database-first setup, use the [Docker + Database tutoria
## 1. Install The Gateway
```bash
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
```
## 2. Set One Provider Key
diff --git a/docs/my-website/docs/learn/sdk_quickstart.md b/docs/my-website/docs/learn/sdk_quickstart.md
index 0fb8c3f02a5..522a7251e31 100644
--- a/docs/my-website/docs/learn/sdk_quickstart.md
+++ b/docs/my-website/docs/learn/sdk_quickstart.md
@@ -11,7 +11,7 @@ Use this path if you are integrating LiteLLM directly into application code.
## 1. Install LiteLLM
```bash
-pip install litellm==1.82.6
+uv add 'litellm==1.82.6'
```
## 2. Set Provider Credentials
diff --git a/docs/my-website/docs/load_test.md b/docs/my-website/docs/load_test.md
index 071b097904b..52274024eb8 100644
--- a/docs/my-website/docs/load_test.md
+++ b/docs/my-website/docs/load_test.md
@@ -17,7 +17,7 @@ model_list:
api_base: https://exampleopenaiendpoint-production.up.railway.app/
```
-2. `pip install locust`
+2. `uv add locust`
3. Create a file called `locustfile.py` on your local machine. Copy the contents from the litellm load test located [here](https://github.com/BerriAI/litellm/blob/main/.github/workflows/locustfile.py)
diff --git a/docs/my-website/docs/load_test_advanced.md b/docs/my-website/docs/load_test_advanced.md
index d7bc35e74e0..b23f0da35c3 100644
--- a/docs/my-website/docs/load_test_advanced.md
+++ b/docs/my-website/docs/load_test_advanced.md
@@ -70,7 +70,7 @@ litellm_settings:
callbacks: ["prometheus"] # Enterprise LiteLLM Only - use prometheus to get metrics on your load test
```
-2. `pip install locust`
+2. `uv add locust`
3. Create a file called `locustfile.py` on your local machine. Copy the contents from the litellm load test located [here](https://github.com/BerriAI/litellm/blob/main/.github/workflows/locustfile.py)
@@ -138,7 +138,7 @@ litellm_settings:
callbacks: ["prometheus"] # Enterprise LiteLLM Only - use prometheus to get metrics on your load test
```
-2. `pip install locust`
+2. `uv add locust`
3. Create a file called `locustfile.py` on your local machine. Copy the contents from the litellm load test located [here](https://github.com/BerriAI/litellm/blob/main/.github/workflows/locustfile.py)
diff --git a/docs/my-website/docs/mcp_aws_sigv4.md b/docs/my-website/docs/mcp_aws_sigv4.md
index 9dc60bce06e..07de275d56b 100644
--- a/docs/my-website/docs/mcp_aws_sigv4.md
+++ b/docs/my-website/docs/mcp_aws_sigv4.md
@@ -175,7 +175,7 @@ SigV4-authenticated MCP servers skip the standard health check on proxy startup.
Install the `botocore` package:
```bash
-pip install botocore
+uv add botocore
```
`botocore` is used for SigV4 credential handling and is required when using `aws_sigv4` auth.
diff --git a/docs/my-website/docs/mcp_oauth.md b/docs/my-website/docs/mcp_oauth.md
index 5c4b70cc5b3..3340533286b 100644
--- a/docs/my-website/docs/mcp_oauth.md
+++ b/docs/my-website/docs/mcp_oauth.md
@@ -205,7 +205,7 @@ sequenceDiagram
Use [BerriAI/mock-oauth2-mcp-server](https://github.com/BerriAI/mock-oauth2-mcp-server) to test locally:
```bash title="Terminal 1 - Start mock server" showLineNumbers
-pip install fastapi uvicorn
+uv add fastapi uvicorn
python mock_oauth2_mcp_server.py # starts on :8765
```
diff --git a/docs/my-website/docs/observability/braintrust.md b/docs/my-website/docs/observability/braintrust.md
index 645ce074ca5..84f54dc0fdc 100644
--- a/docs/my-website/docs/observability/braintrust.md
+++ b/docs/my-website/docs/observability/braintrust.md
@@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';
## Quick Start
```python
-# pip install braintrust
+# uv add braintrust
import litellm
import os
diff --git a/docs/my-website/docs/observability/lago.md b/docs/my-website/docs/observability/lago.md
index 337a2b553ee..a7663cb98c7 100644
--- a/docs/my-website/docs/observability/lago.md
+++ b/docs/my-website/docs/observability/lago.md
@@ -22,7 +22,7 @@ litellm.callbacks = ["lago"] # logs cost + usage of successful calls to lago
```python
-# pip install lago
+# uv add lago
import litellm
import os
diff --git a/docs/my-website/docs/observability/langfuse_integration.md b/docs/my-website/docs/observability/langfuse_integration.md
index 32849ebdb92..f696f9be41c 100644
--- a/docs/my-website/docs/observability/langfuse_integration.md
+++ b/docs/my-website/docs/observability/langfuse_integration.md
@@ -26,9 +26,9 @@ For Langfuse v3, we recommend using the [Langfuse OTEL](./langfuse_otel_integrat
## Usage with LiteLLM Python SDK
### Pre-Requisites
-Ensure you have run `pip install langfuse` for this integration
+Ensure you have run `uv add langfuse` for this integration
```shell
-pip install langfuse==2.59.7 litellm
+uv add langfuse==2.59.7 litellm
```
### Quick Start
@@ -44,7 +44,7 @@ litellm.success_callback = ["langfuse"]
litellm.failure_callback = ["langfuse"] # logs errors to langfuse
```
```python
-# pip install langfuse
+# uv add langfuse
import litellm
import os
@@ -335,7 +335,7 @@ Be aware that if you are continuing an existing trace, and you set `update_trace
## Troubleshooting & Errors
### Data not getting logged to Langfuse ?
-- Ensure you're on the latest version of langfuse `pip install langfuse -U`. The latest version allows litellm to log JSON input/outputs to langfuse
+- Ensure you're on the latest version of langfuse `uv add langfuse -U`. The latest version allows litellm to log JSON input/outputs to langfuse
- Follow [this checklist](https://langfuse.com/faq/all/missing-traces) if you don't see any traces in langfuse.
## Support & Talk to Founders
diff --git a/docs/my-website/docs/observability/langfuse_otel_integration.md b/docs/my-website/docs/observability/langfuse_otel_integration.md
index 79ad2f6f75d..90f7f7becca 100644
--- a/docs/my-website/docs/observability/langfuse_otel_integration.md
+++ b/docs/my-website/docs/observability/langfuse_otel_integration.md
@@ -24,7 +24,7 @@ The Langfuse OpenTelemetry integration allows you to send LiteLLM traces and obs
2. **API Keys**: Get your public and secret keys from your Langfuse project settings
3. **Dependencies**: Install required packages:
```bash
- pip install litellm opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp
+ uv add litellm opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp
```
## Configuration
diff --git a/docs/my-website/docs/observability/langsmith_integration.md b/docs/my-website/docs/observability/langsmith_integration.md
index bf867319de8..5eb36cd8149 100644
--- a/docs/my-website/docs/observability/langsmith_integration.md
+++ b/docs/my-website/docs/observability/langsmith_integration.md
@@ -18,7 +18,7 @@ join our [discord](https://discord.gg/wuPM9dRgDw)
## Pre-Requisites
```shell
-pip install litellm
+uv add litellm
```
## Quick Start
diff --git a/docs/my-website/docs/observability/levo_integration.md b/docs/my-website/docs/observability/levo_integration.md
index 3e46cf6b921..c11e720aebe 100644
--- a/docs/my-website/docs/observability/levo_integration.md
+++ b/docs/my-website/docs/observability/levo_integration.md
@@ -36,7 +36,7 @@ Send all your LLM requests and responses to Levo for monitoring and analysis usi
**1. Install OpenTelemetry dependencies:**
```bash
-pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc
+uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc
```
**2. Enable Levo callback in your LiteLLM config:**
@@ -133,7 +133,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \
```
4. **Check for initialization errors**: Look for errors in LiteLLM startup logs. Common issues:
- - Missing OpenTelemetry packages: Install with `pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc`
+ - Missing OpenTelemetry packages: Install with `uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc`
- Missing required environment variables: All four required variables must be set
- Invalid collector URL: Ensure the URL is correct and reachable
@@ -150,7 +150,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \
- Solution: Set the `LEVOAI_COLLECTOR_URL` environment variable with your collector endpoint URL from Levo support.
**Error: "No module named 'opentelemetry'"**
-- Solution: Install OpenTelemetry packages: `pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc`
+- Solution: Install OpenTelemetry packages: `uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemetry-exporter-otlp-proto-grpc`
## Additional Resources
diff --git a/docs/my-website/docs/observability/literalai_integration.md b/docs/my-website/docs/observability/literalai_integration.md
index 128c86b2cc3..88ae7309215 100644
--- a/docs/my-website/docs/observability/literalai_integration.md
+++ b/docs/my-website/docs/observability/literalai_integration.md
@@ -11,7 +11,7 @@ import Image from '@theme/IdealImage';
Ensure you have the `literalai` package installed:
```shell
-pip install literalai litellm
+uv add literalai litellm
```
## Quick Start
diff --git a/docs/my-website/docs/observability/logfire_integration.md b/docs/my-website/docs/observability/logfire_integration.md
index 00652c0f1a1..bf6b03e205f 100644
--- a/docs/my-website/docs/observability/logfire_integration.md
+++ b/docs/my-website/docs/observability/logfire_integration.md
@@ -17,11 +17,11 @@ join our [discord](https://discord.gg/wuPM9dRgDw)
Ensure you have installed the following packages to use this integration
```shell
-pip install litellm
+uv add litellm
-pip install opentelemetry-api==1.25.0
-pip install opentelemetry-sdk==1.25.0
-pip install opentelemetry-exporter-otlp==1.25.0
+uv add opentelemetry-api==1.25.0
+uv add opentelemetry-sdk==1.25.0
+uv add opentelemetry-exporter-otlp==1.25.0
```
## Quick Start
@@ -33,7 +33,7 @@ litellm.callbacks = ["logfire"]
```
```python
-# pip install logfire
+# uv add logfire
import litellm
import os
diff --git a/docs/my-website/docs/observability/lunary_integration.md b/docs/my-website/docs/observability/lunary_integration.md
index 4f1dca9d4af..fee07091cbd 100644
--- a/docs/my-website/docs/observability/lunary_integration.md
+++ b/docs/my-website/docs/observability/lunary_integration.md
@@ -15,7 +15,7 @@ You can reach out to us anytime by [email](mailto:hello@lunary.ai) or directly [
### Pre-Requisites
```shell
-pip install litellm lunary
+uv add litellm lunary
```
### Quick Start
@@ -124,7 +124,7 @@ my_chain("Chain input")
### Step1: Install dependencies and set your environment variables
Install the dependencies
```shell
-pip install litellm lunary
+uv add litellm lunary
```
Get you Lunary public key from from https://app.lunary.ai/settings
diff --git a/docs/my-website/docs/observability/mlflow.md b/docs/my-website/docs/observability/mlflow.md
index 5fa46bdfdac..4018c970482 100644
--- a/docs/my-website/docs/observability/mlflow.md
+++ b/docs/my-website/docs/observability/mlflow.md
@@ -17,7 +17,7 @@ MLflowβs integration with LiteLLM supports advanced observability compatible w
Install MLflow:
```shell
-pip install "litellm[mlflow]"
+uv add "litellm[mlflow]"
```
To enable MLflow auto tracing for LiteLLM:
@@ -167,7 +167,7 @@ This approach generates a unified trace, combining your custom Python code with
For using `mlflow` on LiteLLM Proxy Server, you need to install the `mlflow` package on your docker container.
```shell
-pip install "mlflow>=3.1.4"
+uv add "mlflow>=3.1.4"
```
### Configuration
diff --git a/docs/my-website/docs/observability/openmeter.md b/docs/my-website/docs/observability/openmeter.md
index 2f53568757f..b3e07ef8ff9 100644
--- a/docs/my-website/docs/observability/openmeter.md
+++ b/docs/my-website/docs/observability/openmeter.md
@@ -28,7 +28,7 @@ litellm.callbacks = ["openmeter"] # logs cost + usage of successful calls to ope
```python
-# pip install openmeter
+# uv add openmeter
import litellm
import os
diff --git a/docs/my-website/docs/observability/opentelemetry_integration.md b/docs/my-website/docs/observability/opentelemetry_integration.md
index 80ef1bcc989..f8fcebf7ab6 100644
--- a/docs/my-website/docs/observability/opentelemetry_integration.md
+++ b/docs/my-website/docs/observability/opentelemetry_integration.md
@@ -27,7 +27,7 @@ USE_OTEL_LITELLM_REQUEST_SPAN=true
Install the OpenTelemetry SDK:
```
-pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp
+uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp
```
Set the environment variables (different providers may require different variables):
@@ -63,7 +63,7 @@ OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_HEADERS="api-key=key,other-config-value=value"
```
-> Note: OTLP gRPC requires `grpcio`. Install via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: OTLP gRPC requires `grpcio`. Install via `uv add "litellm[grpc]"` (or `grpcio`).
@@ -75,7 +75,7 @@ OTEL_ENDPOINT="https://api.lmnr.ai:8443"
OTEL_HEADERS="authorization=Bearer "
```
-> Note: OTLP gRPC requires `grpcio`. Install via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: OTLP gRPC requires `grpcio`. Install via `uv add "litellm[grpc]"` (or `grpcio`).
diff --git a/docs/my-website/docs/observability/phoenix_integration.md b/docs/my-website/docs/observability/phoenix_integration.md
index 67ba815557e..998e0fca6c2 100644
--- a/docs/my-website/docs/observability/phoenix_integration.md
+++ b/docs/my-website/docs/observability/phoenix_integration.md
@@ -22,7 +22,7 @@ Use just 2 lines of code, to instantly log your responses **across all providers
You can also use the instrumentor option instead of the callback, which you can find [here](https://docs.arize.com/phoenix/tracing/integrations-tracing/litellm).
```bash
-pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp litellm[proxy]
+uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp litellm[proxy]
```
```python
litellm.callbacks = ["arize_phoenix"]
@@ -73,7 +73,7 @@ environment_variables:
PHOENIX_COLLECTOR_HTTP_ENDPOINT: "https://app.phoenix.arize.com/s//v1/traces" # OPTIONAL - For setting the HTTP endpoint
```
-> Note: If you set the gRPC endpoint, install `grpcio` via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: If you set the gRPC endpoint, install `grpcio` via `uv add "litellm[grpc]"` (or `grpcio`).
2. Start the proxy
diff --git a/docs/my-website/docs/observability/qualifire_integration.md b/docs/my-website/docs/observability/qualifire_integration.md
index cf866f467bf..cf376136e17 100644
--- a/docs/my-website/docs/observability/qualifire_integration.md
+++ b/docs/my-website/docs/observability/qualifire_integration.md
@@ -23,7 +23,7 @@ Looking for Qualifire Guardrails? Check out the [Qualifire Guardrails Integratio
2. Get your API key and webhook URL from the Qualifire dashboard
```bash
-pip install litellm
+uv add litellm
```
## Quick Start
diff --git a/docs/my-website/docs/observability/raw_request_response.md b/docs/my-website/docs/observability/raw_request_response.md
index 71305dae692..011a3a74af7 100644
--- a/docs/my-website/docs/observability/raw_request_response.md
+++ b/docs/my-website/docs/observability/raw_request_response.md
@@ -12,7 +12,7 @@ See the raw request/response sent by LiteLLM in your logging provider (OTEL/Lang
```python
-# pip install langfuse
+# uv add langfuse
import litellm
import os
diff --git a/docs/my-website/docs/observability/scrub_data.md b/docs/my-website/docs/observability/scrub_data.md
index f8bb4d556c7..4e13d1b5a1e 100644
--- a/docs/my-website/docs/observability/scrub_data.md
+++ b/docs/my-website/docs/observability/scrub_data.md
@@ -60,7 +60,7 @@ litellm.callbacks = [customHandler]
3. Test it!
```python
-# pip install langfuse
+# uv add langfuse
import os
import litellm
diff --git a/docs/my-website/docs/observability/signoz.md b/docs/my-website/docs/observability/signoz.md
index f306b143ef0..7af0c294063 100644
--- a/docs/my-website/docs/observability/signoz.md
+++ b/docs/my-website/docs/observability/signoz.md
@@ -17,7 +17,7 @@ Instrumenting LiteLLM in your AI applications with telemetry ensures full observ
- A [SigNoz Cloud account](https://signoz.io/teams/) with an active ingestion key
- Internet access to send telemetry data to SigNoz Cloud
- [LiteLLM](https://www.litellm.ai/) SDK or Proxy integration
-- For Python: `pip` installed for managing Python packages and _(optional but recommended)_ a Python virtual environment to isolate dependencies
+- For Python: `uv` installed for managing Python packages and _(optional but recommended)_ a Python virtual environment to isolate dependencies
## Monitoring LiteLLM
@@ -37,7 +37,7 @@ No-code auto-instrumentation is recommended for quick setup with minimal code ch
**Step 1:** Install the necessary packages in your Python environment.
```bash
-pip install \
+uv add \
opentelemetry-api \
opentelemetry-distro \
opentelemetry-exporter-otlp \
@@ -99,7 +99,7 @@ OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=openai \
opentelemetry-instrument
```
-> Note: OTLP gRPC requires `grpcio`. Install via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: OTLP gRPC requires `grpcio`. Install via `uv add "litellm[grpc]"` (or `grpcio`).
> π Note: We're using `OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=openai` in the run command to disable the OpenAI instrumentor for tracing. This avoids conflicts with LiteLLM's native telemetry/instrumentation, ensuring that telemetry is captured exclusively through LiteLLM's built-in instrumentation.
@@ -120,7 +120,7 @@ Code-based instrumentation gives you fine-grained control over your telemetry co
**Step 1:** Install the necessary packages in your Python environment.
```bash
-pip install \
+uv add \
opentelemetry-api \
opentelemetry-sdk \
opentelemetry-exporter-otlp \
@@ -338,7 +338,7 @@ You can also check out our custom LiteLLM SDK dashboardΒ [here](https://signoz.i
**Step 1:** Install the necessary packages in your Python environment.
```bash
-pip install opentelemetry-api \
+uv add opentelemetry-api \
opentelemetry-sdk \
opentelemetry-exporter-otlp \
'litellm[proxy]'
@@ -364,7 +364,7 @@ export OTEL_METRICS_EXPORTER="otlp"
export OTEL_LOGS_EXPORTER="otlp"
```
-> Note: OTLP gRPC requires `grpcio`. Install via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: OTLP gRPC requires `grpcio`. Install via `uv add "litellm[grpc]"` (or `grpcio`).
- Set the `` to match your SigNoz Cloud [region](https://signoz.io/docs/ingestion/signoz-cloud/overview/#endpoint)
- Replace `` with your SigNoz [ingestion key](https://signoz.io/docs/ingestion/signoz-cloud/keys/)
diff --git a/docs/my-website/docs/observability/slack_integration.md b/docs/my-website/docs/observability/slack_integration.md
index 468d8b5945c..2b7737a0cfe 100644
--- a/docs/my-website/docs/observability/slack_integration.md
+++ b/docs/my-website/docs/observability/slack_integration.md
@@ -13,7 +13,7 @@ join our [discord](https://discord.gg/wuPM9dRgDw)
### Step 1
```shell
-pip install litellm
+uv add litellm
```
### Step 2
diff --git a/docs/my-website/docs/observability/sumologic_integration.md b/docs/my-website/docs/observability/sumologic_integration.md
index 87e20ca57ed..d7f057df52a 100644
--- a/docs/my-website/docs/observability/sumologic_integration.md
+++ b/docs/my-website/docs/observability/sumologic_integration.md
@@ -25,7 +25,7 @@ join our [discord](https://discord.gg/wuPM9dRgDw)
For more details, see the [HTTP Logs & Metrics Source](https://www.sumologic.com/help/docs/send-data/hosted-collectors/http-source/logs-metrics/) documentation.
```shell
-pip install litellm
+uv add litellm
```
## Quick Start
diff --git a/docs/my-website/docs/observability/wandb_integration.md b/docs/my-website/docs/observability/wandb_integration.md
index 3c1a3363957..1126998c99e 100644
--- a/docs/my-website/docs/observability/wandb_integration.md
+++ b/docs/my-website/docs/observability/wandb_integration.md
@@ -21,9 +21,9 @@ join our [discord](https://discord.gg/wuPM9dRgDw)
:::
## Pre-Requisites
-Ensure you have run `pip install wandb` for this integration
+Ensure you have run `uv add wandb` for this integration
```shell
-pip install wandb litellm
+uv add wandb litellm
```
## Quick Start
@@ -33,7 +33,7 @@ Use just 2 lines of code, to instantly log your responses **across all providers
litellm.success_callback = ["wandb"]
```
```python
-# pip install wandb
+# uv add wandb
import litellm
import os
diff --git a/docs/my-website/docs/pass_through/bedrock.md b/docs/my-website/docs/pass_through/bedrock.md
index 65c5d8caadc..19345c031fe 100644
--- a/docs/my-website/docs/pass_through/bedrock.md
+++ b/docs/my-website/docs/pass_through/bedrock.md
@@ -566,7 +566,7 @@ You can use the [LangChain AWS SDK](https://python.langchain.com/docs/integratio
**1. Install LangChain AWS**:
```bash showLineNumbers
-pip install langchain-aws
+uv add langchain-aws
```
**2. Setup LiteLLM Proxy**:
diff --git a/docs/my-website/docs/projects/Harbor.md b/docs/my-website/docs/projects/Harbor.md
index 684dfa93720..ee9d355dcbf 100644
--- a/docs/my-website/docs/projects/Harbor.md
+++ b/docs/my-website/docs/projects/Harbor.md
@@ -5,7 +5,7 @@
```bash
# Install
-pip install harbor
+uv add harbor
# Run a benchmark with any LiteLLM-supported model
harbor run --dataset terminal-bench@2.0 \
diff --git a/docs/my-website/docs/projects/openai-agents.md b/docs/my-website/docs/projects/openai-agents.md
index 86983e7e510..7d7ff0c0b01 100644
--- a/docs/my-website/docs/projects/openai-agents.md
+++ b/docs/my-website/docs/projects/openai-agents.md
@@ -12,7 +12,7 @@ The [OpenAI Agents SDK](https://github.com/openai/openai-agents-python) is a lig
### 1. Install Dependencies
```bash
-pip install "openai-agents[litellm]"
+uv add "openai-agents[litellm]"
```
### 2. Add Model to Config
diff --git a/docs/my-website/docs/providers/azure/azure.md b/docs/my-website/docs/providers/azure/azure.md
index 682f263c108..de6ab6a07eb 100644
--- a/docs/my-website/docs/providers/azure/azure.md
+++ b/docs/my-website/docs/providers/azure/azure.md
@@ -1143,7 +1143,7 @@ In production, [Router connects to a Redis Cache](#redis-queue) to track usage a
#### Quick Start
```python
-pip install litellm
+uv add litellm
```
```python
diff --git a/docs/my-website/docs/providers/azure_ai.md b/docs/my-website/docs/providers/azure_ai.md
index 68e2df676e6..c39967dba37 100644
--- a/docs/my-website/docs/providers/azure_ai.md
+++ b/docs/my-website/docs/providers/azure_ai.md
@@ -121,7 +121,7 @@ response = completion(
See all litellm.completion supported params [here](../completion/input.md#translated-openai-params)
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
diff --git a/docs/my-website/docs/providers/bedrock.md b/docs/my-website/docs/providers/bedrock.md
index bb07216a295..f9248cd1a0d 100644
--- a/docs/my-website/docs/providers/bedrock.md
+++ b/docs/my-website/docs/providers/bedrock.md
@@ -16,7 +16,7 @@ ALL Bedrock models (Anthropic, Meta, Deepseek, Mistral, Amazon, etc.) are Suppor
LiteLLM requires `boto3` to be installed on your system for Bedrock requests
```shell
-pip install boto3>=1.28.57
+uv add boto3>=1.28.57
```
:::info
diff --git a/docs/my-website/docs/providers/bedrock_realtime_with_audio.md b/docs/my-website/docs/providers/bedrock_realtime_with_audio.md
index a2d9813ffd9..d725f6ecd12 100644
--- a/docs/my-website/docs/providers/bedrock_realtime_with_audio.md
+++ b/docs/my-website/docs/providers/bedrock_realtime_with_audio.md
@@ -319,7 +319,7 @@ Complete working examples are available in the LiteLLM repository:
## Requirements
```bash
-pip install litellm websockets pyaudio
+uv add litellm websockets pyaudio
```
## AWS Configuration
diff --git a/docs/my-website/docs/providers/bytez.md b/docs/my-website/docs/providers/bytez.md
index fc7a684ee8d..3e2222fe684 100644
--- a/docs/my-website/docs/providers/bytez.md
+++ b/docs/my-website/docs/providers/bytez.md
@@ -126,7 +126,7 @@ If you wish to use custom formatting, please let us know via either [help@bytez.
See all litellm.completion supported params [here](https://docs.litellm.ai/docs/completion/input)
```py
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
@@ -160,7 +160,7 @@ Any kwarg supported by huggingface we also support! (Provided the model supports
Example `repetition_penalty`
```py
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
diff --git a/docs/my-website/docs/providers/clarifai.md b/docs/my-website/docs/providers/clarifai.md
index eb46901db22..d1f592fe394 100644
--- a/docs/my-website/docs/providers/clarifai.md
+++ b/docs/my-website/docs/providers/clarifai.md
@@ -14,7 +14,7 @@ Anthropic, OpenAI, Qwen, xAI, Gemini and most of Open soured LLMs are Supported
## Pre-Requisites
```bash
-pip install litellm
+uv add litellm
```
## Required Environment Variables
diff --git a/docs/my-website/docs/providers/databricks.md b/docs/my-website/docs/providers/databricks.md
index 2791d55dff1..aaccb930738 100644
--- a/docs/my-website/docs/providers/databricks.md
+++ b/docs/my-website/docs/providers/databricks.md
@@ -59,7 +59,7 @@ If no credentials are provided, LiteLLM will use the Databricks SDK for automati
from litellm import completion
# No environment variables needed - uses Databricks SDK unified auth
-# Requires: pip install databricks-sdk
+# Requires: uv add databricks-sdk
response = completion(
model="databricks/databricks-dbrx-instruct",
messages=[{"role": "user", "content": "Hello!"}],
@@ -220,7 +220,7 @@ response = completion(
See all litellm.completion supported params [here](../completion/input.md#translated-openai-params)
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
@@ -457,7 +457,7 @@ For embedding models, databricks lets you pass in an additional param 'instructi
```python
-# !pip install litellm
+# !uv add litellm
from litellm import embedding
import os
## set ENV variables
diff --git a/docs/my-website/docs/providers/huggingface.md b/docs/my-website/docs/providers/huggingface.md
index 985351e9f69..46ea93bbe0b 100644
--- a/docs/my-website/docs/providers/huggingface.md
+++ b/docs/my-website/docs/providers/huggingface.md
@@ -341,7 +341,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \
```python
-# pip install openai
+# uv add openai
from openai import OpenAI
client = OpenAI(
diff --git a/docs/my-website/docs/providers/langgraph.md b/docs/my-website/docs/providers/langgraph.md
index 9b4b24cf8f5..eea8459c723 100644
--- a/docs/my-website/docs/providers/langgraph.md
+++ b/docs/my-website/docs/providers/langgraph.md
@@ -187,7 +187,7 @@ Before using LiteLLM with LangGraph, you need a running LangGraph server.
### 1. Install the LangGraph CLI
```bash
-pip install "langgraph-cli[inmem]"
+uv add "langgraph-cli[inmem]"
```
### 2. Create a new LangGraph project
@@ -200,7 +200,7 @@ cd my-agent
### 3. Install dependencies
```bash
-pip install -e .
+uv add -e .
```
### 4. Set your API key
diff --git a/docs/my-website/docs/providers/oci.md b/docs/my-website/docs/providers/oci.md
index ce6fe18dd6f..4034c7fc45c 100644
--- a/docs/my-website/docs/providers/oci.md
+++ b/docs/my-website/docs/providers/oci.md
@@ -50,7 +50,7 @@ Use an OCI SDK `Signer` object for authentication. This method:
To use this method, install the OCI SDK:
```bash
-pip install oci
+uv add oci
```
This method is an alternative when using the LiteLLM SDK on Oracle Cloud Infrastructure (instances or Oracle Kubernetes Engine).
diff --git a/docs/my-website/docs/providers/ollama.md b/docs/my-website/docs/providers/ollama.md
index d59d9dd0cee..bf32993c1dd 100644
--- a/docs/my-website/docs/providers/ollama.md
+++ b/docs/my-website/docs/providers/ollama.md
@@ -49,7 +49,7 @@ for chunk in response:
## Example usage - Streaming + Acompletion
Ensure you have async_generator installed for using ollama acompletion with streaming
```shell
-pip install async_generator
+uv add async_generator
```
```python
diff --git a/docs/my-website/docs/providers/petals.md b/docs/my-website/docs/providers/petals.md
index b5dd1705b43..c64b097c7e4 100644
--- a/docs/my-website/docs/providers/petals.md
+++ b/docs/my-website/docs/providers/petals.md
@@ -8,7 +8,7 @@ Petals: https://github.com/bigscience-workshop/petals
## Pre-Requisites
Ensure you have `petals` installed
```shell
-pip install git+https://github.com/bigscience-workshop/petals
+uv add git+https://github.com/bigscience-workshop/petals
```
## Usage
diff --git a/docs/my-website/docs/providers/predibase.md b/docs/my-website/docs/providers/predibase.md
index 9f25309c193..978db3d14d1 100644
--- a/docs/my-website/docs/providers/predibase.md
+++ b/docs/my-website/docs/providers/predibase.md
@@ -186,7 +186,7 @@ model_list:
See all litellm.completion supported params [here](https://docs.litellm.ai/docs/completion/input)
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
@@ -219,7 +219,7 @@ Send params [not supported by `litellm.completion()`](https://docs.litellm.ai/do
Example `adapter_id`, `adapter_source` are Predibase specific param - [See List](https://github.com/BerriAI/litellm/blob/8a35354dd6dbf4c2fcefcd6e877b980fcbd68c58/litellm/llms/predibase.py#L54)
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
diff --git a/docs/my-website/docs/providers/pydantic_ai_agent.md b/docs/my-website/docs/providers/pydantic_ai_agent.md
index e96295faaf3..4e24e6d4e41 100644
--- a/docs/my-website/docs/providers/pydantic_ai_agent.md
+++ b/docs/my-website/docs/providers/pydantic_ai_agent.md
@@ -23,7 +23,7 @@ LiteLLM requires Pydantic AI agents to follow the [A2A (Agent-to-Agent) protocol
#### Install Dependencies
```bash
-pip install pydantic-ai fasta2a uvicorn
+uv add pydantic-ai fasta2a uvicorn
```
#### Create Agent
diff --git a/docs/my-website/docs/providers/replicate.md b/docs/my-website/docs/providers/replicate.md
index 8e71d3ac999..db24d218275 100644
--- a/docs/my-website/docs/providers/replicate.md
+++ b/docs/my-website/docs/providers/replicate.md
@@ -231,7 +231,7 @@ Model Name | Function Call
See all litellm.completion supported params [here](https://docs.litellm.ai/docs/completion/input)
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
@@ -264,7 +264,7 @@ Send params [not supported by `litellm.completion()`](https://docs.litellm.ai/do
Example `seed`, `min_tokens` are Replicate specific param
```python
-# !pip install litellm
+# !uv add litellm
from litellm import completion
import os
## set ENV variables
diff --git a/docs/my-website/docs/providers/sap.md b/docs/my-website/docs/providers/sap.md
index 16f30a2e99c..d74b96f66fb 100644
--- a/docs/my-website/docs/providers/sap.md
+++ b/docs/my-website/docs/providers/sap.md
@@ -51,7 +51,7 @@ The resource group is typically configured separately in your AI Core deployment
### Step 1: Install LiteLLM
```bash
-pip install litellm
+uv add litellm
```
### Step 2: Set Your Credentials
diff --git a/docs/my-website/docs/providers/vertex.md b/docs/my-website/docs/providers/vertex.md
index a3eb673f039..0079bd2f57e 100644
--- a/docs/my-website/docs/providers/vertex.md
+++ b/docs/my-website/docs/providers/vertex.md
@@ -1216,7 +1216,7 @@ curl http://0.0.0.0:4000/chat/completions \
## Pre-requisites
-* `pip install google-cloud-aiplatform` (pre-installed on proxy docker image)
+* `uv add google-cloud-aiplatform` (pre-installed on proxy docker image)
* Authentication:
* run `gcloud auth application-default login` See [Google Cloud Docs](https://cloud.google.com/docs/authentication/external/set-up-adc)
* Alternatively you can set `GOOGLE_APPLICATION_CREDENTIALS`
diff --git a/docs/my-website/docs/providers/vllm.md b/docs/my-website/docs/providers/vllm.md
index 1a37f2f10e7..6fc3a9f3287 100644
--- a/docs/my-website/docs/providers/vllm.md
+++ b/docs/my-website/docs/providers/vllm.md
@@ -517,11 +517,11 @@ curl -X POST http://0.0.0.0:4000/chat/completions \
-## (Deprecated) for `vllm pip package`
+## (Deprecated) for packaged `vllm` installs
### Using - `litellm.completion`
```
-pip install litellm vllm
+uv add litellm vllm
```
```python
import litellm
@@ -616,4 +616,3 @@ test_vllm_custom_model()
```
[Implementation Code](https://github.com/BerriAI/litellm/blob/6b3cb1898382f2e4e80fd372308ea232868c78d1/litellm/utils.py#L1414)
-
diff --git a/docs/my-website/docs/proxy/caching.md b/docs/my-website/docs/proxy/caching.md
index 3357dcb28b2..39a9cfefc73 100644
--- a/docs/my-website/docs/proxy/caching.md
+++ b/docs/my-website/docs/proxy/caching.md
@@ -214,7 +214,7 @@ For GCP Memorystore Redis with IAM authentication, install the required dependen
:::
```shell
-pip install google-cloud-iam
+uv add google-cloud-iam
```
diff --git a/docs/my-website/docs/proxy/deploy.md b/docs/my-website/docs/proxy/deploy.md
index 0761e0e9fa8..91fcccbe14e 100644
--- a/docs/my-website/docs/proxy/deploy.md
+++ b/docs/my-website/docs/proxy/deploy.md
@@ -32,10 +32,10 @@ docker pull docker.litellm.ai/berriai/litellm:main-latest
-
+
```shell
-$ pip install 'litellm[proxy]'
+$ uv tool install 'litellm[proxy]'
```
@@ -155,33 +155,32 @@ EXPOSE 4000/tcp
CMD ["--port", "4000", "--config", "config.yaml", "--detailed_debug"]
```
-### Build from litellm `pip` package
+### Build from published LiteLLM packages
-Follow these instructions to build a docker container from the litellm pip package. If your company has a strict requirement around security / building images you can follow these steps.
+Follow these instructions to build a Docker container from published LiteLLM packages. If your company has a strict requirement around security or image provenance, you can follow these steps.
-**Note:** You'll need to copy the `schema.prisma` file from the [litellm repository](https://github.com/BerriAI/litellm/blob/main/schema.prisma) to your build directory alongside the Dockerfile and requirements.txt.
+**Note:** Copy the `schema.prisma` file from the [LiteLLM repository](https://github.com/BerriAI/litellm/blob/main/schema.prisma) into your build directory alongside this Dockerfile.
Dockerfile
```shell
FROM cgr.dev/chainguard/python:latest-dev
+ARG UV_IMAGE=ghcr.io/astral-sh/uv:0.10.9
USER root
WORKDIR /app
-ENV HOME=/home/litellm
-ENV PATH="${HOME}/venv/bin:$PATH"
+ENV UV_TOOL_BIN_DIR=/usr/local/bin
# Install runtime dependencies
RUN apk update && \
apk add --no-cache gcc python3-dev openssl openssl-dev
-RUN python -m venv ${HOME}/venv
-RUN ${HOME}/venv/bin/pip install --no-cache-dir --upgrade pip
+COPY --from=$UV_IMAGE /uv /usr/local/bin/uv
+COPY --from=$UV_IMAGE /uvx /usr/local/bin/uvx
-COPY requirements.txt .
-RUN --mount=type=cache,target=${HOME}/.cache/pip \
- ${HOME}/venv/bin/pip install -r requirements.txt
+RUN uv tool install 'litellm[proxy,proxy-runtime,extra_proxy]==1.57.3' \
+ --python python
# Copy Prisma schema file
COPY schema.prisma .
@@ -196,22 +195,12 @@ CMD ["--port", "4000"]
```
-Example `requirements.txt`
-
-```shell
-litellm[proxy]==1.57.3 # Specify the litellm version you want to use
-litellm-enterprise
-prometheus_client
-langfuse
-prisma
-```
-
Build the docker image
```shell
docker build \
- -f Dockerfile.build_from_pip \
- -t litellm-proxy-with-pip-5 .
+ -f Dockerfile \
+ -t litellm-proxy-from-package-5 .
```
Run the docker image
@@ -222,7 +211,7 @@ docker run \
-e OPENAI_API_KEY="sk-1222" \
-e DATABASE_URL="postgresql://xxxxxxxxx \
-p 4000:4000 \
- litellm-proxy-with-pip-5 \
+ litellm-proxy-from-package-5 \
--config /app/config.yaml --detailed_debug
```
@@ -724,7 +713,7 @@ RUN chmod +x ./docker/entrypoint.sh
EXPOSE 4000/tcp
# π Key Change: Install hypercorn
-RUN pip install hypercorn
+RUN uv add hypercorn
# Override the CMD instruction with your desired command and arguments
# WARNING: FOR PROD DO NOT USE `--detailed_debug` it slows down response times, instead use the following CMD
diff --git a/docs/my-website/docs/proxy/docker_quick_start.md b/docs/my-website/docs/proxy/docker_quick_start.md
index 58a56604751..391793773f1 100644
--- a/docs/my-website/docs/proxy/docker_quick_start.md
+++ b/docs/my-website/docs/proxy/docker_quick_start.md
@@ -70,15 +70,15 @@ curl -X POST 'http://0.0.0.0:4000/chat/completions' \
}'
```
-:::tip Already have pip installed?
-You can skip the curl install and run `litellm --setup` directly after `pip install 'litellm[proxy]'`.
+:::tip Already have uv installed?
+You can skip the curl install and run `litellm --setup` directly after `uv tool install 'litellm[proxy]'`.
:::
---
## Pre-Requisites
-Choose your install method. **Docker Compose** users complete their full setup inside the tab and are done. **Docker** and **pip** users continue with the steps below the tabs.
+Choose your install method. **Docker Compose** users complete their full setup inside the tab and are done. **Docker** and **LiteLLM CLI** users continue with the steps below the tabs.
@@ -92,10 +92,10 @@ docker pull docker.litellm.ai/berriai/litellm:main-latest
-
+
```shell
-$ pip install 'litellm[proxy]'
+$ uv tool install 'litellm[proxy]'
```
@@ -269,7 +269,7 @@ Virtual keys let you track spend, set rate limits, and control model access per
:::note Docker Compose users
-Your setup is complete β the steps below are for **Docker** and **pip** users only.
+Your setup is complete β the steps below are for **Docker** and **LiteLLM CLI** users only.
:::
---
@@ -336,7 +336,7 @@ docker run \
-
+
```shell
$ litellm --config /app/config.yaml --detailed_debug
@@ -463,7 +463,7 @@ Track spend and control model access via virtual keys for the proxy.
Your Postgres container is already running β skip ahead to [Create Key w/ RPM Limit](#create-key-w-rpm-limit) below.
:::
-**Docker / pip users** β you need a Postgres database (e.g. [Supabase](https://supabase.com/), [Neon](https://neon.tech/), or self-hosted). Add `general_settings` to your `config.yaml`:
+**Docker / LiteLLM CLI users** β you need a Postgres database (e.g. [Supabase](https://supabase.com/), [Neon](https://neon.tech/), or self-hosted). Add `general_settings` to your `config.yaml`:
```yaml
model_list:
diff --git a/docs/my-website/docs/proxy/guardrails/lasso_security.md b/docs/my-website/docs/proxy/guardrails/lasso_security.md
index 363be894e4d..c1d7ea4895c 100644
--- a/docs/my-website/docs/proxy/guardrails/lasso_security.md
+++ b/docs/my-website/docs/proxy/guardrails/lasso_security.md
@@ -11,7 +11,7 @@ Use [Lasso Security](https://www.lasso.security/) to protect your LLM applicatio
The Lasso guardrail requires the `ulid-py` package (version 1.1.0 or higher) for generating unique conversation identifiers:
```shell
-pip install ulid-py>=1.1.0
+uv add ulid-py>=1.1.0
```
This package is used to create lexicographically sortable identifiers for tracking conversations and sessions in the Lasso Security platform.
diff --git a/docs/my-website/docs/proxy/logging.md b/docs/my-website/docs/proxy/logging.md
index 2f81498799a..166269af47c 100644
--- a/docs/my-website/docs/proxy/logging.md
+++ b/docs/my-website/docs/proxy/logging.md
@@ -351,7 +351,7 @@ We will use the `--config` to set `litellm.success_callback = ["langfuse"]` this
**Step 1** Install langfuse
```shell
-pip install langfuse>=2.0.0
+uv add langfuse>=2.0.0
```
**Step 2**: Create a `config.yaml` file and set `litellm_settings`: `success_callback`
@@ -982,7 +982,7 @@ OTEL_ENDPOINT="http:/0.0.0.0:4317"
OTEL_HEADERS="x-honeycomb-team=" # Optional
```
-> Note: OTLP gRPC requires `grpcio`. Install via `pip install "litellm[grpc]"` (or `grpcio`).
+> Note: OTLP gRPC requires `grpcio`. Install via `uv add "litellm[grpc]"` (or `grpcio`).
Add `otel` as a callback on your `litellm_config.yaml`
@@ -1587,7 +1587,7 @@ curl --location 'http://0.0.0.0:4000/chat/completions' \
#### Step1: Install dependencies and set your environment variables
Install the dependencies
```shell
-pip install litellm lunary
+uv add litellm lunary
```
Get you Lunary public key from from https://app.lunary.ai/settings
@@ -2516,7 +2516,7 @@ If api calls fail (llm/database) you can log those to Sentry:
**Step 1** Install Sentry
```shell
-pip install --upgrade sentry-sdk
+uv add --upgrade sentry-sdk
```
**Step 2**: Save your Sentry_DSN and add `litellm_settings`: `failure_callback`
diff --git a/docs/my-website/docs/proxy/prometheus.md b/docs/my-website/docs/proxy/prometheus.md
index d8f0d83b59d..33459572471 100644
--- a/docs/my-website/docs/proxy/prometheus.md
+++ b/docs/my-website/docs/proxy/prometheus.md
@@ -9,7 +9,7 @@ LiteLLM Exposes a `/metrics` endpoint for Prometheus to Poll
## Quick Start
-If you're using the LiteLLM CLI with `litellm --config proxy_config.yaml` then you need to `pip install prometheus_client==0.20.0`. **This is already pre-installed on the litellm Docker image**
+If you're using the LiteLLM CLI with `litellm --config proxy_config.yaml` then you need to `uv add prometheus_client==0.20.0`. **This is already pre-installed on the litellm Docker image**
Add this to your proxy config.yaml
```yaml
diff --git a/docs/my-website/docs/proxy/pyroscope_profiling.md b/docs/my-website/docs/proxy/pyroscope_profiling.md
index fa3db3a8782..19d12ba24ea 100644
--- a/docs/my-website/docs/proxy/pyroscope_profiling.md
+++ b/docs/my-website/docs/proxy/pyroscope_profiling.md
@@ -7,13 +7,13 @@ LiteLLM proxy can send continuous CPU profiles to [Grafana Pyroscope](https://gr
1. **Install the optional dependency** (required only when enabling Pyroscope):
```bash
- pip install pyroscope-io
+ uv add pyroscope-io
```
Or install the proxy extra:
```bash
- pip install "litellm[proxy]"
+ uv add "litellm[proxy]"
```
2. **Set environment variables** before starting the proxy:
diff --git a/docs/my-website/docs/proxy/quick_start.md b/docs/my-website/docs/proxy/quick_start.md
index cf1ab78b352..dbc018e129d 100644
--- a/docs/my-website/docs/proxy/quick_start.md
+++ b/docs/my-website/docs/proxy/quick_start.md
@@ -13,7 +13,7 @@ LiteLLM Server (LLM Gateway) manages:
* **Load Balancing**: between [Multiple Models](#multiple-models---quick-start) + [Deployments of the same model](#multiple-instances-of-1-model) - LiteLLM proxy can handle 1.5k+ requests/second during load tests.
```shell
-$ pip install 'litellm[proxy]'
+$ uv tool install 'litellm[proxy]'
```
## Quick Start - LiteLLM Proxy CLI
diff --git a/docs/my-website/docs/proxy/user_keys.md b/docs/my-website/docs/proxy/user_keys.md
index 72ec8ccd759..7bce1523217 100644
--- a/docs/my-website/docs/proxy/user_keys.md
+++ b/docs/my-website/docs/proxy/user_keys.md
@@ -881,7 +881,7 @@ Credits [@vividfog](https://github.com/ollama/ollama/issues/305#issuecomment-175
```shell
-$ pip install aider
+$ uv add aider
$ aider --openai-api-base http://0.0.0.0:4000 --openai-api-key fake-key
```
@@ -889,7 +889,7 @@ $ aider --openai-api-base http://0.0.0.0:4000 --openai-api-key fake-key
```python
-pip install pyautogen
+uv add pyautogen
```
```python
diff --git a/docs/my-website/docs/proxy_api.md b/docs/my-website/docs/proxy_api.md
index 7612645fb54..73c5a565874 100644
--- a/docs/my-website/docs/proxy_api.md
+++ b/docs/my-website/docs/proxy_api.md
@@ -66,16 +66,16 @@ git clone https://github.com/krrishdholakia/open-interpreter-litellm-fork
```
To run it do:
```
-poetry build
+uv build
# call gpt-4 - always add 'litellm_proxy/' in front of the model name
-poetry run interpreter --model litellm_proxy/gpt-4
+uv run interpreter --model litellm_proxy/gpt-4
# call llama-70b - always add 'litellm_proxy/' in front of the model name
-poetry run interpreter --model litellm_proxy/togethercomputer/llama-2-70b-chat
+uv run interpreter --model litellm_proxy/togethercomputer/llama-2-70b-chat
# call claude-2 - always add 'litellm_proxy/' in front of the model name
-poetry run interpreter --model litellm_proxy/claude-2
+uv run interpreter --model litellm_proxy/claude-2
```
And that's it!
@@ -83,4 +83,4 @@ And that's it!
Now you can call any model you like!
-Want us to add more models? [Let us know!](https://github.com/BerriAI/litellm/issues/new/choose)
\ No newline at end of file
+Want us to add more models? [Let us know!](https://github.com/BerriAI/litellm/issues/new/choose)
diff --git a/docs/my-website/docs/proxy_auth.md b/docs/my-website/docs/proxy_auth.md
index 91084b34a37..bb5601cb85f 100644
--- a/docs/my-website/docs/proxy_auth.md
+++ b/docs/my-website/docs/proxy_auth.md
@@ -72,7 +72,7 @@ response = litellm.completion(
-**Required package:** `pip install azure-identity`
+**Required package:** `uv add azure-identity`
### Generic OAuth2 (Okta, Auth0, Keycloak, etc.)
diff --git a/docs/my-website/docs/proxy_server.md b/docs/my-website/docs/proxy_server.md
index 7b6f15a604b..1c056207534 100644
--- a/docs/my-website/docs/proxy_server.md
+++ b/docs/my-website/docs/proxy_server.md
@@ -13,7 +13,7 @@ Docs outdated. New docs π [here](./simple_proxy)
## Usage
```shell
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
```
```shell
$ litellm --model ollama/codellama
@@ -213,7 +213,7 @@ docker compose up -d
```python
-pip install pyautogen
+uv add pyautogen
```
```python
@@ -329,7 +329,7 @@ git clone https://github.com/OpenBMB/ChatDev.git
cd ChatDev
conda create -n ChatDev_conda_env python=3.9 -y
conda activate ChatDev_conda_env
-pip install -r requirements.txt
+uv add -r requirements.txt
```
### Run ChatDev w/ Proxy
```shell
@@ -346,7 +346,7 @@ python3 run.py --task "a script that says hello world" --name "hello world"
```python
-pip install langroid
+uv add langroid
```
```python
@@ -383,7 +383,7 @@ Credits [@pchalasani](https://github.com/pchalasani) and [Langroid](https://gith
Here's how to use the local proxy to test codellama/mistral/etc. models for different github repos
```shell
-pip install litellm
+uv add litellm
```
```shell
@@ -440,7 +440,7 @@ Credits [@vividfog](https://github.com/ollama/ollama/issues/305#issuecomment-175
```shell
-$ pip install aider
+$ uv add aider
$ aider --openai-api-base http://0.0.0.0:8000 --openai-api-key fake-key
```
@@ -448,7 +448,7 @@ $ aider --openai-api-base http://0.0.0.0:8000 --openai-api-key fake-key
```python
-pip install pyautogen
+uv add pyautogen
```
```python
@@ -564,7 +564,7 @@ git clone https://github.com/OpenBMB/ChatDev.git
cd ChatDev
conda create -n ChatDev_conda_env python=3.9 -y
conda activate ChatDev_conda_env
-pip install -r requirements.txt
+uv add -r requirements.txt
```
### Run ChatDev w/ Proxy
```shell
@@ -581,7 +581,7 @@ python3 run.py --task "a script that says hello world" --name "hello world"
```python
-pip install langroid
+uv add langroid
```
```python
diff --git a/docs/my-website/docs/rag_ingest.md b/docs/my-website/docs/rag_ingest.md
index 7adc2d70b5b..35b2cf4c327 100644
--- a/docs/my-website/docs/rag_ingest.md
+++ b/docs/my-website/docs/rag_ingest.md
@@ -287,7 +287,7 @@ When `vector_store_id` is omitted, LiteLLM automatically creates:
1. Create a RAG corpus in Vertex AI console or via API
2. Create a GCS bucket for file uploads
3. Authenticate via `gcloud auth application-default login`
-4. Install: `pip install 'google-cloud-aiplatform>=1.60.0'`
+4. Install: `uv add 'google-cloud-aiplatform>=1.60.0'`
:::
### vector_store (AWS S3 Vectors)
diff --git a/docs/my-website/docs/response_api.md b/docs/my-website/docs/response_api.md
index 0c428000c72..3ab61a97a4e 100644
--- a/docs/my-website/docs/response_api.md
+++ b/docs/my-website/docs/response_api.md
@@ -831,7 +831,7 @@ The system automatically selects the appropriate mode based on provider capabili
```python showLineNumbers title="WebSocket with Python"
import json
-from websocket import create_connection # pip install websocket-client
+from websocket import create_connection # uv add websocket-client
# Connect to LiteLLM proxy WebSocket endpoint
ws = create_connection(
diff --git a/docs/my-website/docs/sdk_custom_pricing.md b/docs/my-website/docs/sdk_custom_pricing.md
index c8577115109..011229abe58 100644
--- a/docs/my-website/docs/sdk_custom_pricing.md
+++ b/docs/my-website/docs/sdk_custom_pricing.md
@@ -5,7 +5,7 @@ Register custom pricing for sagemaker completion model.
For cost per second pricing, you **just** need to register `input_cost_per_second`.
```python
-# !pip install boto3
+# !uv add boto3
from litellm import completion, completion_cost
os.environ["AWS_ACCESS_KEY_ID"] = ""
@@ -35,7 +35,7 @@ def test_completion_sagemaker():
```python
-# !pip install boto3
+# !uv add boto3
from litellm import completion, completion_cost
## set ENV variables
diff --git a/docs/my-website/docs/secret_managers/azure_key_vault.md b/docs/my-website/docs/secret_managers/azure_key_vault.md
index 4ea53d2ea9e..3e697ebdedc 100644
--- a/docs/my-website/docs/secret_managers/azure_key_vault.md
+++ b/docs/my-website/docs/secret_managers/azure_key_vault.md
@@ -14,7 +14,7 @@
1. Install Proxy dependencies
```bash
-pip install 'litellm[proxy]' 'litellm[extra_proxy]'
+uv tool install 'litellm[proxy]' 'litellm[extra_proxy]'
```
2. Save Azure details in your environment
diff --git a/docs/my-website/docs/troubleshoot/pip_venv_upgrade.md b/docs/my-website/docs/troubleshoot/pip_venv_upgrade.md
index 6f5699e3fb0..3bdaa6a05a6 100644
--- a/docs/my-website/docs/troubleshoot/pip_venv_upgrade.md
+++ b/docs/my-website/docs/troubleshoot/pip_venv_upgrade.md
@@ -1,21 +1,21 @@
-# Upgrading LiteLLM Proxy (pip/venv)
+# Upgrading LiteLLM Proxy (uv/venv)
-Guide for upgrading LiteLLM Proxy when installed via pip in a virtual environment.
+Guide for upgrading LiteLLM Proxy when installed via uv in a virtual environment.
:::info Important
Always activate your virtual environment before running any `litellm` or `prisma` commands. All commands in this guide assume you're working inside an activated venv.
:::
-## How pip/venv Upgrades Work
+## How uv/venv Upgrades Work
There are two pieces that need to stay in sync:
1. **Prisma client** - Generated Python code that talks to the DB
2. **DB schema** - Tables/columns in PostgreSQL
-When you upgrade via pip, the `litellm-proxy-extras` package ships with a new `schema.prisma` and a `migrations/` directory. But unlike the Docker image, pip install does NOT automatically regenerate the Prisma client or run migrations. You have to do both manually.
+When you upgrade via uv, the `litellm-proxy-extras` package ships with a new `schema.prisma` and a `migrations/` directory. But unlike the Docker image, `uv add` does not automatically regenerate the Prisma client or run migrations. You have to do both manually.
-## Upgrade Workflow (pip/venv)
+## Upgrade Workflow (uv/venv)
### 1. Stop the proxy
@@ -30,7 +30,7 @@ pg_dump -h -U -d -F c -f backup_$(date +%Y%m%d).dump
### 3. Upgrade the package
```bash
-pip install 'litellm[proxy]=='
+uv add 'litellm[proxy]=='
```
### 4. Regenerate the Prisma client
@@ -91,7 +91,7 @@ litellm --config your_config.yaml --port 4000
### Before applying migrations: Preview what will change
-Run `pip install 'litellm[proxy]=='` first (Step 3) so the new `schema.prisma` is available.
+Run `uv add 'litellm[proxy]=='` first (Step 3) so the new `schema.prisma` is available.
```bash
prisma migrate diff \
diff --git a/docs/my-website/docs/tutorials/TogetherAI_liteLLM.md b/docs/my-website/docs/tutorials/TogetherAI_liteLLM.md
index dd9dd288672..97159dbba4c 100644
--- a/docs/my-website/docs/tutorials/TogetherAI_liteLLM.md
+++ b/docs/my-website/docs/tutorials/TogetherAI_liteLLM.md
@@ -4,7 +4,7 @@ https://together.ai/
```python
-!pip install litellm
+!uv add litellm
```
diff --git a/docs/my-website/docs/tutorials/claude_agent_sdk.md b/docs/my-website/docs/tutorials/claude_agent_sdk.md
index c56784ba2df..f01fc778c43 100644
--- a/docs/my-website/docs/tutorials/claude_agent_sdk.md
+++ b/docs/my-website/docs/tutorials/claude_agent_sdk.md
@@ -12,7 +12,7 @@ The Claude Agent SDK provides a high-level interface for building AI agents. By
### 1. Install Dependencies
```bash
-pip install claude-agent-sdk
+uv add claude-agent-sdk
```
### 2. Start LiteLLM Proxy
@@ -104,7 +104,7 @@ See our [cookbook example](https://github.com/BerriAI/litellm/tree/main/cookbook
# Clone and run the example
git clone https://github.com/BerriAI/litellm.git
cd litellm/cookbook/anthropic_agent_sdk
-pip install -r requirements.txt
+uv add -r requirements.txt
python main.py
```
diff --git a/docs/my-website/docs/tutorials/claude_non_anthropic_models.md b/docs/my-website/docs/tutorials/claude_non_anthropic_models.md
index 75ac08e3094..0bba0f8ad06 100644
--- a/docs/my-website/docs/tutorials/claude_non_anthropic_models.md
+++ b/docs/my-website/docs/tutorials/claude_non_anthropic_models.md
@@ -22,7 +22,7 @@ LiteLLM automatically translates between different provider formats, allowing yo
First, install LiteLLM with proxy support:
```bash
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
```
## Configuration
diff --git a/docs/my-website/docs/tutorials/claude_responses_api.md b/docs/my-website/docs/tutorials/claude_responses_api.md
index 03ac9935fd2..d37efee71f2 100644
--- a/docs/my-website/docs/tutorials/claude_responses_api.md
+++ b/docs/my-website/docs/tutorials/claude_responses_api.md
@@ -28,7 +28,7 @@ This tutorial is based on [Anthropic's official LiteLLM configuration documentat
First, install LiteLLM with proxy support:
```bash
-pip install 'litellm[proxy]'
+uv tool install 'litellm[proxy]'
```
### 1. Setup config.yaml
diff --git a/docs/my-website/docs/tutorials/compare_llms.md b/docs/my-website/docs/tutorials/compare_llms.md
index 0252263a16e..72c27aa2f1e 100644
--- a/docs/my-website/docs/tutorials/compare_llms.md
+++ b/docs/my-website/docs/tutorials/compare_llms.md
@@ -23,7 +23,7 @@ cd litellm/cookbook/benchmark
### Install Dependencies
```
-pip install litellm click tqdm tabulate termcolor
+uv add litellm click tqdm tabulate termcolor
```
### Configuration - Set LLM API Keys + LLMs in benchmark.py
@@ -88,7 +88,7 @@ Benchmark Results for 'When will BerriAI IPO?':