[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "mist" version = "0.1.0" description = "Mist backend — FastAPI app + Celery worker for the Mist private game distribution platform" readme = "../README.md" requires-python = ">=3.12" license = { text = "Proprietary" } authors = [{ name = "Josh" }] dependencies = [ # Web framework "fastapi>=0.115", "uvicorn[standard]>=0.32", "python-multipart>=0.0.12", # multipart form parsing for builds upload "pydantic>=2.9", "pydantic-settings>=2.6", # DB / migrations "sqlalchemy>=2.0", "alembic>=1.13", "psycopg[binary]>=3.2", # Auth "argon2-cffi>=23.1", "python-jose[cryptography]>=3.3", # Background work "celery>=5.4", "redis>=5.1", "kombu>=5.4", # Content / compression "zstandard>=0.23", "py7zr>=0.22", # Outbound HTTP "httpx>=0.27", "requests>=2.32", ] [project.optional-dependencies] dev = [ "pytest>=8.3", "pytest-asyncio>=0.24", "ruff>=0.7", "mypy>=1.13", ] [tool.setuptools.packages.find] where = ["src"] [tool.ruff] line-length = 110 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "N"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"]