Skip to content

Commit ef64ff3

Browse files
committed
chore: migrate project dependency management from pip to uv
1 parent c8f7863 commit ef64ff3

7 files changed

Lines changed: 3710 additions & 30 deletions

File tree

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2
22
updates:
3-
- package-ecosystem: "pip"
3+
- package-ecosystem: "uv"
44
directory: "/"
55
schedule:
66
interval: "weekly"

.github/workflows/sanity-check.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ jobs:
1313
steps:
1414
- uses: actions/checkout@v4
1515

16-
- name: Set up Python 3.11
17-
uses: actions/setup-python@v5
16+
- name: Set up uv
17+
uses: astral-sh/setup-uv@v5
1818
with:
19-
python-version: "3.11"
20-
cache: 'pip'
19+
version: "latest"
20+
enable-cache: true
21+
22+
- name: Set up Python 3.11
23+
run: uv python install 3.11
2124

2225
- name: Install dependencies
23-
run: |
24-
python -m pip install --upgrade pip
25-
pip install -r requirements.txt
26+
run: uv sync
2627

2728
- name: Set up Database and Env
2829
run: |
@@ -42,4 +43,4 @@ jobs:
4243
4344
- name: Run tests
4445
run: |
45-
PYTHONPATH=. pytest
46+
PYTHONPATH=. uv run pytest

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.14

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ A clean, python implementation to orchestrated multi Agentic AI with LangChain/L
2525
Run the following commands inside the project:
2626

2727
```bash
28-
# Create a virtual environment
29-
python3 -m venv venv
28+
# Create a virtual environment using uv
29+
uv venv venv
3030

3131
# Activate the virtual environment
3232
# On macOS/Linux:
@@ -40,8 +40,8 @@ Create the `.env` file, see file [config.py](./app/config.py) for env used.
4040

4141
### 3. Install Dependencies
4242
```bash
43-
pip install --upgrade pip
44-
pip install -r requirements.txt
43+
# Synchronize virtual environment with pyproject.toml dependencies
44+
uv sync
4545
```
4646

4747
### 4. Running the API Server (REST)
@@ -118,7 +118,7 @@ PYTHONPATH=. pytest
118118

119119
## Dependencies
120120

121-
The project defines the following packages in `requirements.txt`:
121+
The project defines the following packages in `pyproject.toml`:
122122

123123
1. **`fastapi`**: The core web framework for building APIs with Python 3.8+ based on standard Python type hints. It provides high performance (on par with NodeJS and Go), rapid coding, and automatic interactive Swagger/ReDoc documentation.
124124
2. **`uvicorn[standard]`**: An ASGI (Asynchronous Server Gateway Interface) web server implementation for Python. FastAPI is built on ASGI standard, and `uvicorn` acts as the server to run the FastAPI application. The `[standard]` extra installs high-performance loop dependencies like `uvloop` and `httptools`.

pyproject.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
[project]
2+
name = "python-llm-api"
3+
version = "0.1.0"
4+
description = "Multi-agent orchestration with LangChain/LangGraph & Langfuse"
5+
readme = "README.md"
6+
requires-python = ">=3.11"
7+
dependencies = [
8+
"fastapi>=0.111.0",
9+
"uvicorn[standard]>=0.30.0",
10+
"pydantic>=2.7.0",
11+
"pytest>=8.2.0",
12+
"httpx>=0.27.0",
13+
"python-dotenv>=1.0.1",
14+
"sqlmodel>=0.0.39",
15+
"langgraph>=0.1.0",
16+
"langchain-core>=0.2.0",
17+
"langchain-google-genai>=1.0.0",
18+
"langfuse>=2.0.0",
19+
"litellm>=1.83.7",
20+
"langchain-community>=0.4.2",
21+
"langchain-litellm>=0.6.4",
22+
"langchain>=1.3.12",
23+
"boto3>=1.34.0",
24+
"mcp>=0.1.0",
25+
]

requirements.txt

Lines changed: 0 additions & 16 deletions
This file was deleted.

uv.lock

Lines changed: 3669 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)