[build-system] build-backend = "hatchling.build" requires = ["hatchling<1.22"] [project] authors = [{email = "bws@bws.bio", name = "Brendon Smith"}] classifiers = [ "Framework :: FastAPI", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Internet :: Log Analysis", "Topic :: Internet :: WWW/HTTP :: HTTP Servers", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: System :: Software Distribution", "Topic :: Utilities", "Typing :: Typed", ] dependencies = [ "gunicorn==22.0.0", "uvicorn==0.28.1", ] description = "Docker images and utilities to power your Python APIs and help you ship faster." dynamic = ["version"] keywords = ["asgi", "docker", "fastapi", "gunicorn", "uvicorn"] license = "MIT" name = "inboard" readme = "README.md" requires-python = ">=3.8.1,<4" [project.optional-dependencies] checks = [ "mypy==1.9.0", "ruff>=0.3,<0.4", ] docs = [ "mkdocs-material>=9,<10", ] fastapi = [ "fastapi>=0.110.1,<0.111", ] starlette = [ "starlette>=0.37.2,<0.38.0", ] tests = [ "coverage[toml]>=7,<8", "httpx>=0.23,<1", "pytest>=8.1.1,<9", "pytest-mock>=3,<4", "pytest-timeout>=2,<3", ] uvicorn-fast = [ "httptools>=0.5.0", "uvloop>=0.14.0,!=0.15.0,!=0.15.1; sys_platform != 'win32' and (sys_platform != 'cygwin' and platform_python_implementation != 'PyPy')", "websockets>=10.4", ] uvicorn-standard = [ "uvicorn[standard]==0.28.1", ] [project.urls] Docker = "https://github.com/br3ndonland/inboard/pkgs/container/inboard" Documentation = "https://inboard.bws.bio" Homepage = "https://github.com/br3ndonland/inboard" Repository = "https://github.com/br3ndonland/inboard" [tool.coverage.report] exclude_lines = ["if TYPE_CHECKING:", "pragma: no cover"] fail_under = 100 show_missing = true [tool.coverage.run] command_line = "-m pytest" source = ["inboard", "tests"] [tool.hatch.build.targets.sdist] include = ["/inboard"] [tool.hatch.build.targets.wheel] packages = ["inboard"] [tool.hatch.envs.base] dev-mode = false features = [] path = ".venv" [tool.hatch.envs.ci] dev-mode = false features = [ "checks", "fastapi", "tests", "uvicorn-fast", ] path = ".venv" [tool.hatch.envs.default] dev-mode = true features = [ "checks", "docs", "fastapi", "tests", "uvicorn-fast", ] path = ".venv" [tool.hatch.envs.default.scripts] check = [ "ruff check", "ruff format --check", "mypy", "npx -s -y prettier@'^2' . --check", "npx -s -y cspell --dot --gitignore *.md **/*.md", ] format = [ "ruff check --fix", "ruff format", "npx -s -y prettier@'^2' . --write", ] [tool.hatch.envs.docs] dev-mode = false features = [ "docs", ] [tool.hatch.envs.fastapi] dev-mode = false features = [ "fastapi", ] path = ".venv" [tool.hatch.envs.starlette] dev-mode = false features = [ "starlette", ] path = ".venv" [tool.hatch.version] path = "inboard/__init__.py" [tool.mypy] files = ["**/*.py"] plugins = "pydantic.mypy" show_error_codes = true strict = true [tool.pytest.ini_options] addopts = "-q" minversion = "6.0" testpaths = ["tests"] [tool.ruff] src = ["inboard", "tests"] [tool.ruff.format] docstring-code-format = true [tool.ruff.lint] extend-select = ["I"] [tool.ruff.lint.isort] known-first-party = ["inboard", "tests"]