jararaca 0.3.19__tar.gz → 0.3.21__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 (93) hide show
  1. {jararaca-0.3.19 → jararaca-0.3.21}/PKG-INFO +1 -1
  2. {jararaca-0.3.19 → jararaca-0.3.21}/pyproject.toml +1 -1
  3. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/observability/providers/otel.py +19 -4
  4. {jararaca-0.3.19 → jararaca-0.3.21}/LICENSE +0 -0
  5. {jararaca-0.3.19 → jararaca-0.3.21}/README.md +0 -0
  6. {jararaca-0.3.19 → jararaca-0.3.21}/docs/CNAME +0 -0
  7. {jararaca-0.3.19 → jararaca-0.3.21}/docs/architecture.md +0 -0
  8. {jararaca-0.3.19 → jararaca-0.3.21}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
  9. {jararaca-0.3.19 → jararaca-0.3.21}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
  10. {jararaca-0.3.19 → jararaca-0.3.21}/docs/assets/tracing_example.png +0 -0
  11. {jararaca-0.3.19 → jararaca-0.3.21}/docs/expose-type.md +0 -0
  12. {jararaca-0.3.19 → jararaca-0.3.21}/docs/http-rpc.md +0 -0
  13. {jararaca-0.3.19 → jararaca-0.3.21}/docs/index.md +0 -0
  14. {jararaca-0.3.19 → jararaca-0.3.21}/docs/interceptors.md +0 -0
  15. {jararaca-0.3.19 → jararaca-0.3.21}/docs/messagebus.md +0 -0
  16. {jararaca-0.3.19 → jararaca-0.3.21}/docs/retry.md +0 -0
  17. {jararaca-0.3.19 → jararaca-0.3.21}/docs/scheduler.md +0 -0
  18. {jararaca-0.3.19 → jararaca-0.3.21}/docs/stylesheets/custom.css +0 -0
  19. {jararaca-0.3.19 → jararaca-0.3.21}/docs/websocket.md +0 -0
  20. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/__init__.py +0 -0
  21. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/__main__.py +0 -0
  22. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/broker_backend/__init__.py +0 -0
  23. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/broker_backend/mapper.py +0 -0
  24. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/broker_backend/redis_broker_backend.py +0 -0
  25. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/cli.py +0 -0
  26. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/common/__init__.py +0 -0
  27. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/core/__init__.py +0 -0
  28. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/core/providers.py +0 -0
  29. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/core/uow.py +0 -0
  30. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/di.py +0 -0
  31. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/files/entity.py.mako +0 -0
  32. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/lifecycle.py +0 -0
  33. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/__init__.py +0 -0
  34. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/bus_message_controller.py +0 -0
  35. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/consumers/__init__.py +0 -0
  36. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/decorators.py +0 -0
  37. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/implicit_headers.py +0 -0
  38. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
  39. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +0 -0
  40. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/interceptors/publisher_interceptor.py +0 -0
  41. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/message.py +0 -0
  42. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/publisher.py +0 -0
  43. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/messagebus/worker.py +0 -0
  44. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/microservice.py +0 -0
  45. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/observability/decorators.py +0 -0
  46. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/observability/hooks.py +0 -0
  47. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/observability/interceptor.py +0 -0
  48. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/observability/providers/__init__.py +0 -0
  49. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/base.py +0 -0
  50. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/exports.py +0 -0
  51. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/interceptors/__init__.py +0 -0
  52. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +0 -0
  53. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/interceptors/constants.py +0 -0
  54. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/interceptors/decorators.py +0 -0
  55. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/session.py +0 -0
  56. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/sort_filter.py +0 -0
  57. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/persistence/utilities.py +0 -0
  58. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/__init__.py +0 -0
  59. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/decorators.py +0 -0
  60. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/hooks.py +0 -0
  61. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/http_microservice.py +0 -0
  62. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/server.py +0 -0
  63. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/__init__.py +0 -0
  64. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/base_types.py +0 -0
  65. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/context.py +0 -0
  66. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/decorators.py +0 -0
  67. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/redis.py +0 -0
  68. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/types.py +0 -0
  69. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
  70. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/py.typed +0 -0
  71. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/reflect/__init__.py +0 -0
  72. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/reflect/controller_inspect.py +0 -0
  73. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/reflect/metadata.py +0 -0
  74. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/__init__.py +0 -0
  75. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/__init__.py +0 -0
  76. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/backends/__init__.py +0 -0
  77. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/backends/httpx.py +0 -0
  78. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/backends/otel.py +0 -0
  79. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/decorators.py +0 -0
  80. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/rpc/http/httpx.py +0 -0
  81. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/scheduler/__init__.py +0 -0
  82. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/scheduler/beat_worker.py +0 -0
  83. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/scheduler/decorators.py +0 -0
  84. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/scheduler/types.py +0 -0
  85. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/app_config/__init__.py +0 -0
  86. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/app_config/decorators.py +0 -0
  87. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/app_config/interceptor.py +0 -0
  88. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/typescript/__init__.py +0 -0
  89. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/typescript/decorators.py +0 -0
  90. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/tools/typescript/interface_parser.py +0 -0
  91. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/utils/__init__.py +0 -0
  92. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/utils/rabbitmq_utils.py +0 -0
  93. {jararaca-0.3.19 → jararaca-0.3.21}/src/jararaca/utils/retry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jararaca
