jararaca 0.3.18__py3-none-any.whl → 0.3.20__py3-none-any.whl

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.

@@ -1,7 +1,4 @@
1
- LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
2
- README.md,sha256=YmCngjU8llW0l7L3tuXkkfr8qH7V9aBMgfp2jEzeiKg,3517
3
- pyproject.toml,sha256=qmLCDQEsY1Me9LPJoJM7-ZQM5qJZKE_uzyOazfgOP4I,2832
4
- jararaca/__init__.py,sha256=IMnvfDoyNWTGVittF_wq2Uxtv_BY_wLN5Om6C3vUsCw,22302
1
+ jararaca/__init__.py,sha256=niZQiN-Whyw2ExcwQbB8uBDPy90pK36pPwa7dYkecuU,22822
5
2
  jararaca/__main__.py,sha256=-O3vsB5lHdqNFjUtoELDF81IYFtR-DSiiFMzRaiSsv4,67
6
3
  jararaca/broker_backend/__init__.py,sha256=GzEIuHR1xzgCJD4FE3harNjoaYzxHMHoEL0_clUaC-k,3528
7
4
  jararaca/broker_backend/mapper.py,sha256=vTsi7sWpNvlga1PWPFg0rCJ5joJ0cdzykkIc2Tuvenc,696
@@ -10,7 +7,7 @@ jararaca/cli.py,sha256=n3fTOVSNFNICmbZrLCJNGctpbqLWp39xTSkqlIB6Rds,32005
10
7
  jararaca/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
8
  jararaca/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
9
  jararaca/core/providers.py,sha256=wktH84FK7c1s2wNq-fudf1uMfi3CQBR0neU2czJ_L0U,434
13
- jararaca/core/uow.py,sha256=jKlhU_YsssiN0hC1s056JcNerNagXPcXdZJ5kJYG68c,2252
10
+ jararaca/core/uow.py,sha256=J6shc1TwM7uyRDspekY2EdA8slVDPitvHKg4Bunb48E,3533
14
11
  jararaca/di.py,sha256=h3IsXdYZjJj8PJfnEDn0ZAwdd4EBfh8jU-wWO8ko_t4,76
15
12
  jararaca/files/entity.py.mako,sha256=tjQ-1udAMvVqgRokhsrR4uy3P_OVnbk3XZ8X69ixWhE,3098
16
13
  jararaca/lifecycle.py,sha256=qKlzLQQioS8QkxNJ_FC_5WbmT77cNbc_S7OcQeOoHkI,1895
@@ -18,17 +15,19 @@ jararaca/messagebus/__init__.py,sha256=5jAqPqdcEMYBfQyfZDWPnplYdrfMyJLMcacf3qLyU
18
15
  jararaca/messagebus/bus_message_controller.py,sha256=Xd_qwnX5jUvgBTCarHR36fvtol9lPTsYp2IIGKyQQaE,1487
19
16
  jararaca/messagebus/consumers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
17
  jararaca/messagebus/decorators.py,sha256=71ZvZ5slKruAsTaUHzr2f-D8yaUFl9Xxh9chNLaAs9E,6000
18
+ jararaca/messagebus/implicit_headers.py,sha256=maMvSbWwMklVPW0hX6jZ8gAoKsYXB7saYod85jfoSq4,965
21
19
  jararaca/messagebus/interceptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py,sha256=_DEHwIH9LYsA26Hu1mo9oHzLZuATgjilU9E3o-ecDjs,6520
20
+ jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py,sha256=vs8kCZYslNwiQTy6wFAzuX_N6Oq9nx35RV0MBWwdM-c,6703
23
21
  jararaca/messagebus/interceptors/publisher_interceptor.py,sha256=ojy1bRhqMgrkQljcGGS8cd8-8pUjL8ZHjIUkdmaAnNM,1325
24
22
  jararaca/messagebus/message.py,sha256=U6cyd2XknX8mtm0333slz5fanky2PFLWCmokAO56vvU,819
25
23
  jararaca/messagebus/publisher.py,sha256=JTkxdKbvxvDWT8nK8PVEyyX061vYYbKQMxRHXrZtcEY,2173
