Use uv instead of poetry

This commit is contained in:
David Burke committed 2024-10-11 10:47:07 -04:00
1 parent 223598cc51
commit 56fcdde1c7
5 files changed
+2883 -4517

No files matched your search

+1
View File
@@ -1,4 +1,5 @@
.env
.venv
env
*.sql
*/tests
+7 -5
View File
@@ -2,14 +2,16 @@ FROM python:3.13 AS build-python
ARG IS_CI
ENV PYTHONUNBUFFERED=1 \
PORT=8080 \
POETRY_VIRTUALENVS_CREATE=false \
POETRY_HOME=/opt/poetry \
UV_COMPILE_BYTECODE=1 \
UV_SYSTEM_PYTHON=true \
UV_PYTHON_DOWNLOADS=never \
UV_PROJECT_ENVIRONMENT=/usr/local \
PIP_DISABLE_PIP_VERSION_CHECK=on
WORKDIR /code
RUN curl -sSL https://install.python-poetry.org | python3 -
COPY poetry.lock pyproject.toml /code/
RUN $POETRY_HOME/bin/poetry install --no-interaction --no-ansi $(test "$IS_CI" = "True" && echo "--no-dev")
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
COPY pyproject.toml uv.lock /code/
RUN uv sync --frozen --no-install-project $(test "$IS_CI" = "True" && echo "--no-dev")
FROM python:3.13-slim
ARG GLITCHTIP_VERSION=local
Generated
-4454
View File
File diff suppressed because it is too large. Load diff
+52 -58
View File
@@ -1,63 +1,61 @@
[tool.poetry]
[project]
name = "glitchtip-backend"
version = "0.1.0"
description = "Django backend that powers GlitchTip, an open source reimplementation of Sentry"
authors = ["David Burke"]
license = "MIT"
package-mode = false
requires-python = ">=3.11"
dependencies = [
"django~=5.1",
"django-allauth[mfa,socialaccount]~=65.0",
"django-cors-headers~=4.0",
"django-environ~=0.11",
"django-extensions~=3.0",
"django-organizations~=2.3",
"django-storages[boto3,azure,google]~=1.12",
"uWSGI~=2.0",
"whitenoise~=6.0",
"sentry-sdk~=2.0",
"celery[redis]~=5.4",
"django-csp~=3.6",
"dj-stripe~=2.8",
"django-anymail~=11.0",
"user-agents~=2.1",
"django-ipware~=7.0",
"anonymizeip~=1.0",
"symbolic~=10.0",
"django-rest-mfa~=1.2",
"aiohttp~=3.7",
"google-cloud-logging~=3.0",
"django-prometheus~=2.2",
"django-sql-utils~=0.7",
"django-redis[hiredis]~=5.2",
"uwsgi-chunked~=0.1",
"django-import-export~=4.1",
"psycopg[c,pool]~=3.1",
"uvicorn~=0.30",
"gunicorn~=23.0",
"django-ninja~=1.3",
"boto3~=1.34",
"orjson~=3.9",
"celery-batches~=0.9",
"pydantic[email]~=2.7",
]
[tool.poetry.dependencies]
python = "^3.11"
Django = "~5.1.0"
django-allauth = {extras = ["mfa", "socialaccount"], version = "^65.0.0"}
django-cors-headers = "^4.0.0"
django-environ = "~0.11.2"
django-extensions = "^3.0.2"
django-organizations = "^2.3.1"
django-storages = {extras = ["boto3", "azure", "google"], version = "^1.12.3"}
uWSGI = "^2.0.18"
whitenoise = "^6.0.0"
sentry-sdk = "^2.0.0"
celery = {version = "~5.4.0", extras = ["redis"]}
django-csp = "^3.6"
dj-stripe = "~2.8.0"
django-anymail = "^11.0.0"
user-agents = "^2.1"
django-ipware = "^7.0.0"
anonymizeip = "^1.0.0"
symbolic = "^10.0.0"
aiohttp = "^3.7.4"
google-cloud-logging = "^3.0.0"
django-prometheus = "^2.2.0"
django-sql-utils = "^0.7.0"
django-redis = {extras = ["hiredis"], version = "^5.2.0"}
uwsgi-chunked = "^0.1.8"
django-import-export = "~4.1.0"
psycopg = {extras = ["c", "pool"], version = "^3.1.12"}
uvicorn = "^0.31.0"
gunicorn = "^23.0.0"
django-ninja = "~1.3.0"
boto3 = "1.35.29"
orjson = "^3.9.9"
celery-batches = "^0.9"
pydantic = {extras = ["email"], version = "^2.9.0"}
[tool.poetry.group.dev.dependencies]
ipdb = "^0.13.2"
locust = "^2.10.1"
freezegun = "^1.1.0"
rope = "^1.3.0"
model_bakery = "^1.1.1"
django-debug-toolbar = "^4.0.0"
django-stubs = {extras = ["compatible-mypy"], version = "^5.0.0"}
django-sslserver = "^0.22"
aioresponses = "^0.7.6"
requests-mock = "^1.9.3"
memray = "^1.9.1"
ruff = "^0.6.0"
# Needed for test --parallel
tblib = "^3.0.0"
[tool.uv]
dev-dependencies = [
"locust~=2.10",
"freezegun~=1.1",
"model_bakery~=1.1",
"django-debug-toolbar~=4.0",
"django-stubs[compatible-mypy]~=5.0",
"django-sslserver~=0.22",
"aioresponses~=0.7",
"requests-mock~=1.9",
"memray~=1.9",
"ruff~=0.6",
"tblib~=3.0", # Needed for test --parallel
]
[tool.ruff.lint]
extend-select = ["I"]
@@ -74,7 +72,3 @@ django_settings_module = "glitchtip.settings"
[tool.pyright]
venvPath = "."
venv = ".venv"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
Generated
+2823
View File
File diff suppressed because it is too large. Load diff