documente_shared 0.1.199__tar.gz → 0.1.200b0__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.
Files changed (128) hide show
  1. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/PKG-INFO +2 -2
  2. documente_shared-0.1.200b0/documente_shared/infrastructure/lambdas.py +37 -0
  3. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/pyproject.toml +1 -1
  4. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/uv.lock +25 -25
  5. documente_shared-0.1.199/documente_shared/infrastructure/lambdas.py +0 -15
  6. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/.claude/commands/commit.md +0 -0
  7. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/.github/workflows/publish.yml +0 -0
  8. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/.gitignore +0 -0
  9. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/.vscode/settings.json +0 -0
  10. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/Dockerfile +0 -0
  11. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/Makefile +0 -0
  12. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/README.md +0 -0
  13. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/__init__.py +0 -0
  14. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/cases.py +0 -0
  15. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/docker-compose.yml +0 -0
  16. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/__init__.py +0 -0
  17. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/__init__.py +0 -0
  18. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/dates.py +0 -0
  19. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/digest.py +0 -0
  20. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/exceptions.py +0 -0
  21. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/files.py +0 -0
  22. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/json.py +0 -0
  23. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/logging.py +0 -0
  24. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/numbers.py +0 -0
  25. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/payloads.py +0 -0
  26. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/query_params.py +0 -0
  27. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/retry_utils.py +0 -0
  28. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/time_utils.py +0 -0
  29. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/application/timezone.py +0 -0
  30. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/__init__.py +0 -0
  31. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/base_enum.py +0 -0
  32. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/constants.py +0 -0
  33. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/__init__.py +0 -0
  34. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/document.py +0 -0
  35. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/document_metadata.py +0 -0
  36. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/document_type.py +0 -0
  37. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/in_memory_document.py +0 -0
  38. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/layout.py +0 -0
  39. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_case.py +0 -0
  40. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_case_filters.py +0 -0
  41. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_case_item.py +0 -0
  42. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_case_item_filters.py +0 -0
  43. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_documents.py +0 -0
  44. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_event.py +0 -0
  45. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/processing_record.py +0 -0
  46. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/scaling.py +0 -0
  47. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/workspace.py +0 -0
  48. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/workspace_document.py +0 -0
  49. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/entities/workspace_document_page.py +0 -0
  50. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/__init__.py +0 -0
  51. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/circular_oficio.py +0 -0
  52. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/common.py +0 -0
  53. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/document.py +0 -0
  54. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/document_type_record.py +0 -0
  55. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/processing_case.py +0 -0
  56. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/processing_case_validator.py +0 -0
  57. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/vnext.py +0 -0
  58. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/enums/workspace.py +0 -0
  59. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/exceptions.py +0 -0
  60. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/filters/__init__.py +0 -0
  61. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/filters/document_type.py +0 -0
  62. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/filters/workspace.py +0 -0
  63. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/filters/workspace_document.py +0 -0
  64. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/filters/workspace_document_page.py +0 -0
  65. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/helpers/__init__.py +0 -0
  66. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/helpers/dicts.py +0 -0
  67. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/helpers/encoding.py +0 -0
  68. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/helpers/lists.py +0 -0
  69. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/helpers/values.py +0 -0
  70. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/interfaces/__init__.py +0 -0
  71. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/interfaces/queue.py +0 -0
  72. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/interfaces/scaling.py +0 -0
  73. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/pagination/__init__.py +0 -0
  74. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/pagination/entities.py +0 -0
  75. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/pagination/response.py +0 -0
  76. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/__init__.py +0 -0
  77. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/document.py +0 -0
  78. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/document_type.py +0 -0
  79. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/processing_case.py +0 -0
  80. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/processing_case_item.py +0 -0
  81. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/processing_record.py +0 -0
  82. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/workspace.py +0 -0
  83. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/workspace_document.py +0 -0
  84. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/domain/repositories/workspace_document_page.py +0 -0
  85. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/__init__.py +0 -0
  86. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/batch_queue.py +0 -0
  87. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/documente_client.py +0 -0
  88. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/dynamo_table.py +0 -0
  89. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/__init__.py +0 -0
  90. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/dynamo_document.py +0 -0
  91. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/dynamo_processing_case.py +0 -0
  92. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/dynamo_processing_case_item.py +0 -0
  93. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_document.py +0 -0
  94. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_document_type.py +0 -0
  95. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_processing_case.py +0 -0
  96. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_processing_case_item.py +0 -0
  97. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_processing_record.py +0 -0
  98. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_workspace.py +0 -0
  99. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_workspace_document.py +0 -0
  100. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/http_workspace_document_page.py +0 -0
  101. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/mem_document.py +0 -0
  102. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/mem_processing_case.py +0 -0
  103. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/mem_processing_case_item.py +0 -0
  104. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/repositories/mem_processing_record.py +0 -0
  105. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/s3_bucket.py +0 -0
  106. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/services/__init__.py +0 -0
  107. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/services/http_scaling.py +0 -0
  108. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/infrastructure/sqs_queue.py +0 -0
  109. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/presentation/__init__.py +0 -0
  110. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/documente_shared/presentation/presenters.py +0 -0
  111. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/publish.sh +0 -0
  112. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/__init__.py +0 -0
  113. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/__init__.py +0 -0
  114. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/application/__init__.py +0 -0
  115. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/application/test_files.py +0 -0
  116. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/application/test_payloads.py +0 -0
  117. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/conftest.py +0 -0
  118. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/__init__.py +0 -0
  119. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/entities/__init__.py +0 -0
  120. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/entities/test_in_memory_document.py +0 -0
  121. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/entities/test_processing_case.py +0 -0
  122. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/entities/test_processing_case_item.py +0 -0
  123. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/entities/test_processing_record.py +0 -0
  124. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/domain/enums/test_processing_case_validator.py +0 -0
  125. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/infrastructure/__init__.py +0 -0
  126. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/infrastructure/repositories/__init__.py +0 -0
  127. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documente_shared/infrastructure/repositories/test_http_processing_record.py +0 -0
  128. {documente_shared-0.1.199 → documente_shared-0.1.200b0}/tests/documents.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: documente_shared