26
- jararaca/messagebus/worker.py,sha256=Feh7b3z68sj7a94z0lwMowLgU41pFF2PGgefhdH8rw8,68926
27
- jararaca/microservice.py,sha256=OYCw5C4797X_tVnM_9sEz8BdjbICPHSVsCixsA_FwE4,11419
28
- jararaca/observability/decorators.py,sha256=MOIr2PttPYYvRwEdfQZEwD5RxKHOTv8UEy9n1YQVoKw,2281
24
+ jararaca/messagebus/worker.py,sha256=vni08oRRB-Vz_qXOOoxRDnBTuO8a_rZ6Zue0qx3UUes,69202
25
+ jararaca/microservice.py,sha256=DW4RVeqgrx4J-dAg17sbzTn_sLXuvV1UOQFde2fpqds,11471
26
+ jararaca/observability/decorators.py,sha256=vKAPGLyKz092rd1K4k3xtI2FrRafN69EEuRZKEhaLSk,5627
27
+ jararaca/observability/hooks.py,sha256=VRYg-vlNlFxu9FqOgxyS9VIY6zDcCcgOuZ0RhTUtjwY,488
29
28
  jararaca/observability/interceptor.py,sha256=U4ZLM0f8j6Q7gMUKKnA85bnvD-Qa0ii79Qa_X8KsXAQ,1498
30
29
  jararaca/observability/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- jararaca/observability/providers/otel.py,sha256=8N1F32W43t7c8cwmtTh6Yz9b7HyfGFSRVrkMLf3NDXc,6157
30
+ jararaca/observability/providers/otel.py,sha256=7K1S23ajGhQqb2zx3_RLD-Czsy82ptjxGwCZBUcY8PU,8662
32
31
  jararaca/persistence/base.py,sha256=xnGUbsLNz3gO-9iJt-Sn5NY13Yc9-misP8wLwQuGGoM,1024
33
32
  jararaca/persistence/exports.py,sha256=Ghx4yoFaB4QVTb9WxrFYgmcSATXMNvrOvT8ybPNKXCA,62
34
33
  jararaca/persistence/interceptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -42,7 +41,7 @@ jararaca/presentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
42
41
  jararaca/presentation/decorators.py,sha256=dNcK1xYWhdHVBeWDa8dhqh4z8yQcPkJZTQkfgLXz6RI,11655
43
42
  jararaca/presentation/hooks.py,sha256=WBbU5DG3-MAm2Ro2YraQyYG_HENfizYfyShL2ktHi6k,1980
44
43
  jararaca/presentation/http_microservice.py,sha256=g771JosV6jTY3hQtG-HkLOo-T0e-r3b3rp1ddt99Qf0,533
45
- jararaca/presentation/server.py,sha256=YzTcG39xEmEstrtB6nmVUSf2cMP8cSguppKdz_jA_tE,5537
44
+ jararaca/presentation/server.py,sha256=Kz7H_RuB68b5bphjNlS-7cseH_d-xZMa8V-ETFp_jzI,6563
46
45
  jararaca/presentation/websocket/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
46
  jararaca/presentation/websocket/base_types.py,sha256=AvUeeZ1TFhSiRMcYqZU1HaQNqSrcgTkC5R0ArP5dGmA,146
48
47
  jararaca/presentation/websocket/context.py,sha256=A6K5W3kqo9Hgeh1m6JiI7Cdz5SfbXcaICSVX7u1ARZo,1903
@@ -74,8 +73,8 @@ jararaca/tools/typescript/interface_parser.py,sha256=yOSuOXKOeG0soGFo0fKiZIabu4Y
74
73
  jararaca/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
74
  jararaca/utils/rabbitmq_utils.py,sha256=ytdAFUyv-OBkaVnxezuJaJoLrmN7giZgtKeet_IsMBs,10918
76
75
  jararaca/utils/retry.py,sha256=DzPX_fXUvTqej6BQ8Mt2dvLo9nNlTBm7Kx2pFZ26P2Q,4668
