fastapi-factory-utilities 0.4.0__tar.gz → 0.4.1__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.
Potentially problematic release.
This version of fastapi-factory-utilities might be problematic. Click here for more details.
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/PKG-INFO +2 -2
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/pyproject.toml +6 -6
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/fastapi_builder.py +2 -1
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/plugin_manager/plugin_manager.py +0 -1
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/repositories.py +1 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/security/jwt.py +6 -5
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/status.py +1 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/LICENSE +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/README.md +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/__main__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/tags.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/health.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/readiness.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/application.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/builder.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/config.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/enums.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/plugin_manager/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/plugin_manager/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/example/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/httpx_plugin/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/builder.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/configs.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/depends.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/documents.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/builder.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/configs.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/helpers.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/protocols.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/security/kratos.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/objects.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/services.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/enums.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/objects.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/services.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/enums.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/exceptions.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/health_calculator_strategies.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/readiness_calculator_strategies.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/services.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/types.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/configs.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/importlib.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/log.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/uvicorn.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/yaml_reader.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/__main__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/responses.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/routes.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/app.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/application.yaml +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/entities.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/enums.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/types.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/document.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/repository.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/services/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/services/books/services.py +0 -0
- {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: fastapi_factory_utilities
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: Consolidate libraries and utilities to create microservices in Python with FastAPI, Beanie, Httpx, AioPika and OpenTelemetry.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: python,fastapi,beanie,httpx,opentelemetry,microservices
|
|
@@ -31,7 +31,7 @@ Requires-Dist: opentelemetry-sdk (>=1.26.0,<2.0.0)
|
|
|
31
31
|
Requires-Dist: pyaml (>=25.1.0,<26.0.0)
|
|
32
32
|
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
|
|
33
33
|
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
34
|
-
Requires-Dist: pymongo (>=4.9.2,<4.
|
|
34
|
+
Requires-Dist: pymongo (>=4.9.2,<4.14.0)
|
|
35
35
|
Requires-Dist: reactivex (>=4.0.4,<5.0.0)
|
|
36
36
|
Requires-Dist: structlog (>=24.1,<26.0)
|
|
37
37
|
Requires-Dist: typer (>=0,<1)
|
|
@@ -3,7 +3,7 @@ name = "fastapi_factory_utilities"
|
|
|
3
3
|
homepage = "https://github.com/miragecentury/fastapi_factory_utilities"
|
|
4
4
|
repository = "https://github.com/miragecentury/fastapi_factory_utilities"
|
|
5
5
|
keywords = ["python", "fastapi", "beanie", "httpx", "opentelemetry", "microservices"]
|
|
6
|
-
version = "0.4.
|
|
6
|
+
version = "0.4.1"
|
|
7
7
|
description = "Consolidate libraries and utilities to create microservices in Python with FastAPI, Beanie, Httpx, AioPika and OpenTelemetry."
|
|
8
8
|
authors = ["miragecentury <victorien.vanroye@gmail.com>"]
|
|
9
9
|
maintainers = ["miragecentury <victorien.vanroye@gmail.com>"]
|
|
@@ -38,7 +38,7 @@ opentelemetry-instrumentation-fastapi = "^0"
|
|
|
38
38
|
opentelemetry-propagator-b3 = "^1.26.0"
|
|
39
39
|
beanie = "^1.30.0"
|
|
40
40
|
opentelemetry-instrumentation-pymongo = "^0"
|
|
41
|
-
pymongo = "
|
|
41
|
+
pymongo = ">=4.9.2,<4.14.0"
|
|
42
42
|
pyaml = "^25.1.0"
|
|
43
43
|
reactivex = "^4.0.4"
|
|
44
44
|
pyjwt = "^2.10.1"
|
|
@@ -59,16 +59,16 @@ pyupgrade = "^3.15.2"
|
|
|
59
59
|
pytest = "^8.2.0"
|
|
60
60
|
pytest-xdist = "^3.6.1"
|
|
61
61
|
pytest-cov = "^6.0.0"
|
|
62
|
-
ruff = "
|
|
63
|
-
pytest-asyncio = "
|
|
62
|
+
ruff = ">=0.7.2,<0.13.0"
|
|
63
|
+
pytest-asyncio = ">=0.25,<1.1"
|
|
64
64
|
pytest-mongo = "^3.1.0"
|
|
65
65
|
locust = "^2.32.4"
|
|
66
66
|
testcontainers = { version="^4.9.0", extras=["mongodb"] }
|
|
67
67
|
types-deprecated = "^1.2.15.20241117"
|
|
68
68
|
types-pygments = "^2.18.0.20240506"
|
|
69
69
|
types-colorama = "^0.4.15.20240311"
|
|
70
|
-
types-protobuf = "
|
|
71
|
-
types-psutil = "
|
|
70
|
+
types-protobuf = ">=5.29.1.20241207,<7.0.0.0"
|
|
71
|
+
types-psutil = ">=6.1.0.20241221,<8.0.0.0"
|
|
72
72
|
types-pyopenssl = "^24.1.0.20240722"
|
|
73
73
|
types-ujson = "^5.10.0.20240515"
|
|
74
74
|
httpx = "^0.28.1"
|
|
@@ -77,7 +77,8 @@ class FastAPIBuilder:
|
|
|
77
77
|
|
|
78
78
|
for middleware_args in self._middleware_list:
|
|
79
79
|
fastapi.add_middleware(
|
|
80
|
-
middleware_class=middleware_args.middleware_class,
|
|
80
|
+
middleware_class=middleware_args.middleware_class,
|
|
81
|
+
**middleware_args.kwargs, # type: ignore
|
|
81
82
|
)
|
|
82
83
|
|
|
83
84
|
fastapi.include_router(router=self._base_router)
|
|
@@ -67,7 +67,6 @@ class PluginManager:
|
|
|
67
67
|
plugins: list[PluginProtocol] = []
|
|
68
68
|
|
|
69
69
|
for plugin_enum in want_to_activate_plugins:
|
|
70
|
-
|
|
71
70
|
try:
|
|
72
71
|
# Using a custom import function to be able to mock it in the tests.
|
|
73
72
|
plugin_module: ModuleType = cls._import_module(name=plugin_enum.value, package=plugin_package)
|
|
@@ -268,6 +268,7 @@ class AbstractRepository(ABC, Generic[DocumentGenericType, EntityGenericType]):
|
|
|
268
268
|
lazy_parse=lazy_parse,
|
|
269
269
|
nesting_depth=nesting_depth,
|
|
270
270
|
nesting_depths_per_field=nesting_depths_per_field,
|
|
271
|
+
**pymongo_kwargs,
|
|
271
272
|
).to_list()
|
|
272
273
|
except PyMongoError as error:
|
|
273
274
|
raise OperationError(f"Failed to find documents: {error}") from error
|
|
@@ -140,11 +140,12 @@ class JWTBearerAuthentication:
|
|
|
140
140
|
# by the request or by the jwt parameter
|
|
141
141
|
if self.jwt_raw is None and request is None:
|
|
142
142
|
raise HTTPException(status_code=HTTPStatus.UNAUTHORIZED, detail="Missing Credentials")
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
143
|
+
|
|
144
|
+
if self.jwt_raw is None:
|
|
145
|
+
jwt_raw: str = self._extract_raw_token(request=request) # type: ignore[arg-type]
|
|
146
|
+
else:
|
|
147
|
+
jwt_raw: str = self.jwt_raw
|
|
148
|
+
|
|
148
149
|
# Execute the io bound and cpu bound tasks in parallel
|
|
149
150
|
async with TaskGroup() as tg:
|
|
150
151
|
# TODO: Can be disabled by configuration (for operation purposes)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|