3
- Version: 0.3.19
3
+ Version: 0.3.21
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.3.19"
3
+ version = "0.3.21"
4
4
  description = "A simple and fast API framework for Python"
5
5
  authors = ["Lucas S <me@luscasleo.dev>"]
6
6
  readme = "README.md"
@@ -75,25 +75,39 @@ class OtelTracingContextProviderFactory(TracingContextProviderFactory):
75
75
  title: str = "Unmapped App Context Execution"
76
76
  headers: dict[str, Any] = {}
77
77
  tx_data = app_tx_ctx.transaction_data
78
+ extra_attributes: dict[str, Any] = {}
78
79
  if tx_data.context_type == "http":
79
80
 
80
81
  headers = dict(tx_data.request.headers)
81
82
  title = f"HTTP {tx_data.request.method} {tx_data.request.url}"
83
+ extra_attributes = {
84
+ "http.method": tx_data.request.method,
85
+ "http.url": tx_data.request.url,
86
+ "http.status_code": tx_data.response.status_code,
87
+ }
82
88
 
83
89
  elif tx_data.context_type == "message_bus":
84
90
  title = f"Message Bus {tx_data.topic}"
85
91
  headers = use_implicit_headers() or {}
92
+ extra_attributes = {
93
+ "bus.topic": tx_data.topic,
94
+ "bus.message": tx_data.message.payload().model_dump_json(),
95
+ }
86
96
 
87
97
  elif tx_data.context_type == "websocket":
88
98
  headers = dict(tx_data.websocket.headers)
89
99
  title = f"WebSocket {tx_data.websocket.url}"
100
+ extra_attributes = {
101
+ "ws.url": str(tx_data.websocket.url),
102
+ }
90
103
 
91
104
  elif tx_data.context_type == "scheduler":
92
105
  title = f"Scheduler Task {tx_data.task_name}"
93
- headers = {
94
- "scheduled_to": tx_data.scheduled_to.isoformat(),
95
- "cron_expression": tx_data.cron_expression,
96
- "triggered_at": tx_data.triggered_at.isoformat(),
106
+ extra_attributes = {
107
+ "sched.task_name": tx_data.task_name,
108
+ "sched.scheduled_to": tx_data.scheduled_to.isoformat(),
109
+ "sched.cron_expression": tx_data.cron_expression,
110
+ "sched.triggered_at": tx_data.triggered_at.isoformat(),
97
111
  }
98
112
 
99
113
  carrier = {
@@ -118,6 +132,7 @@ class OtelTracingContextProviderFactory(TracingContextProviderFactory):
118
132
  context=ctx2,
119
133
  attributes={
120
134
  "app.context_type": tx_data.context_type,
135
+ **extra_attributes,
121
136
  },
122
137
  ) as root_span:
123
138
  cx = root_span.get_span_context()
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