[build-system] requires = ["hatchling==1.27.0"] build-backend = "hatchling.build" [project] name = "bad-decisions" version = "2.3.0" description = "Absurdly overengineered open-source party game engine and REST service" readme = "README.md" requires-python = ">=3.12" license = { file = "LICENSE" } maintainers = [{ name = "BytesAndCoffee" }] keywords = ["party-game", "game-engine", "fastapi", "openapi", "multiplayer", "carddeck", "self-hosted"] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: FastAPI", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", "Topic :: Games/Entertainment :: Board Games", ] dependencies = [ "fastapi==0.116.1", "pydantic==2.11.7", "uvicorn==0.35.0", ] [project.optional-dependencies] # Optional features; the server itself needs none of them. aws = ["boto3==1.40.75"] aws-deploy = ["boto3==1.40.75", "aws-cdk-lib==2.231.0", "constructs>=10.0.0,<11.0.0"] tui = ["textual==8.2.8"] dev = [ "build==1.3.0", "httpx==0.28.1", "pytest==9.1.1", ] [project.scripts] bad-decisions = "bad_decisions.cli:main" [project.urls] Homepage = "https://github.com/BytesAndCoffee/bad-decisions" Documentation = "https://github.com/BytesAndCoffee/bad-decisions/tree/main/docs" Source = "https://github.com/BytesAndCoffee/bad-decisions" Issues = "https://github.com/BytesAndCoffee/bad-decisions/issues" Changelog = "https://github.com/BytesAndCoffee/bad-decisions/blob/main/CHANGELOG.md" Demo = "https://bytes.coffee/bad-decisions/" [tool.hatch.build.targets.wheel] packages = ["src/bad_decisions"] include = ["src/bad_decisions/data/**", "src/bad_decisions/web/**"] # `bad-decisions deploy local` stages this version's exact dependency pins. [tool.hatch.build.targets.wheel.force-include] "requirements.lock" = "bad_decisions/requirements.lock" # Installers place this under /share/man/man1, which man finds from PATH. [tool.hatch.build.targets.wheel.shared-data] "man/bad-decisions.1" = "share/man/man1/bad-decisions.1" [tool.hatch.build.targets.sdist] include = ["src", "tests", "scripts", "deploy", "imports", "LICENSES", "*.md", "*.py", "pyproject.toml", "requirements*.lock", "man", "docs"] [tool.pytest.ini_options] addopts = "-q" testpaths = ["tests"]