[build-system] requires = ["setuptools>=61", "wheel"] build-backend = "setuptools.build_meta" [project] name = "lib-service-auth" version = "0.1.0" description = "Service-to-service bearer-key authentication and X-User-Id handling for FastAPI" requires-python = ">=3.11" dependencies = [ "fastapi>=0.110", "lib-secret-manager", ] [project.optional-dependencies] test = [ "pytest>=8", "httpx2", ] [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] service_auth = ["py.typed"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 120 target-version = "py312" [tool.ruff.lint] select = [ "E", "F", # pycodestyle errors, pyflakes (unused imports/variables, undefined names) "I", # import sorting (replaces isort) "B", # bugbear: likely bugs "ASYNC", # async mistakes "RUF006", # un-referenced asyncio.create_task (tasks can be garbage-collected) ] ignore = ["E501"] [tool.ruff.lint.isort] known-first-party = ["db_module", "metrics_server", "rabbitmq_handler", "secret_manager", "simple_logger_handler", "send_notifications", "service_auth"] [tool.ruff.format] indent-style = "tab" [tool.ruff.lint.flake8-bugbear] extend-immutable-calls = [ "fastapi.Depends", "fastapi.Query", "fastapi.Header", "fastapi.Body", "fastapi.Security", ]