Skip to content

Commit f358e19

Browse files
committed
migrate from poetry to uv
1 parent edfce56 commit f358e19

File tree

6 files changed

+709
-1231
lines changed

6 files changed

+709
-1231
lines changed

Dockerfile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
ARG ENVIRONMENT="prod"
21
FROM python:3.12-slim
32

43
# required for psycopg2
@@ -9,17 +8,18 @@ RUN apt update \
98
&& apt clean \
109
&& rm -rf /var/lib/apt/lists/*
1110

12-
RUN pip install --no-cache-dir --upgrade pip poetry
11+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
1312
RUN useradd --no-create-home --gid root runner
1413

15-
ENV POETRY_VIRTUALENVS_CREATE=false
14+
ENV UV_PYTHON_PREFERENCE=only-system
15+
ENV UV_NO_CACHE=true
1616

1717
WORKDIR /code
1818

1919
COPY pyproject.toml .
20-
COPY poetry.lock .
20+
COPY uv.lock .
2121

22-
RUN [ "$ENVIRONMENT" = "prod" ] && poetry install --no-dev || poetry install
22+
RUN uv sync --all-extras --frozen --no-install-project
2323

2424
COPY . .
2525

Taskfile.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,33 @@ tasks:
1515
desc: "run pytest (pass args after '--')"
1616
cmds:
1717
- task: down
18-
- docker compose run application sh -c "sleep 1 && alembic downgrade base && alembic upgrade head && pytest {{.CLI_ARGS}}"
18+
- docker compose run application sh -c "sleep 1 && uv run alembic downgrade base && uv run alembic upgrade head && uv run pytest {{.CLI_ARGS}}"
1919
- task: down
2020

2121
migration:
2222
desc: "create alembic migration (pass args after '--')"
2323
cmds:
24-
- docker compose run application sh -c "sleep 1 && alembic upgrade head && alembic revision --autogenerate {{.CLI_ARGS}}"
24+
- docker compose run application sh -c "sleep 1 && uv run alembic upgrade head && uv run alembic revision --autogenerate {{.CLI_ARGS}}"
2525
- task: down
2626

2727
build:
2828
desc: "build app docker container"
2929
cmds:
3030
- docker compose build application
3131

32+
lock:
33+
desc: lock with update
34+
cmds:
35+
- uv lock --upgrade
36+
3237
install:
3338
desc: "install local dependencies"
3439
cmds:
35-
- poetry install --sync --no-root
40+
- uv sync --all-extras --no-install-project --frozen
3641

3742
lint:
3843
desc: "run linters"
3944
cmds:
40-
- poetry run ruff format .
41-
- poetry run ruff check . --fix
42-
- poetry run mypy .
45+
- uv run ruff format .
46+
- uv run ruff check . --fix
47+
- uv run mypy .

docker-compose.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ services:
88
restart: always
99
volumes:
1010
- .:/code
11+
- /code/.venv
1112
ports:
1213
- "8000:8000"
1314
depends_on:
@@ -17,7 +18,7 @@ services:
1718
- DEBUG=true
1819
- DB_ECHO=true
1920
command:
20-
["python", "-m", "app"]
21+
["uv", "run", "python", "-m", "app"]
2122

2223
db:
2324
image: postgres:14

0 commit comments

Comments
 (0)