[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "tenant-engine" version = "0.1.0" description = "Canonical owner of tenant-as-an-entity facts for NetKingdom: existence, onboarding grouping, capability roles, and plan/subscription assignment." readme = "README.md" requires-python = ">=3.12" license = { file = "LICENSE" } authors = [{ name = "Coulomb" }] dependencies = [ "fastapi>=0.115,<1.0", "uvicorn[standard]>=0.30,<1.0", "httpx>=0.27,<1.0", ] [project.optional-dependencies] postgres = [ "psycopg[binary]>=3.2,<4.0", "psycopg-pool>=3.2,<4.0", ] dev = [ "pytest>=8.2,<9.0", "ruff>=0.6,<1.0", "pyyaml>=6.0,<7.0", ] [project.scripts] tenant-engine = "tenant_engine.main:main" tenant-engine-migrate = "tenant_engine.migrate:main" tenant-engine-transfer = "tenant_engine.transfer:main" [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = [ "--strict-markers", "--disable-warnings", "--tb=short", ] [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "B"]