jararaca 0.3.12a20__tar.gz → 0.3.12a22__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 (90) hide show
  1. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/PKG-INFO +2 -1
  2. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/pyproject.toml +2 -1
  3. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/typescript/interface_parser.py +20 -6
  4. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/LICENSE +0 -0
  5. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/README.md +0 -0
  6. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/CNAME +0 -0
  7. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/architecture.md +0 -0
  8. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
  9. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
  10. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/assets/tracing_example.png +0 -0
  11. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/http-rpc.md +0 -0
  12. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/index.md +0 -0
  13. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/interceptors.md +0 -0
  14. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/messagebus.md +0 -0
  15. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/retry.md +0 -0
  16. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/scheduler.md +0 -0
  17. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/stylesheets/custom.css +0 -0
  18. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/docs/websocket.md +0 -0
  19. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/__init__.py +0 -0
  20. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/__main__.py +0 -0
  21. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/broker_backend/__init__.py +0 -0
  22. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/broker_backend/mapper.py +0 -0
  23. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/broker_backend/redis_broker_backend.py +0 -0
  24. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/cli.py +0 -0
  25. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/common/__init__.py +0 -0
  26. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/core/__init__.py +0 -0
  27. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/core/providers.py +0 -0
  28. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/core/uow.py +0 -0
  29. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/di.py +0 -0
  30. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/files/entity.py.mako +0 -0
  31. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/lifecycle.py +0 -0
  32. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/__init__.py +0 -0
  33. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/bus_message_controller.py +0 -0
  34. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/consumers/__init__.py +0 -0
  35. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/decorators.py +0 -0
  36. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
  37. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +0 -0
  38. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/interceptors/publisher_interceptor.py +0 -0
  39. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/message.py +0 -0
  40. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/publisher.py +0 -0
  41. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/messagebus/worker.py +0 -0
  42. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/microservice.py +0 -0
  43. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/observability/decorators.py +0 -0
  44. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/observability/interceptor.py +0 -0
  45. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/observability/providers/__init__.py +0 -0
  46. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/observability/providers/otel.py +0 -0
  47. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/base.py +0 -0
  48. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/exports.py +0 -0
  49. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/interceptors/__init__.py +0 -0
  50. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +0 -0
  51. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/interceptors/constants.py +0 -0
  52. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/interceptors/decorators.py +0 -0
  53. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/session.py +0 -0
  54. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/sort_filter.py +0 -0
  55. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/persistence/utilities.py +0 -0
  56. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/__init__.py +0 -0
  57. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/decorators.py +0 -0
  58. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/hooks.py +0 -0
  59. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/http_microservice.py +0 -0
  60. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/server.py +0 -0
  61. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/__init__.py +0 -0
  62. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/base_types.py +0 -0
  63. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/context.py +0 -0
  64. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/decorators.py +0 -0
  65. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/redis.py +0 -0
  66. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/types.py +0 -0
  67. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
  68. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/py.typed +0 -0
  69. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/reflect/__init__.py +0 -0
  70. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/reflect/controller_inspect.py +0 -0
  71. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/reflect/metadata.py +0 -0
  72. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/__init__.py +0 -0
  73. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/__init__.py +0 -0
  74. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/backends/__init__.py +0 -0
  75. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/backends/httpx.py +0 -0
  76. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/backends/otel.py +0 -0
  77. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/decorators.py +0 -0
  78. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/rpc/http/httpx.py +0 -0
  79. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/scheduler/__init__.py +0 -0
  80. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/scheduler/beat_worker.py +0 -0
  81. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/scheduler/decorators.py +0 -0
  82. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/scheduler/types.py +0 -0
  83. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/app_config/__init__.py +0 -0
  84. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/app_config/decorators.py +0 -0
  85. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/app_config/interceptor.py +0 -0
  86. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/typescript/__init__.py +0 -0
  87. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/tools/typescript/decorators.py +0 -0
  88. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/utils/__init__.py +0 -0
  89. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/src/jararaca/utils/rabbitmq_utils.py +0 -0
  90. {jararaca-0.3.12a20 → jararaca-0.3.12a22}/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.12a20
3
+ Version: 0.3.12a22
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
@@ -27,6 +27,7 @@ Requires-Dist: redis (>=5.0.8,<6.0.0)
27
27
  Requires-Dist: sqlalchemy (>=2.0.34,<3.0.0)
28
28
  Requires-Dist: types-croniter (>=3.0.3.20240731,<4.0.0.0)
29
29
  Requires-Dist: types-redis (>=4.6.0.20240903,<5.0.0.0)
30
+ Requires-Dist: urllib3 (>=2.3.0,<3.0.0)
30
31
  Requires-Dist: uvicorn (>=0.30.6,<0.31.0)
31
32
  Requires-Dist: uvloop (>=0.20.0,<0.21.0)
32
33
  Requires-Dist: watchdog (>=3.0.0,<4.0.0) ; extra == "watch"
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "jararaca"
3
- version = "0.3.12a20"
3
+ version = "0.3.12a22"
4
4
  description = "A simple and fast API framework for Python"
5
5
  authors = ["Lucas S <me@luscasleo.dev>"]
6
6
  readme = "README.md"
@@ -29,6 +29,7 @@ types-redis = "^4.6.0.20240903"
29
29
  mako = "^1.3.5"
30
30
  watchdog = { version = "^3.0.0", optional = true }
31
31
  frozendict = "^2.4.6"
32
+ urllib3 = "^2.3.0"
32
33
 
33
34
 
34
35
  [tool.poetry.extras]
@@ -685,17 +685,31 @@ import { HttpService, HttpBackend, HttpBackendRequest, ResponseType, createClass
685
685
  function makeFormData(data: Record<string, any>): FormData {
686
686
  const formData = new FormData();
687
687
  for (const key in data) {
688
- if (Array.isArray(data[key])) {
689
- data[key].forEach((item: any) => {
690
- formData.append(key, item);
691
- });
692
- } else {
693
- formData.append(key, data[key]);
688
+ const value = data[key];
689
+ for (const v of genFormDataValue(value)) {
690
+ formData.append(key, v);
694
691
  }
695
692
  }
696
693
  return formData;
697
694
  }
698
695
 
696
+ function* genFormDataValue(value: any): any {
697
+ if (Array.isArray(value)) {
698
+ // Stringify arrays as JSON
699
+ for (const item of value) {
700
+ // formData.append(`${key}`, item);
701
+ yield* genFormDataValue(item);
702
+ }
703
+ } else if (typeof value === "object" && value.constructor === Object) {
704
+ // Stringify plain objects as JSON
705
+ // formData.append(key, JSON.stringify(value));
706
+ yield JSON.stringify(value);
707
+ } else {
708
+ // For primitives (string, number, boolean), append as-is
709
+ yield value;
710
+ }
711
+ }
712
+
699
713
  export type WebSocketMessageMap = {
700
714
  %s
701
715
  }
File without changes
File without changes
File without changes
File without changes
File without changes