diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index ab0314e..2c1b849 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -24,11 +24,11 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt - pip install pytest fakeredis + pip install poetry + poetry install --all-groups --no-interaction --no-root -v - name: Redis Server in GitHub Actions uses: supercharge/redis-github-action@1.8.0 - name: Run tests - run: pytest -s -v --tb=short tests/ + run: poetry run pytest -s -v --tb=short tests/ diff --git a/.gitignore b/.gitignore index 7e07261..b6d108f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,17 @@ -*.pyc -prompt.md -Pipfile -Pipfile.lock -*.code-workspace -conf/ *.bak -other/ -TransitApp/ -.vscode/ -.DS_Store -.dockerignore -Dockerfile -fly.toml -.pytest_cache/ +*.code-workspace *.instructions.md +*.pyc + CLAUDE.md poetry.lock -pyproject.toml +.dockerignore +.DS_Store + +.pytest_cache/ +.vscode/ +.claude/ +.fly/ +conf/ +other/ +TransitApp/ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..abfc015 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,32 @@ +[project] +name = "transit-sh" +version = "0.1.0" +description = "File transfer service without intermediate storage" +authors = [{name = "Rémi Héneault",email = "remi@heneault.fr"}] + +requires-python = ">=3.13" +dependencies = [ + "uvloop (>=0.21.0, <1.0.0)", + "uvicorn (>=0.35.0, <1.0.0)", + "websockets (>=15.0.1, <16.0.0)", + "httptools (>=0.6.4, <0.7.0)", + "fastapi (>=0.116.1, <1.0.0)", + "pydantic (>=2.11.7, <3.0.0)", + "redis (>=6.3.0, <7.0.0)", + "anyio (>=4.10.0, <5.0.0)", + "jinja2 (>=3.1.6, <4.0.0)", + "sentry-sdk (>=2.34.1, <3.0.0)" +] + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" + +[tool.poetry] +package-mode = false + +[tool.poetry.group.dev.dependencies] +pytest = "*" +httpx = "*" +rich = "*" + diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e8d90f0..0000000 --- a/requirements.txt +++ /dev/null @@ -1,12 +0,0 @@ --i https://pypi.org/simple -uvloop>=0.21.0 -uvicorn>=0.35.0 -httptools>=0.6.4 -websockets>=15.0.1 -fastapi>=0.116.1 -redis>=6.2.0 -jinja2>=3.1.6 -httpx>=0.28.1 -rich>=14.0.0 -sentry-sdk[fastapi]>=2.32.0 -pydantic>=2.0.0