jararaca 0.2.37a7__tar.gz → 0.2.37a9__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 jararaca might be problematic. Click here for more details.

Files changed (79) hide show
  1. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/PKG-INFO +1 -1
  2. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/pyproject.toml +1 -1
  3. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/__init__.py +6 -0
  4. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/utilities.py +24 -0
  5. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/LICENSE +0 -0
  6. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/README.md +0 -0
  7. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Message Bus/Decorators.md +0 -0
  8. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Message Bus/Interceptors.md +0 -0
  9. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Observability/Decorators.md +0 -0
  10. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Observability/Interceptors.md +0 -0
  11. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Presentation/Decorators.md +0 -0
  12. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/RPC/RestClients/Decorators.md +0 -0
  13. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/RPC/RestClients/Middlewared.md +0 -0
  14. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Schedule/Decorators.md +0 -0
  15. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Websocket/Decorators.md +0 -0
  16. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Architecture/Websocket/Interceptors.md +0 -0
  17. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Concept/Adapters.md +0 -0
  18. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Concept/Hexagonal Architecture.md +0 -0
  19. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/Concept/Ports.md +0 -0
  20. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
  21. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
  22. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/assets/tracing_example.png +0 -0
  23. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/docs/index.md +0 -0
  24. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/__main__.py +0 -0
  25. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/cli.py +0 -0
  26. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/common/__init__.py +0 -0
  27. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/core/__init__.py +0 -0
  28. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/core/providers.py +0 -0
  29. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/core/uow.py +0 -0
  30. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/di.py +0 -0
  31. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/files/entity.py.mako +0 -0
  32. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/lifecycle.py +0 -0
  33. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/__init__.py +0 -0
  34. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/bus_message_controller.py +0 -0
  35. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/decorators.py +0 -0
  36. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
  37. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +0 -0
  38. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/publisher.py +0 -0
  39. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/types.py +0 -0
  40. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/messagebus/worker.py +0 -0
  41. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/microservice.py +0 -0
  42. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/observability/decorators.py +0 -0
  43. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/observability/interceptor.py +0 -0
  44. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/observability/providers/__init__.py +0 -0
  45. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/observability/providers/otel.py +0 -0
  46. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/base.py +0 -0
  47. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/exports.py +0 -0
  48. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/interceptors/__init__.py +0 -0
  49. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +0 -0
  50. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/session.py +0 -0
  51. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/persistence/sort_filter.py +0 -0
  52. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/__init__.py +0 -0
  53. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/decorators.py +0 -0
  54. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/hooks.py +0 -0
  55. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/http_microservice.py +0 -0
  56. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/server.py +0 -0
  57. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/__init__.py +0 -0
  58. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/base_types.py +0 -0
  59. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/context.py +0 -0
  60. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/decorators.py +0 -0
  61. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/redis.py +0 -0
  62. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/types.py +0 -0
  63. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
  64. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/py.typed +0 -0
  65. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/__init__.py +0 -0
  66. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/__init__.py +0 -0
  67. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/backends/__init__.py +0 -0
  68. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/backends/httpx.py +0 -0
  69. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/backends/otel.py +0 -0
  70. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/decorators.py +0 -0
  71. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/rpc/http/httpx.py +0 -0
  72. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/scheduler/__init__.py +0 -0
  73. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/scheduler/decorators.py +0 -0
  74. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/scheduler/scheduler.py +0 -0
  75. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/tools/app_config/__init__.py +0 -0
  76. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/tools/app_config/decorators.py +0 -0
  77. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/tools/app_config/interceptor.py +0 -0
  78. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/tools/metadata.py +0 -0
  79. {jararaca-0.2.37a7 → jararaca-0.2.37a9}/src/jararaca/tools/typescript/interface_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jararaca
3
- Version: 0.2.37a7
3
+ Version: 0.2.37a9
4
4
  Summary: A simple and fast API framework for Python
5
5
  Home-page: https://github.com/LuscasLeo/jararaca
6
6
  Author: Lucas S
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "jararaca"
3
- version = "0.2.37a7"
3
+ version = "0.2.37a9"
4
4
  description = "A simple and fast API framework for Python"
5
5
  authors = ["Lucas S <me@luscasleo.dev>"]
6
6
  readme = "README.md"
@@ -16,8 +16,10 @@ if TYPE_CHECKING:
16
16
  from jararaca.persistence.sort_filter import (
17
17
  FILTER_SORT_ENTITY_ATTR_MAP,
18
18
  FilterModel,
19
+ FilterRuleApplier,
19
20
  SortFilterRunner,
20
21
  SortModel,
22
+ SortRuleApplier,
21
23
  )
22
24
  from jararaca.presentation.hooks import (
23
25
  raises_200_on,
@@ -112,6 +114,8 @@ if TYPE_CHECKING:
112
114
  from .tools.app_config.interceptor import AppConfigurationInterceptor
113
115
 
114
116
  __all__ = [
117
+ "FilterRuleApplier",
118
+ "SortRuleApplier",
115
119
  "use_bus_message_controller",
116
120
  "ack",
117
121
  "nack",
@@ -210,6 +214,8 @@ if TYPE_CHECKING:
210
214
  __SPEC_PARENT__: str = __spec__.parent # type: ignore
211
215
  # A mapping of {<member name>: (package, <module name>)} defining dynamic imports
212
216
  _dynamic_imports: "dict[str, tuple[str, str, str | None]]" = {
217
+ "FilterRuleApplier": (__SPEC_PARENT__, "persistence.sort_filter", None),
218
+ "SortRuleApplier": (__SPEC_PARENT__, "persistence.sort_filter", None),
213
219
  "use_bus_message_controller": (
214
220
  __SPEC_PARENT__,
215
221
  "messagebus.bus_message_controller",
@@ -72,9 +72,33 @@ class IdentifiableEntity(BaseEntity):
72
72
 
73
73
  @classmethod
74
74
  def from_identifiable(cls, model: Identifiable[T_BASEMODEL]) -> "Self":
75
+ """
76
+ Converts an Identifiable model instance to an instance of the calling class.
77
+ This method takes an instance of a class that implements the Identifiable interface
78
+ and uses its `id` and `data` attributes to create a new instance of the calling class.
79
+ Args:
80
+ model (Identifiable[T_BASEMODEL]): An instance of a class that implements the Identifiable interface.
81
+ Returns:
82
+ Self: A new instance of the calling class with attributes populated from the model.
83
+ Deprecated:
84
+ This method is deprecated and will be removed in a future release.
85
+ """
86
+
75
87
  return cls(**{"id": model.id, **model.data.model_dump()})
76
88
 
77
89
  def to_identifiable(self, MODEL: Type[T_BASEMODEL]) -> Identifiable[T_BASEMODEL]:
90
+ """
91
+ Converts the current instance to an Identifiable object of the specified model type.
92
+ Args:
93
+ MODEL (Type[T_BASEMODEL]): The model type to convert the current instance to.
94
+ Returns:
95
+ Identifiable[T_BASEMODEL]: An Identifiable object containing the id and data of the current instance.
96
+ Raises:
97
+ ValidationError: If the conversion fails due to validation errors.
98
+ Note:
99
+ This method is **deprecated** and may be removed in future versions.
100
+
101
+ """
78
102
  try:
79
103
  return Identifiable[MODEL].model_validate( # type: ignore[valid-type]
80
104
  {"id": self.id, "data": recursive_get_dict(self)}
File without changes
File without changes
File without changes