fastapi-router-versioning 0.2.5__tar.gz → 0.2.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/PKG-INFO +2 -2
  2. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/README.md +1 -1
  3. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/RELEASE_NOTES.md +6 -0
  4. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/fastapi_router_versioning/__init__.py +1 -1
  5. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/fastapi_router_versioning/versioner.py +1 -2
  6. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/dependabot.yml +0 -0
  7. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/labeler.yml +0 -0
  8. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/create-draft-release.yml +0 -0
  9. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/detect-conflicts.yml +0 -0
  10. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/guard-dependencies.yml +0 -0
  11. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/labeler.yml +0 -0
  12. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/latest-changes.yml +0 -0
  13. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/pre-commit.yml +0 -0
  14. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/prepare-release.yml +0 -0
  15. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/publish.yml +0 -0
  16. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/test-redistribute.yml +0 -0
  17. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/test.yml +0 -0
  18. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.github/workflows/zizmor.yml +0 -0
  19. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.gitignore +0 -0
  20. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.pre-commit-config.yaml +0 -0
  21. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/.python-version +0 -0
  22. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/LICENSE +0 -0
  23. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/calver_app.py +0 -0
  24. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/download_static_assets.py +0 -0
  25. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/mounted_subapps_app.py +0 -0
  26. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/multi_router_app.py +0 -0
  27. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/openapi_hook_app.py +0 -0
  28. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/self_hosted_docs_app.py +0 -0
  29. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/semver_app.py +0 -0
  30. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/semver_major_only_app.py +0 -0
  31. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/validation_error_code_app.py +0 -0
  32. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/validation_error_code_custom_handler_app.py +0 -0
  33. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/examples/webhook_versioning_app.py +0 -0
  34. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/fastapi_router_versioning/py.typed +0 -0
  35. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/pyproject.toml +0 -0
  36. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/format.sh +0 -0
  37. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/lint.sh +0 -0
  38. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/prepare_release.py +0 -0
  39. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/test-cov-html.sh +0 -0
  40. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/test-cov.sh +0 -0
  41. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/scripts/test.sh +0 -0
  42. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/__init__.py +0 -0
  43. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/test_calver.py +0 -0
  44. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/test_fastapi_integration.py +0 -0
  45. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/test_prepare_release.py +0 -0
  46. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/test_semver.py +0 -0
  47. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/tests/test_versioner.py +0 -0
  48. {fastapi_router_versioning-0.2.5 → fastapi_router_versioning-0.2.6}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-router-versioning
3
- Version: 0.2.5
3
+ Version: 0.2.6
4
4
  Summary: Router-based API versioning for FastAPI, with per-version docs and a declarative route lifecycle.
5
5
  Project-URL: Homepage, https://github.com/mat81black/fastapi-router-versioning
6
6
  Project-URL: Repository, https://github.com/mat81black/fastapi-router-versioning
@@ -37,7 +37,7 @@ Description-Content-Type: text/markdown
37
37
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/fastapi-router-versioning.svg?color=%2334D058)](https://pypi.org/project/fastapi-router-versioning/)
38
38
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
39
39
 
40
- FastAPI doesn't ship a way to run multiple API versions side by side. Teams typically end up duplicating routers, hand-rolling prefixes, or branching on request paths, and every one of those gets harder to maintain as versions pile up. `RouterVersioner` takes a declarative approach instead: annotate each route with the version it belongs to, and it generates the URL prefixes, the per-version OpenAPI schema, and the docs for you, without moving anything else in your app.
40
+ Running multiple API versions side by side usually means duplicating routers, hand-rolling prefixes, or branching on request paths, and every one of those gets harder to maintain as versions pile up. `RouterVersioner` takes a declarative approach instead: annotate each route with the version it belongs to, and it generates the URL prefixes, the per-version OpenAPI schema, and the docs for you, without moving anything else in your app.
41
41
 
42
42
  ---
43
43
 
@@ -6,7 +6,7 @@
6
6
  [![Supported Python versions](https://img.shields.io/pypi/pyversions/fastapi-router-versioning.svg?color=%2334D058)](https://pypi.org/project/fastapi-router-versioning/)
7
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
8
8
 
9
- FastAPI doesn't ship a way to run multiple API versions side by side. Teams typically end up duplicating routers, hand-rolling prefixes, or branching on request paths, and every one of those gets harder to maintain as versions pile up. `RouterVersioner` takes a declarative approach instead: annotate each route with the version it belongs to, and it generates the URL prefixes, the per-version OpenAPI schema, and the docs for you, without moving anything else in your app.
9
+ Running multiple API versions side by side usually means duplicating routers, hand-rolling prefixes, or branching on request paths, and every one of those gets harder to maintain as versions pile up. `RouterVersioner` takes a declarative approach instead: annotate each route with the version it belongs to, and it generates the URL prefixes, the per-version OpenAPI schema, and the docs for you, without moving anything else in your app.
10
10
 
11
11
  ---
12
12
 
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Latest Changes
4
4
 
5
+ ## 0.2.6 (2026-07-11)
6
+
7
+ ### Refactors
8
+
9
+ * ♻️ Use fastapi-native imports instead of importing from starlette directly. PR [#38](https://github.com/mat81black/fastapi-router-versioning/pull/38) by [@mat81black](https://github.com/mat81black).
10
+
5
11
  ## 0.2.5 (2026-07-10)
6
12
 
7
13
  ### Fixes
@@ -1,5 +1,5 @@
1
1
  from .versioner import RouterVersioner, VersionFormat, VersionT, api_version
2
2
 
3
- __version__ = "0.2.5"
3
+ __version__ = "0.2.6"
4
4
 
5
5
  __all__ = ["RouterVersioner", "api_version", "VersionFormat", "VersionT"]
@@ -9,7 +9,7 @@ from typing import Any, TypeAlias, TypeVar
9
9
  import fastapi.openapi.utils
10
10
  import fastapi.routing
11
11
 
12
- from fastapi import APIRouter, FastAPI
12
+ from fastapi import APIRouter, FastAPI, Request
13
13
  from fastapi.encoders import jsonable_encoder
14
14
  from fastapi.exceptions import RequestValidationError
15
15
  from fastapi.openapi.docs import (
@@ -19,7 +19,6 @@ from fastapi.openapi.docs import (
19
19
  )
20
20
  from fastapi.responses import HTMLResponse, JSONResponse
21
21
  from fastapi.routing import APIRoute, APIWebSocketRoute
22
- from starlette.requests import Request
23
22
 
24
23
  # iter_route_contexts was introduced in FastAPI 0.137.2. On older versions the
25
24
  # attribute does not exist and getattr returns None, activating the fallback path.