jararaca 0.3.11a15__py3-none-any.whl → 0.3.12__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.
- README.md +120 -0
- jararaca/__init__.py +106 -8
- jararaca/cli.py +216 -31
- jararaca/messagebus/worker.py +1386 -137
- jararaca/microservice.py +42 -0
- jararaca/persistence/interceptors/aiosqa_interceptor.py +82 -73
- jararaca/persistence/interceptors/constants.py +1 -0
- jararaca/persistence/interceptors/decorators.py +45 -0
- jararaca/presentation/server.py +57 -11
- jararaca/presentation/websocket/redis.py +113 -7
- jararaca/reflect/metadata.py +1 -1
- jararaca/rpc/http/__init__.py +97 -0
- jararaca/rpc/http/backends/__init__.py +10 -0
- jararaca/rpc/http/backends/httpx.py +39 -9
- jararaca/rpc/http/decorators.py +302 -6
- jararaca/scheduler/beat_worker.py +550 -91
- jararaca/tools/typescript/__init__.py +0 -0
- jararaca/tools/typescript/decorators.py +95 -0
- jararaca/tools/typescript/interface_parser.py +699 -156
- jararaca/utils/retry.py +141 -0
- jararaca-0.3.12.dist-info/LICENSE +674 -0
- {jararaca-0.3.11a15.dist-info → jararaca-0.3.12.dist-info}/METADATA +4 -3
- {jararaca-0.3.11a15.dist-info → jararaca-0.3.12.dist-info}/RECORD +27 -19
- {jararaca-0.3.11a15.dist-info → jararaca-0.3.12.dist-info}/WHEEL +1 -1
- pyproject.toml +86 -0
- /jararaca-0.3.11a15.dist-info/LICENSE → /LICENSE +0 -0
- {jararaca-0.3.11a15.dist-info → jararaca-0.3.12.dist-info}/entry_points.txt +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: jararaca
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.12
|
|
4
4
|
Summary: A simple and fast API framework for Python
|
|
5
|
+
Home-page: https://github.com/LuscasLeo/jararaca
|
|
5
6
|
Author: Lucas S
|
|
6
7
|
Author-email: me@luscasleo.dev
|
|
7
8
|
Requires-Python: >=3.11,<4.0
|
|
8
9
|
Classifier: Programming Language :: Python :: 3
|
|
9
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
12
12
|
Provides-Extra: docs
|
|
13
13
|
Provides-Extra: http
|
|
14
14
|
Provides-Extra: opentelemetry
|
|
@@ -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,9 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
2
|
+
README.md,sha256=2qMM__t_MoLKZr4IY9tXjo-Jn6LKjuHMb1qbyXpgL08,3401
|
|
3
|
+
pyproject.toml,sha256=7boNmmdQDItwxrabYlTrrpO9-ePL2ksYcjZLDdLQJcc,2057
|
|
4
|
+
jararaca/__init__.py,sha256=vK3zyIVLckwZgj1FPX6jzSbzaSWmSy3wQ2KMwmpJnmg,22046
|
|
2
5
|
jararaca/__main__.py,sha256=-O3vsB5lHdqNFjUtoELDF81IYFtR-DSiiFMzRaiSsv4,67
|
|
3
6
|
jararaca/broker_backend/__init__.py,sha256=GzEIuHR1xzgCJD4FE3harNjoaYzxHMHoEL0_clUaC-k,3528
|
|
4
7
|
jararaca/broker_backend/mapper.py,sha256=vTsi7sWpNvlga1PWPFg0rCJ5joJ0cdzykkIc2Tuvenc,696
|
|
5
8
|
jararaca/broker_backend/redis_broker_backend.py,sha256=a7DHchy3NAiD71Ix8SwmQOUnniu7uup-Woa4ON_4J7I,5786
|
|
6
|
-
jararaca/cli.py,sha256=
|
|
9
|
+
jararaca/cli.py,sha256=n3fTOVSNFNICmbZrLCJNGctpbqLWp39xTSkqlIB6Rds,32005
|
|
7
10
|
jararaca/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
11
|
jararaca/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
12
|
jararaca/core/providers.py,sha256=wktH84FK7c1s2wNq-fudf1uMfi3CQBR0neU2czJ_L0U,434
|
|
@@ -20,8 +23,8 @@ jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py,sha256=_DEHwIH
|
|
|
20
23
|
jararaca/messagebus/interceptors/publisher_interceptor.py,sha256=ojy1bRhqMgrkQljcGGS8cd8-8pUjL8ZHjIUkdmaAnNM,1325
|
|
21
24
|
jararaca/messagebus/message.py,sha256=U6cyd2XknX8mtm0333slz5fanky2PFLWCmokAO56vvU,819
|
|
22
25
|
jararaca/messagebus/publisher.py,sha256=JTkxdKbvxvDWT8nK8PVEyyX061vYYbKQMxRHXrZtcEY,2173
|
|
23
|
-
jararaca/messagebus/worker.py,sha256=
|
|
24
|
-
jararaca/microservice.py,sha256=
|
|
26
|
+
jararaca/messagebus/worker.py,sha256=6uKAShB9vgxL_D1dpUonHuRYChx9Rb015SZUHcAsCmU,73679
|
|
27
|
+
jararaca/microservice.py,sha256=4uQWPH1Ytxl2tg4IK-M_6T-28X89ku4ObJXJyg9CDr4,10663
|
|
25
28
|
jararaca/observability/decorators.py,sha256=MOIr2PttPYYvRwEdfQZEwD5RxKHOTv8UEy9n1YQVoKw,2281
|
|
26
29
|
jararaca/observability/interceptor.py,sha256=U4ZLM0f8j6Q7gMUKKnA85bnvD-Qa0ii79Qa_X8KsXAQ,1498
|
|
27
30
|
jararaca/observability/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -29,7 +32,9 @@ jararaca/observability/providers/otel.py,sha256=8N1F32W43t7c8cwmtTh6Yz9b7HyfGFSR
|
|
|
29
32
|
jararaca/persistence/base.py,sha256=xnGUbsLNz3gO-9iJt-Sn5NY13Yc9-misP8wLwQuGGoM,1024
|
|
30
33
|
jararaca/persistence/exports.py,sha256=Ghx4yoFaB4QVTb9WxrFYgmcSATXMNvrOvT8ybPNKXCA,62
|
|
31
34
|
jararaca/persistence/interceptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
jararaca/persistence/interceptors/aiosqa_interceptor.py,sha256
|
|
35
|
+
jararaca/persistence/interceptors/aiosqa_interceptor.py,sha256=-YDKDicaocEz71fbt1X1S33KJBwqMYZG-4igNylbh9A,6922
|
|
36
|
+
jararaca/persistence/interceptors/constants.py,sha256=o8g5RxDX9dSSnM9eXYlTJalGPfWxYm6-CAA8-FooUzE,36
|
|
37
|
+
jararaca/persistence/interceptors/decorators.py,sha256=p37r9ux5w_bvn8xPNPhScl3fjCc2enqTR0cJYLxMsrI,1627
|
|
33
38
|
jararaca/persistence/session.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
39
|
jararaca/persistence/sort_filter.py,sha256=agggpN0YvNjUr6wJjy69NkaqxoDDW13ys9B3r85OujA,9226
|
|
35
40
|
jararaca/persistence/utilities.py,sha256=imcV4Oi5kXNk6m9QF2-OsnFpcTRY4w5mBYLdEx5XTSQ,14296
|
|
@@ -37,37 +42,40 @@ jararaca/presentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
|
37
42
|
jararaca/presentation/decorators.py,sha256=dNcK1xYWhdHVBeWDa8dhqh4z8yQcPkJZTQkfgLXz6RI,11655
|
|
38
43
|
jararaca/presentation/hooks.py,sha256=WBbU5DG3-MAm2Ro2YraQyYG_HENfizYfyShL2ktHi6k,1980
|
|
39
44
|
jararaca/presentation/http_microservice.py,sha256=g771JosV6jTY3hQtG-HkLOo-T0e-r3b3rp1ddt99Qf0,533
|
|
40
|
-
jararaca/presentation/server.py,sha256=
|
|
45
|
+
jararaca/presentation/server.py,sha256=Im-tei9EynKm1DO-63UIGeTJK5ZvxIhpAxbsYGn7ZW0,6244
|
|
41
46
|
jararaca/presentation/websocket/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
47
|
jararaca/presentation/websocket/base_types.py,sha256=AvUeeZ1TFhSiRMcYqZU1HaQNqSrcgTkC5R0ArP5dGmA,146
|
|
43
48
|
jararaca/presentation/websocket/context.py,sha256=A6K5W3kqo9Hgeh1m6JiI7Cdz5SfbXcaICSVX7u1ARZo,1903
|
|
44
49
|
jararaca/presentation/websocket/decorators.py,sha256=ZNd5aoA9UkyfHOt1C8D2Ffy2gQUNDEsusVnQuTgExgs,2157
|
|
45
|
-
jararaca/presentation/websocket/redis.py,sha256=
|
|
50
|
+
jararaca/presentation/websocket/redis.py,sha256=XG_kfr-msgEdfIZkD5JB_GH5lWoEHXwTzpQNVOONvfc,8985
|
|
46
51
|
jararaca/presentation/websocket/types.py,sha256=M8snAMSdaQlKrwEM2qOgF2qrefo5Meio_oOw620Joc8,308
|
|
47
52
|
jararaca/presentation/websocket/websocket_interceptor.py,sha256=JWn_G8Q2WO0-1kmN7-Gv0HkIM6nZ_yjCdGRuXUS8F7A,9191
|
|
48
53
|
jararaca/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
54
|
jararaca/reflect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
55
|
jararaca/reflect/controller_inspect.py,sha256=UtV4pRIOqCoK4ogBTXQE0dyopEQ5LDFhwm-1iJvrkJc,2326
|
|
51
|
-
jararaca/reflect/metadata.py,sha256=
|
|
56
|
+
jararaca/reflect/metadata.py,sha256=jt9G51uNE7kZg6vouw6iA7rdar0vc4r9Pyw8M-yxiss,1910
|
|
52
57
|
jararaca/rpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
jararaca/rpc/http/__init__.py,sha256=
|
|
54
|
-
jararaca/rpc/http/backends/__init__.py,sha256=
|
|
55
|
-
jararaca/rpc/http/backends/httpx.py,sha256=
|
|
58
|
+
jararaca/rpc/http/__init__.py,sha256=Xp7-d-cVj7EK1JloSUbSnGBfER5YwCfp7LCU6wCAf1c,2396
|
|
59
|
+
jararaca/rpc/http/backends/__init__.py,sha256=Q1tIj1PTjB4__qTZndGMu4IjP5lbayLbQZJ4fZXcnAk,166
|
|
60
|
+
jararaca/rpc/http/backends/httpx.py,sha256=nNHXBortLt0tWW1qTXMPtSuO1mkpQcNh5eplP_8zYEM,2246
|
|
56
61
|
jararaca/rpc/http/backends/otel.py,sha256=Uc6CjHSCZ5hvnK1fNFv3ota5xzUFnvIl1JOpG380siA,807
|
|
57
|
-
jararaca/rpc/http/decorators.py,sha256=
|
|
62
|
+
jararaca/rpc/http/decorators.py,sha256=0BCcmP_jolIAB73VeXm3TKyVr3AWbzkXzUVMGqYtqSQ,22145
|
|
58
63
|
jararaca/rpc/http/httpx.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
64
|
jararaca/scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
jararaca/scheduler/beat_worker.py,sha256=
|
|
65
|
+
jararaca/scheduler/beat_worker.py,sha256=f5gh8TFl0aScuriADCx21EN34GjcJ_eI-BqHgVcNZyk,29430
|
|
61
66
|
jararaca/scheduler/decorators.py,sha256=iyWFvPLCRh9c0YReQRemI2mLuaUv7r929So-xuKIWUs,4605
|
|
62
67
|
jararaca/scheduler/types.py,sha256=4HEQOmVIDp-BYLSzqmqSFIio1bd51WFmgFPIzPpVu04,135
|
|
63
68
|
jararaca/tools/app_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
69
|
jararaca/tools/app_config/decorators.py,sha256=-ckkMZ1dswOmECdo1rFrZ15UAku--txaNXMp8fd1Ndk,941
|
|
65
70
|
jararaca/tools/app_config/interceptor.py,sha256=HV8h4AxqUc_ACs5do4BSVlyxlRXzx7HqJtoVO9tfRnQ,2611
|
|
66
|
-
jararaca/tools/typescript/
|
|
71
|
+
jararaca/tools/typescript/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
72
|
+
jararaca/tools/typescript/decorators.py,sha256=y1zBq8mBZ8CBXlZ0nKy2RyIgCvP9kp4elACbaC6dptQ,2946
|
|
73
|
+
jararaca/tools/typescript/interface_parser.py,sha256=hJzP-XCwVQ7kjJHBj9VGq8mrSdNQjO0VlYFIPVf4ukI,53997
|
|
67
74
|
jararaca/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
75
|
jararaca/utils/rabbitmq_utils.py,sha256=ytdAFUyv-OBkaVnxezuJaJoLrmN7giZgtKeet_IsMBs,10918
|
|
69
|
-
jararaca
|
|
70
|
-
jararaca-0.3.
|
|
71
|
-
jararaca-0.3.
|
|
72
|
-
jararaca-0.3.
|
|
73
|
-
jararaca-0.3.
|
|
76
|
+
jararaca/utils/retry.py,sha256=DzPX_fXUvTqej6BQ8Mt2dvLo9nNlTBm7Kx2pFZ26P2Q,4668
|
|
77
|
+
jararaca-0.3.12.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
78
|
+
jararaca-0.3.12.dist-info/METADATA,sha256=JFG5FIdL1V8vlsquVBjYS2zZCeBGxu4NlhWd_f0Udl0,5033
|
|
79
|
+
jararaca-0.3.12.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
80
|
+
jararaca-0.3.12.dist-info/entry_points.txt,sha256=WIh3aIvz8LwUJZIDfs4EeH3VoFyCGEk7cWJurW38q0I,45
|
|
81
|
+
jararaca-0.3.12.dist-info/RECORD,,
|
pyproject.toml
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
[tool.poetry]
|
|
2
|
+
name = "jararaca"
|
|
3
|
+
version = "0.3.12"
|
|
4
|
+
description = "A simple and fast API framework for Python"
|
|
5
|
+
authors = ["Lucas S <me@luscasleo.dev>"]
|
|
6
|
+
readme = "README.md"
|
|
7
|
+
packages = [{ include = "jararaca", from = "src" }]
|
|
8
|
+
include = ["pyproject.toml", "README.md", "LICENSE", "docs"]
|
|
9
|
+
repository = "https://github.com/LuscasLeo/jararaca"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
[tool.poetry.dependencies]
|
|
13
|
+
python = "^3.11"
|
|
14
|
+
uvicorn = "^0.30.6"
|
|
15
|
+
uvloop = "^0.20.0"
|
|
16
|
+
fastapi = "^0.113.0"
|
|
17
|
+
aio-pika = "^9.4.3"
|
|
18
|
+
sqlalchemy = "^2.0.34"
|
|
19
|
+
croniter = "^3.0.3"
|
|
20
|
+
redis = "^5.0.8"
|
|
21
|
+
websockets = "^13.0.1"
|
|
22
|
+
opentelemetry-exporter-otlp-proto-http = { version = "^1.27.0", optional = true }
|
|
23
|
+
opentelemetry-api = { version = "^1.27.0", optional = true }
|
|
24
|
+
opentelemetry-sdk = { version = "^1.27.0", optional = true }
|
|
25
|
+
opentelemetry-distro = { version = "^0.49b2", optional = true }
|
|
26
|
+
opentelemetry-exporter-otlp = { version = "^1.27.0", optional = true }
|
|
27
|
+
types-croniter = "^3.0.3.20240731"
|
|
28
|
+
types-redis = "^4.6.0.20240903"
|
|
29
|
+
mako = "^1.3.5"
|
|
30
|
+
watchdog = { version = "^3.0.0", optional = true }
|
|
31
|
+
frozendict = "^2.4.6"
|
|
32
|
+
urllib3 = "^2.3.0"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
[tool.poetry.extras]
|
|
36
|
+
opentelemetry = [
|
|
37
|
+
"opentelemetry-exporter-otlp-proto-http",
|
|
38
|
+
"opentelemetry-api",
|
|
39
|
+
"opentelemetry-sdk",
|
|
40
|
+
"opentelemetry-distro",
|
|
41
|
+
"opentelemetry-exporter-otlp",
|
|
42
|
+
]
|
|
43
|
+
http = ["httptools", "httpx"]
|
|
44
|
+
docs = ["mkdocs-material"]
|
|
45
|
+
watch = ["watchdog"]
|
|
46
|
+
|
|
47
|
+
[tool.poetry.group.lint.dependencies]
|
|
48
|
+
mypy = "^1.11.2"
|
|
49
|
+
black = "^24.8.0"
|
|
50
|
+
isort = "^5.13.2"
|
|
51
|
+
pre-commit = "^3.8.0"
|
|
52
|
+
autoflake = "^2.3.1"
|
|
53
|
+
types-croniter = "^3.0.3.20240731"
|
|
54
|
+
types-redis = "^4.6.0.20240903"
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
[tool.poetry.group.docs.dependencies]
|
|
58
|
+
mkdocs-material = "^9.5.34"
|
|
59
|
+
mkdocs-mermaid2-plugin = "^1.2.1"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
[tool.poetry.group.dev.dependencies]
|
|
63
|
+
httptools = "^0.6.1"
|
|
64
|
+
httpx = "^0.27.2"
|
|
65
|
+
|
|
66
|
+
[build-system]
|
|
67
|
+
requires = ["poetry-core"]
|
|
68
|
+
build-backend = "poetry.core.masonry.api"
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
[tool.isort]
|
|
72
|
+
profile = "black"
|
|
73
|
+
|
|
74
|
+
[tool.mypy]
|
|
75
|
+
python_version = "3.11"
|
|
76
|
+
strict = true
|
|
77
|
+
# mypy_path = "src"
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
# JARARACA CONFIG
|
|
81
|
+
[tool.poetry.scripts]
|
|
82
|
+
jararaca = "jararaca.cli:cli"
|
|
83
|
+
|
|
84
|
+
[[tool.mypy.overrides]]
|
|
85
|
+
module = "mako.*"
|
|
86
|
+
ignore_missing_imports = true
|
|
File without changes
|
|
File without changes
|