wip: init with uv

This commit is contained in:
grillazz 2025-03-08 10:30:24 +01:00
parent e9750107e7
commit 87f8dab32f
2 changed files with 1344 additions and 89 deletions

View File

@ -1,90 +1,34 @@
[tool.poetry] [project]
name = "fastapi-sqlalchemy-asyncpg" name = "fastapi-sqlalchemy-asyncpg"
version = "0.0.17" version = "0.1.0"
description = "" description = "A modern FastAPI application with SQLAlchemy 2.0 and AsyncPG for high-performance async database operations. Features include JWT authentication with Redis token storage, password hashing, connection pooling, data processing with Polars, Rich logging, task scheduling with APScheduler, and Shakespeare datasets integration."
authors = ["Jakub Miazek <the@grillazz.com>"] readme = "README.md"
packages = [] requires-python = ">=3.13"
license = "MIT" dependencies = [
package-mode = false "fastapi[all]>=0.115.6",
"pydantic[email]>=2.10.3",
[tool.poetry.dependencies] "pydantic-settings>=2.7.0",
python = "^3.13" "sqlalchemy>=2.0.36",
fastapi = {version = "^0.115.6", extras = ["all"]} "uvicorn[standard]>=0.34.0",
pydantic = {version = "^2.10.3", extras = ["email"]} "asyncpg>=0.30.0",
pydantic-settings = "^2.7.0" "alembic>=1.14.0",
sqlalchemy = "^2.0.36" "httpx>=0.28.1",
uvicorn = { version = "^0.34.0", extras = ["standard"]} "pytest>=8.3.4",
asyncpg = "^0.30.0" "pytest-cov>=6.0.0",
alembic = "^1.14.0" "uvloop>=0.21.0",
httpx = "^0.28.1" "httptools>=0.6.4",
pytest = "^8.3.4" "rich>=13.9.4",
pytest-cov = "^6.0.0" "pyjwt[cryptography]>=2.10.1",
uvloop = "^0.21.0" "redis>=5.2.1",
httptools = "^0.6.4" "bcrypt>=4.2.1",
rich = "^13.9.4" "polars>=1.17.1",
pyjwt = {version = "^2.10.1", extras = ["cryptography"]} "python-multipart>=0.0.20",
redis = "^5.2.1" "fastexcel>=0.12.0",
bcrypt = "^4.2.1" "fastapi-cache2>=0.2.1",
polars = "^1.17.1" "inline-snapshot>=0.17.0",
python-multipart = "^0.0.20" "dirty-equals>=0.8.0",
fastexcel = "^0.12.0" "polyfactory>=2.18.1",
fastapi-cache2 = "^0.2.1" "granian>=1.7.0",
inline-snapshot = "^0.17.0" "apscheduler[redis,sqlalchemy]>=4.0.0a5",
dirty-equals = "^0.8.0" "pendulum @ git+https://github.com/sdispater/pendulum.git@develop"
polyfactory = "^2.18.1" ]
granian = "^1.7.0"
apscheduler = {version = "^4.0.0a5", extras = ["redis,sqlalchemy"]}
pendulum = {git = "https://github.com/sdispater/pendulum.git", rev="develop"}
[tool.poetry.group.dev.dependencies]
devtools = { extras = ["pygments"], version = "^0.12.2" }
safety = "*"
pyupgrade = "*"
ipython = "^8.26.0"
ruff = "^0.6.1"
sqlacodegen = "^3.0.0rc5"
tryceratops = "^2.3.3"
locust = "^2.31.3"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 120
indent-width = 4
lint.select = ["E", "F", "UP", "N", "C", "B"]
lint.ignore = ["E501"]
# Exclude a variety of commonly ignored directories.
exclude = ["alembic",]
# Assume Python 3.13
target-version = "py313"
[tool.ruff.lint.flake8-quotes]
docstring-quotes = "double"
[tool.ruff.lint.flake8-bugbear]
extend-immutable-calls = ["fastapi.Depends",]
[tool.pytest.ini_options]
addopts = "-v --doctest-modules --doctest-glob=*.md --ignore=alembic"
asyncio_mode = "strict"
env_files = [".env"]
[tool.tryceratops]
exclude = ["alembic",]
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"

1311
uv.lock generated Normal file

File diff suppressed because it is too large Load Diff