3
- Version: 0.1.199
3
+ Version: 0.1.200b0
4
4
  Summary: Shared utilities for LlamitAI projects
5
5
  Author-email: Tech <tech@llamitai.com>
6
6
  License: MIT
@@ -0,0 +1,37 @@
1
+ import json
2
+ from functools import lru_cache
3
+
4
+ import boto3
5
+ from botocore.config import Config
6
+
7
+ DEFAULT_LAMBDA_READ_TIMEOUT = 900
8
+
9
+
10
+ @lru_cache(maxsize=None)
11
+ def _get_lambda_client(read_timeout: int):
12
+ # Invocations are long running and not idempotent: the read timeout must outlast the target
13
+ # function timeout and retries must stay disabled, so a slow response never triggers a second
14
+ # invocation of the same job.
15
+ lambda_config = Config(
16
+ read_timeout=read_timeout,
17
+ connect_timeout=10,
18
+ tcp_keepalive=True,
19
+ retries={"max_attempts": 0, "mode": "standard"},
20
+ )
21
+ return boto3.client("lambda", config=lambda_config)
22
+
23
+
24
+ def invoke_lambda(
25
+ function_name: str,
26
+ payload: dict,
27
+ read_timeout: int = DEFAULT_LAMBDA_READ_TIMEOUT,
28
+ ) -> dict | list | None:
29
+ client = _get_lambda_client(read_timeout)
30
+
31
+ response = client.invoke(
32
+ FunctionName=function_name,
33
+ InvocationType="RequestResponse",
34
+ Payload=json.dumps(payload),
35
+ )
36
+
37
+ return json.loads(response["Payload"].read().decode("utf-8"))
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "documente_shared"
3
- version = "0.1.199"
3
+ version = "0.1.200b"
4
4
  description = "Shared utilities for LlamitAI projects"
5
5
  authors = [{ name = "Tech", email = "tech@llamitai.com" }]
6
6
  license = { text = "MIT" }
