[build-system] requires = ["flit_core >=3.4,<4"] build-backend = "flit_core.buildapi" [project] name = "runboat" authors = [{name = "St\u00e9phane Bidoul", email = "stephane.bidoul@gmail.com"}] readme = "README.md" classifiers = [ "License :: OSI Approved :: MIT License", ] dependencies = [ "ansi2html", "fastapi[all]>=0.112", "gunicorn", "httpx", "jinja2", "kubernetes", "pydantic>=2", "pydantic-settings", "rich", "sse-starlette", "uvicorn", ] requires-python = "==3.13.*" dynamic = ["version", "description"] [project.optional-dependencies] test = [ "pytest", "pytest-asyncio", "pytest-cov", "pytest-dotenv", "pytest-mock", ] mypy = [ "mypy>=0.930", "types-urllib3", ] [project.urls] Home = "https://github.com/sbidoul/runboat" # ruff [tool.ruff] fix = true [tool.ruff.lint] select = [ "F", # pyflakes "E", # pycodestyle "W", # pycodestyle "C90", # mccabe "I", # isort "UP", # pyupgrade "T10", # flake8-debugger "T20", # flake8-print "PLE", # pylint errors "RUF", ] [tool.ruff.lint.mccabe] max-complexity = 15 [tool.ruff.lint.isort] known-first-party = ["runboat"] # pytest [tool.pytest.ini_options] env_override_existing_values = 1 env_files = [".env.test"] asyncio_mode = "strict" # mypy [tool.mypy] strict = true show_error_codes = true plugins = ["pydantic.mypy"] [[tool.mypy.overrides]] module = ["kubernetes.*"] ignore_missing_imports = true [tool.pydantic-mypy] init_forbid_extra = true init_typed = true warn_required_dynamic_aliases = true # pip-deepfreeze [tool.pip-deepfreeze.sync] extras = "test,mypy"