From 1ea6e26feb74fb7243ebde45241219c6d2f08b4c Mon Sep 17 00:00:00 2001 From: BarnabasG Date: Thu, 5 Feb 2026 01:08:25 +0000 Subject: [PATCH] 1.3.3 Optional dependencies --- pyproject.toml | 15 ++++++++++----- uv.lock | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4492cc2..4b7903c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pytest-api-cov" -version = "1.3.2" +version = "1.3.3" description = "Pytest Plugin to provide API Coverage statistics for Python Web Frameworks" readme = "README.md" authors = [{ name = "Barnaby Gill", email = "barnabasgill@gmail.com" }] @@ -8,17 +8,18 @@ license = { text = "Apache-2.0" } requires-python = ">=3.10" dependencies = [ - "fastapi>=0.68.0", - "flask>=2.0.0", - "httpx>=0.20.0", "pydantic>=2.0.0", "rich>=10.0.0", - "starlette>=0.14.0", "tomli>=1.2.0", "pytest>=6.0.0", "PyYAML>=6.0", ] +[project.optional-dependencies] +django = ["django>=4.0.0"] +fastapi = ["fastapi>=0.68.0", "httpx>=0.20.0", "starlette>=0.14.0"] +flask = ["flask>=2.0.0"] + [project.urls] Source = "https://github.com/BarnabasG/api-coverage" @@ -34,6 +35,10 @@ dev = [ "vulture>=2.14", "types-PyYAML>=6.0", "django>=4.0.0", + "fastapi>=0.68.0", + "flask>=2.0.0", + "httpx>=0.20.0", + "starlette>=0.14.0", ] # API COVERAGE diff --git a/uv.lock b/uv.lock index f6a5136..319bf71 100644 --- a/uv.lock +++ b/uv.lock @@ -687,29 +687,42 @@ wheels = [ [[package]] name = "pytest-api-cov" -version = "1.3.2" +version = "1.3.3" source = { editable = "." } dependencies = [ - { name = "fastapi" }, - { name = "flask" }, - { name = "httpx" }, { name = "pydantic" }, { name = "pytest" }, { name = "pyyaml" }, { name = "rich" }, - { name = "starlette" }, { name = "tomli" }, ] +[package.optional-dependencies] +django = [ + { name = "django" }, +] +fastapi = [ + { name = "fastapi" }, + { name = "httpx" }, + { name = "starlette" }, +] +flask = [ + { name = "flask" }, +] + [package.dev-dependencies] dev = [ { name = "django" }, + { name = "fastapi" }, + { name = "flask" }, + { name = "httpx" }, { name = "mypy" }, { name = "path" }, { name = "pytest-cov" }, { name = "pytest-sugar" }, { name = "pytest-xdist" }, { name = "ruff" }, + { name = "starlette" }, { name = "typeguard" }, { name = "types-pyyaml" }, { name = "vulture" }, @@ -717,26 +730,32 @@ dev = [ [package.metadata] requires-dist = [ - { name = "fastapi", specifier = ">=0.68.0" }, - { name = "flask", specifier = ">=2.0.0" }, - { name = "httpx", specifier = ">=0.20.0" }, + { name = "django", marker = "extra == 'django'", specifier = ">=4.0.0" }, + { name = "fastapi", marker = "extra == 'fastapi'", specifier = ">=0.68.0" }, + { name = "flask", marker = "extra == 'flask'", specifier = ">=2.0.0" }, + { name = "httpx", marker = "extra == 'fastapi'", specifier = ">=0.20.0" }, { name = "pydantic", specifier = ">=2.0.0" }, { name = "pytest", specifier = ">=6.0.0" }, { name = "pyyaml", specifier = ">=6.0" }, { name = "rich", specifier = ">=10.0.0" }, - { name = "starlette", specifier = ">=0.14.0" }, + { name = "starlette", marker = "extra == 'fastapi'", specifier = ">=0.14.0" }, { name = "tomli", specifier = ">=1.2.0" }, ] +provides-extras = ["django", "fastapi", "flask"] [package.metadata.requires-dev] dev = [ { name = "django", specifier = ">=4.0.0" }, + { name = "fastapi", specifier = ">=0.68.0" }, + { name = "flask", specifier = ">=2.0.0" }, + { name = "httpx", specifier = ">=0.20.0" }, { name = "mypy", specifier = ">=1.17.0" }, { name = "path", specifier = ">=16.0.0" }, { name = "pytest-cov", specifier = ">=6.2.1" }, { name = "pytest-sugar", specifier = ">=1.0.0" }, { name = "pytest-xdist", specifier = ">=3.8.0" }, { name = "ruff", specifier = ">=0.12.3" }, + { name = "starlette", specifier = ">=0.14.0" }, { name = "typeguard", specifier = ">=4.4.4" }, { name = "types-pyyaml", specifier = ">=6.0" }, { name = "vulture", specifier = ">=2.14" },