@@ -154,7 +154,7 @@ wheels = [
154
154
 
155
155
  [[package]]
156
156
  name = "documente-shared"
157
- version = "0.1.199"
157
+ version = "0.1.200b0"
158
158
  source = { editable = "." }
159
159
  dependencies = [
160
160
  { name = "boto3" },
@@ -200,7 +200,7 @@ name = "exceptiongroup"
200
200
  version = "1.3.1"
201
201
  source = { registry = "https://pypi.org/simple" }
202
202
  dependencies = [
203
- { name = "typing-extensions" },
203
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
204
204
  ]
205
205
  sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
206
206
  wheels = [
@@ -263,17 +263,17 @@ resolution-markers = [
263
263
  "python_full_version < '3.11'",
264
264
  ]
265
265
  dependencies = [
266
- { name = "colorama", marker = "sys_platform == 'win32'" },
267
- { name = "decorator" },
268
- { name = "exceptiongroup" },
269
- { name = "jedi" },
270
- { name = "matplotlib-inline" },
271
- { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
272
- { name = "prompt-toolkit" },
273
- { name = "pygments" },
274
- { name = "stack-data" },
275
- { name = "traitlets" },
276
- { name = "typing-extensions" },
266
+ { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" },
267
+ { name = "decorator", marker = "python_full_version < '3.11'" },
268
+ { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
269
+ { name = "jedi", marker = "python_full_version < '3.11'" },
270
+ { name = "matplotlib-inline", marker = "python_full_version < '3.11'" },
271
+ { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
272
+ { name = "prompt-toolkit", marker = "python_full_version < '3.11'" },
273
+ { name = "pygments", marker = "python_full_version < '3.11'" },
274
+ { name = "stack-data", marker = "python_full_version < '3.11'" },
275
+ { name = "traitlets", marker = "python_full_version < '3.11'" },
276
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
277
277
  ]
278
278
  sdist = { url = "https://files.pythonhosted.org/packages/e5/61/1810830e8b93c72dcd3c0f150c80a00c3deb229562d9423807ec92c3a539/ipython-8.38.0.tar.gz", hash = "sha256:9cfea8c903ce0867cc2f23199ed8545eb741f3a69420bfcf3743ad1cec856d39", size = 5513996, upload-time = "2026-01-05T10:59:06.901Z" }
279
279
  wheels = [
@@ -288,17 +288,17 @@ resolution-markers = [
288
288
  "python_full_version >= '3.11'",
289
289
  ]
290
290
  dependencies = [
291
- { name = "colorama", marker = "sys_platform == 'win32'" },
292
- { name = "decorator" },
293
- { name = "ipython-pygments-lexers" },
294
- { name = "jedi" },
295
- { name = "matplotlib-inline" },
296
- { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
297
- { name = "prompt-toolkit" },
298
- { name = "pygments" },
299
- { name = "stack-data" },
300
- { name = "traitlets" },
301
- { name = "typing-extensions", marker = "python_full_version < '3.12'" },
291
+ { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" },
292
+ { name = "decorator", marker = "python_full_version >= '3.11'" },
293
+ { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" },
294
+ { name = "jedi", marker = "python_full_version >= '3.11'" },
295
+ { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" },
296
+ { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
297
+ { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" },
298
+ { name = "pygments", marker = "python_full_version >= '3.11'" },
299
+ { name = "stack-data", marker = "python_full_version >= '3.11'" },
300
+ { name = "traitlets", marker = "python_full_version >= '3.11'" },
301
+ { name = "typing-extensions", marker = "python_full_version == '3.11.*'" },
302
302
  ]
303
303
  sdist = { url = "https://files.pythonhosted.org/packages/a6/60/2111715ea11f39b1535bed6024b7dec7918b71e5e5d30855a5b503056b50/ipython-9.10.0.tar.gz", hash = "sha256:cd9e656be97618a0676d058134cd44e6dc7012c0e5cb36a9ce96a8c904adaf77", size = 4426526, upload-time = "2026-02-02T10:00:33.594Z" }
304
304
  wheels = [
@@ -310,7 +310,7 @@ name = "ipython-pygments-lexers"
310
310
  version = "1.1.1"
311
311
  source = { registry = "https://pypi.org/simple" }
312
312
  dependencies = [
313
- { name = "pygments" },
313
+ { name = "pygments", marker = "python_full_version >= '3.11'" },
314
314
  ]
315
315
  sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" }
316
316
  wheels = [
@@ -1,15 +0,0 @@
1
- import json
2
- import boto3
3
- from botocore.config import Config
4
-
5
-
6
- def invoke_lambda(function_name: str, payload: dict, read_timeout: int = 60) -> dict | list | None:
7
- client = boto3.client("lambda", config=Config(read_timeout=read_timeout))
8
-
9
- response = client.invoke(
10
- FunctionName=function_name,
11
- InvocationType="RequestResponse",
12
- Payload=json.dumps(payload),
13
- )
14
-
15
- return json.loads(response["Payload"].read().decode("utf-8"))