77
- jararaca-0.3.18.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
78
- jararaca-0.3.18.dist-info/METADATA,sha256=5BT5cExvZh792lstVc-YrVbWM51tGXEG1EE6VD-EH4k,5149
79
- jararaca-0.3.18.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
- jararaca-0.3.18.dist-info/entry_points.txt,sha256=WIh3aIvz8LwUJZIDfs4EeH3VoFyCGEk7cWJurW38q0I,45
81
- jararaca-0.3.18.dist-info/RECORD,,
76
+ jararaca-0.3.20.dist-info/METADATA,sha256=83EerrQcpCVn3Q54ciw-9SfaYtb3MtM_enmTwdlbuO4,5224
77
+ jararaca-0.3.20.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
78
+ jararaca-0.3.20.dist-info/entry_points.txt,sha256=WIh3aIvz8LwUJZIDfs4EeH3VoFyCGEk7cWJurW38q0I,45
79
+ jararaca-0.3.20.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
80
+ jararaca-0.3.20.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 2.2.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
README.md DELETED
@@ -1,121 +0,0 @@
1
- <img src="https://raw.githubusercontent.com/LuscasLeo/jararaca/main/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg" alt="Jararaca Logo" width="250" float="right">
2
-
3
- # Jararaca Microservice Framework
4
-
5
- ## Overview
6
-
7
- Jararaca is an async-first microservice framework designed to simplify the development of distributed systems. It provides a comprehensive set of tools for building robust, scalable, and maintainable microservices with a focus on developer experience and type safety.
8
-
9
- ## Key Features
10
-
11
- ### REST API Development
12
- - Easy-to-use interfaces for building REST APIs
13
- - Automatic request/response validation
14
- - Type-safe endpoints with FastAPI integration
15
- - Automatic OpenAPI documentation generation
16
-
17
- ### Message Bus Integration
18
- - Topic-based message bus for event-driven architecture
19
- - Support for both worker and publisher patterns
20
- - Built-in message serialization and deserialization
21
- - Easy integration with AIO Pika for RabbitMQ
22
-
23
- ### Distributed WebSocket
24
- - Room-based WebSocket communication
25
- - Distributed broadcasting across multiple backend instances
26
- - Automatic message synchronization between instances
27
- - Built-in connection management and room handling
28
-
29
- ### Task Scheduling
30
- - Cron-based task scheduling
31
- - Support for overlapping and non-overlapping tasks
32
- - Distributed task execution
33
- - Easy integration with message bus for task distribution
34
-
35
- ### TypeScript Integration
36
- - Automatic TypeScript interface generation
37
- - Command-line tool for generating TypeScript types
38
- - Support for REST endpoints, WebSocket events, and message bus payloads
39
- - Type-safe frontend-backend communication
40
- - **`@ExposeType` decorator** - Explicitly expose types for TypeScript generation without needing them in endpoints
41
-
42
- ### Hexagonal Architecture
43
- - Clear separation of concerns
44
- - Business logic isolation from infrastructure
45
- - Easy testing and maintainability
46
- - Dependency injection for flexible component management
47
-
48
- ### Observability
49
- - Built-in OpenTelemetry integration
50
- - Distributed tracing support
51
- - Logging and metrics collection
52
- - Performance monitoring capabilities
53
-
54
- ## Quick Start
55
-
56
- ### Installation
57
-
58
- ```bash
59
- pip install jararaca
60
- ```
61
-
62
- ### Basic Usage
63
-
64
- ```python
65
- from jararaca import Microservice, create_http_server
66
- from jararaca.presentation.http_microservice import HttpMicroservice
67
-
68
- # Define your microservice
69
- app = Microservice(
70
- providers=[
71
- # Add your providers here
72
- ],
73
- controllers=[
74
- # Add your controllers here
75
- ],
76
- interceptors=[
77
- # Add your interceptors here
78
- ],
79
- )
80
-
81
- # Create HTTP server
82
- http_app = HttpMicroservice(app)
83
- web_app = create_http_server(app)
84
- ```
85
-
86
- ### Running the Service
87
-
88
- ```bash
89
- # Run as HTTP server
90
- jararaca server app:http_app
91
-
92
- # Run as message bus worker
93
- jararaca worker app:app
94
-
95
- # Run as scheduler
96
- jararaca scheduler app:app
97
-
98
- # Generate TypeScript interfaces
99
- jararaca gen-tsi app.main:app app.ts
100
- ```
101
-
102
- ## Documentation
103
-
104
- For detailed documentation, please visit our [documentation site](https://luscasleo.github.io/jararaca/).
105
-
106
- ## Examples
107
-
108
- Check out the [examples directory](examples/) for complete working examples of:
109
- - REST API implementation
110
- - WebSocket usage
111
- - Message bus integration
112
- - Task scheduling
113
- - TypeScript interface generation
114
-
115
- ## Contributing
116
-
117
- Contributions are welcome! Please read our [contributing guidelines](.github/CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
118
-
119
- ## License
120
-
121
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.