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.

Files changed (81) hide show
  1. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/PKG-INFO +2 -2
  2. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/pyproject.toml +6 -6
  3. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/fastapi_builder.py +2 -1
  4. {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
  5. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/repositories.py +1 -0
  6. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/security/jwt.py +6 -5
  7. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/status.py +1 -0
  8. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/LICENSE +0 -0
  9. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/README.md +0 -0
  10. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/__main__.py +0 -0
  11. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/__init__.py +0 -0
  12. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/__init__.py +0 -0
  13. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/tags.py +0 -0
  14. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/__init__.py +0 -0
  15. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/health.py +0 -0
  16. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/api/v1/sys/readiness.py +0 -0
  17. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/__init__.py +0 -0
  18. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/application.py +0 -0
  19. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/builder.py +0 -0
  20. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/config.py +0 -0
  21. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/enums.py +0 -0
  22. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/exceptions.py +0 -0
  23. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/plugin_manager/__init__.py +0 -0
  24. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/app/plugin_manager/exceptions.py +0 -0
  25. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/exceptions.py +0 -0
  26. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/__init__.py +0 -0
  27. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/example/__init__.py +0 -0
  28. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/httpx_plugin/__init__.py +0 -0
  29. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/__init__.py +0 -0
  30. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/builder.py +0 -0
  31. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/configs.py +0 -0
  32. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/depends.py +0 -0
  33. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/documents.py +0 -0
  34. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/odm_plugin/exceptions.py +0 -0
  35. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/__init__.py +0 -0
  36. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/builder.py +0 -0
  37. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/configs.py +0 -0
  38. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/exceptions.py +0 -0
  39. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/plugins/opentelemetry_plugin/helpers.py +0 -0
  40. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/protocols.py +0 -0
  41. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/security/kratos.py +0 -0
  42. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/__init__.py +0 -0
  43. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/exceptions.py +0 -0
  44. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/objects.py +0 -0
  45. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/hydra/services.py +0 -0
  46. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/__init__.py +0 -0
  47. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/enums.py +0 -0
  48. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/exceptions.py +0 -0
  49. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/objects.py +0 -0
  50. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/kratos/services.py +0 -0
  51. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/__init__.py +0 -0
  52. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/enums.py +0 -0
  53. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/exceptions.py +0 -0
  54. {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
  55. {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
  56. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/services.py +0 -0
  57. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/services/status/types.py +0 -0
  58. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/configs.py +0 -0
  59. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/importlib.py +0 -0
  60. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/log.py +0 -0
  61. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/uvicorn.py +0 -0
  62. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/core/utils/yaml_reader.py +0 -0
  63. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/__init__.py +0 -0
  64. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/__main__.py +0 -0
  65. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/__init__.py +0 -0
  66. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/__init__.py +0 -0
  67. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/responses.py +0 -0
  68. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/api/books/routes.py +0 -0
  69. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/app.py +0 -0
  70. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/application.yaml +0 -0
  71. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/__init__.py +0 -0
  72. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/entities.py +0 -0
  73. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/enums.py +0 -0
  74. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/entities/books/types.py +0 -0
  75. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/__init__.py +0 -0
  76. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/__init__.py +0 -0
  77. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/document.py +0 -0
  78. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/models/books/repository.py +0 -0
  79. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/services/books/__init__.py +0 -0
  80. {fastapi_factory_utilities-0.4.0 → fastapi_factory_utilities-0.4.1}/src/fastapi_factory_utilities/example/services/books/services.py +0 -0
  81. {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.0
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.10.0)
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.0"
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 = "~4.9.2" # version fixed to fix integration between beanie and pytest-mongo
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 = "^0.7.2"
63
- pytest-asyncio = "^0.25.0"
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 = "^5.29.1.20241207"
71
- types-psutil = "^6.1.0.20241221"
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, **middleware_args.kwargs # type: ignore
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
- jwt_raw: str = (
144
- self.jwt_raw
145
- if self.jwt_raw is not None
146
- else self._extract_raw_token(request=request) # type: ignore[arg-type]
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)
@@ -3,6 +3,7 @@
3
3
  ```python
4
4
  # Example of using the MonitoredAbstract
5
5
 
6
+
6
7
  class MyMonitored(MonitoredAbstract):
7
8
  def __init__(self, status_service: StatusService) -> None:
8
9
  super().__init__(