fastapi-factory-utilities 0.3.5__tar.gz → 0.3.7__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.
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/PKG-INFO +7 -7
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/pyproject.toml +7 -7
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/repositories.py +1 -1
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/__init__.py +6 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/LICENSE +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/README.md +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/__main__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/api/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/api/tags.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/api/v1/sys/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/api/v1/sys/health.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/api/v1/sys/readiness.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/application.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/builder.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/config.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/enums.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/fastapi_builder.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/plugin_manager/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/plugin_manager/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/app/plugin_manager/plugin_manager.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/example/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/httpx_plugin/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/builder.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/configs.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/depends.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/documents.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/odm_plugin/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/builder.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/configs.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/helpers.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/protocols.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/security/jwt.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/security/kratos.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/kratos/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/kratos/enums.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/kratos/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/kratos/objects.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/kratos/services.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/enums.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/exceptions.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/health_calculator_strategies.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/readiness_calculator_strategies.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/services.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/services/status/types.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/configs.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/importlib.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/log.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/status.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/uvicorn.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/core/utils/yaml_reader.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/__main__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/api/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/api/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/api/books/responses.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/api/books/routes.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/app.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/application.yaml +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/entities/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/entities/books/entities.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/entities/books/enums.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/entities/books/types.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/models/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/models/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/models/books/document.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/models/books/repository.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/services/books/__init__.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/src/fastapi_factory_utilities/example/services/books/services.py +0 -0
- {fastapi_factory_utilities-0.3.5 → fastapi_factory_utilities-0.3.7}/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.3.
|
|
3
|
+
Version: 0.3.7
|
|
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
|
|
@@ -20,12 +20,12 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
|
20
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
21
|
Requires-Dist: aiohttp[speedups] (>=3.11.16,<4.0.0)
|
|
22
22
|
Requires-Dist: beanie (>=1.27.0,<2.0.0)
|
|
23
|
-
Requires-Dist: fastapi (>=0
|
|
24
|
-
Requires-Dist: httpx (>=0.28.1,<0.29.0)
|
|
23
|
+
Requires-Dist: fastapi (>=0,<1)
|
|
25
24
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.26.0,<2.0.0)
|
|
26
25
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.26.0,<2.0.0)
|
|
27
|
-
Requires-Dist: opentelemetry-instrumentation-
|
|
28
|
-
Requires-Dist: opentelemetry-instrumentation-
|
|
26
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client (>=0.55b1,<0.56)
|
|
27
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi (>=0,<1)
|
|
28
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo (>=0,<1)
|
|
29
29
|
Requires-Dist: opentelemetry-propagator-b3 (>=1.26.0,<2.0.0)
|
|
30
30
|
Requires-Dist: opentelemetry-sdk (>=1.26.0,<2.0.0)
|
|
31
31
|
Requires-Dist: pyaml (>=25.1.0,<26.0.0)
|
|
@@ -34,8 +34,8 @@ Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
|
|
|
34
34
|
Requires-Dist: pymongo (>=4.9.2,<4.10.0)
|
|
35
35
|
Requires-Dist: reactivex (>=4.0.4,<5.0.0)
|
|
36
36
|
Requires-Dist: structlog (>=24.1,<26.0)
|
|
37
|
-
Requires-Dist: typer (>=0
|
|
38
|
-
Requires-Dist: uvicorn (>=0
|
|
37
|
+
Requires-Dist: typer (>=0,<1)
|
|
38
|
+
Requires-Dist: uvicorn (>=0,<1)
|
|
39
39
|
Project-URL: Homepage, https://github.com/miragecentury/fastapi_factory_utilities
|
|
40
40
|
Project-URL: Repository, https://github.com/miragecentury/fastapi_factory_utilities
|
|
41
41
|
Description-Content-Type: text/markdown
|
|
@@ -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.3.
|
|
6
|
+
version = "0.3.7"
|
|
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>"]
|
|
@@ -27,23 +27,23 @@ classifiers = [
|
|
|
27
27
|
[tool.poetry.dependencies]
|
|
28
28
|
python = "~3.12"
|
|
29
29
|
structlog = ">=24.1,<26.0"
|
|
30
|
-
typer = "^0
|
|
30
|
+
typer = "^0"
|
|
31
31
|
pydantic = "^2.8.2"
|
|
32
|
-
fastapi = "^0
|
|
33
|
-
uvicorn = "^0
|
|
32
|
+
fastapi = "^0"
|
|
33
|
+
uvicorn = "^0"
|
|
34
34
|
opentelemetry-sdk = "^1.26.0"
|
|
35
35
|
opentelemetry-exporter-otlp-proto-http = "^1.26.0"
|
|
36
36
|
opentelemetry-exporter-otlp-proto-grpc = "^1.26.0"
|
|
37
|
-
|
|
38
|
-
opentelemetry-instrumentation-fastapi = "^0.49b1"
|
|
37
|
+
opentelemetry-instrumentation-fastapi = "^0"
|
|
39
38
|
opentelemetry-propagator-b3 = "^1.26.0"
|
|
40
39
|
beanie = "^1.27.0"
|
|
41
|
-
opentelemetry-instrumentation-pymongo = "^0
|
|
40
|
+
opentelemetry-instrumentation-pymongo = "^0"
|
|
42
41
|
pymongo = "~4.9.2" # version fixed to fix integration between beanie and pytest-mongo
|
|
43
42
|
pyaml = "^25.1.0"
|
|
44
43
|
reactivex = "^4.0.4"
|
|
45
44
|
pyjwt = "^2.10.1"
|
|
46
45
|
aiohttp = { version="^3.11.16", extras=["speedups"] }
|
|
46
|
+
opentelemetry-instrumentation-aiohttp-client = "^0.55b1"
|
|
47
47
|
|
|
48
48
|
[tool.poetry.group.test]
|
|
49
49
|
optional = true
|
|
@@ -90,7 +90,7 @@ class AbstractRepository(ABC, Generic[DocumentGenericType, EntityGenericType]):
|
|
|
90
90
|
raise ValueError(f"Failed to create document from entity: {error}") from error
|
|
91
91
|
|
|
92
92
|
try:
|
|
93
|
-
document_created: DocumentGenericType = await document.
|
|
93
|
+
document_created: DocumentGenericType = await document.insert(session=session)
|
|
94
94
|
except DuplicateKeyError as error:
|
|
95
95
|
raise UnableToCreateEntityDueToDuplicateKeyError(f"Failed to insert document: {error}") from error
|
|
96
96
|
except PyMongoError as error:
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import asyncio
|
|
4
4
|
from typing import cast
|
|
5
5
|
|
|
6
|
+
from opentelemetry.instrumentation.aiohttp_client import AioHttpClientInstrumentor
|
|
6
7
|
from opentelemetry.instrumentation.fastapi import ( # pyright: ignore[reportMissingTypeStubs]
|
|
7
8
|
FastAPIInstrumentor,
|
|
8
9
|
)
|
|
@@ -66,6 +67,11 @@ def on_load(
|
|
|
66
67
|
meter_provider=otel_builder.meter_provider,
|
|
67
68
|
excluded_urls=otel_config.excluded_urls,
|
|
68
69
|
)
|
|
70
|
+
# Instrument the AioHttpClient
|
|
71
|
+
AioHttpClientInstrumentor().instrument( # pyright: ignore[reportUnknownMemberType]
|
|
72
|
+
tracer_provider=otel_builder.tracer_provider,
|
|
73
|
+
meter_provider=otel_builder.meter_provider,
|
|
74
|
+
)
|
|
69
75
|
|
|
70
76
|
_logger.debug(f"OpenTelemetry plugin loaded. {otel_config.activate=}")
|
|
71
77
|
|
|
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
|