chore: uv 적용
This commit is contained in:
parent
926958c15a
commit
bfcb155a4f
13
README.md
13
README.md
@ -4,17 +4,18 @@ Integrated Quant Portfolio Management Application
|
|||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
- **Backend:** FastAPI, Python 3.14, SQLAlchemy, PostgreSQL
|
- **Backend:** FastAPI, Python 3.12, SQLAlchemy, PostgreSQL
|
||||||
- **Frontend:** Next.js 15, React 19, TypeScript, Tailwind CSS
|
- **Frontend:** Next.js 15, React 19, TypeScript, Tailwind CSS
|
||||||
- **Infrastructure:** Docker, Docker Compose
|
- **Infrastructure:** Docker, Docker Compose, uv
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Docker & Docker Compose
|
- Docker & Docker Compose
|
||||||
- Python 3.14
|
- Python 3.12
|
||||||
- Node.js 24
|
- Node.js 24
|
||||||
|
- [uv](https://docs.astral.sh/uv/) (Python package manager)
|
||||||
|
|
||||||
### Quick Start
|
### Quick Start
|
||||||
|
|
||||||
@ -24,10 +25,8 @@ docker-compose up -d
|
|||||||
|
|
||||||
# Backend only (development)
|
# Backend only (development)
|
||||||
cd backend
|
cd backend
|
||||||
python -m venv venv
|
uv sync
|
||||||
source venv/bin/activate
|
uv run uvicorn app.main:app --reload
|
||||||
pip install -r requirements.txt
|
|
||||||
uvicorn app.main:app --reload
|
|
||||||
|
|
||||||
# Frontend only (development)
|
# Frontend only (development)
|
||||||
cd frontend
|
cd frontend
|
||||||
|
|||||||
@ -3,15 +3,17 @@ FROM python:3.12-slim
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install system dependencies
|
# Install system dependencies and uv
|
||||||
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
gcc \
|
gcc \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install Python dependencies
|
# Install Python dependencies with uv
|
||||||
COPY requirements.txt .
|
COPY pyproject.toml .
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN uv pip install --system --no-cache -r pyproject.toml
|
||||||
|
|
||||||
# Copy application code
|
# Copy application code
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|||||||
37
backend/pyproject.toml
Normal file
37
backend/pyproject.toml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
[project]
|
||||||
|
name = "galaxy-po-backend"
|
||||||
|
version = "1.0.0"
|
||||||
|
description = "Galaxy Portfolio Optimization Backend"
|
||||||
|
requires-python = ">=3.12"
|
||||||
|
dependencies = [
|
||||||
|
"fastapi==0.115.6",
|
||||||
|
"uvicorn[standard]==0.34.0",
|
||||||
|
"sqlalchemy==2.0.36",
|
||||||
|
"alembic==1.14.0",
|
||||||
|
"psycopg2-binary==2.9.10",
|
||||||
|
"pydantic==2.10.4",
|
||||||
|
"pydantic-settings==2.7.1",
|
||||||
|
"python-jose[cryptography]==3.3.0",
|
||||||
|
"passlib[bcrypt]==1.7.4",
|
||||||
|
"python-multipart==0.0.20",
|
||||||
|
"apscheduler==3.10.4",
|
||||||
|
"pykrx==1.0.45",
|
||||||
|
"requests==2.32.3",
|
||||||
|
"beautifulsoup4==4.12.3",
|
||||||
|
"lxml==5.3.0",
|
||||||
|
"pandas==2.2.3",
|
||||||
|
"numpy==2.2.1",
|
||||||
|
"httpx==0.28.1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
dev = [
|
||||||
|
"pytest==8.3.4",
|
||||||
|
"pytest-asyncio==0.25.2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[tool.uv]
|
||||||
|
dev-dependencies = [
|
||||||
|
"pytest==8.3.4",
|
||||||
|
"pytest-asyncio==0.25.2",
|
||||||
|
]
|
||||||
1769
backend/uv.lock
generated
Normal file
1769
backend/uv.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user