documente_shared 0.1.185b0__tar.gz → 0.1.185b3__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 (124) hide show
  1. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/PKG-INFO +1 -1
  2. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/retry_utils.py +0 -20
  3. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/constants.py +1 -6
  4. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/document.py +5 -1
  5. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_case_item.py +4 -0
  6. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/documente_client.py +0 -23
  7. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/pyproject.toml +1 -1
  8. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/uv.lock +1 -1
  9. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/.github/workflows/publish.yml +0 -0
  10. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/.gitignore +0 -0
  11. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/.vscode/settings.json +0 -0
  12. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/Dockerfile +0 -0
  13. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/Makefile +0 -0
  14. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/README.md +0 -0
  15. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/__init__.py +0 -0
  16. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/cases.py +0 -0
  17. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/docker-compose.yml +0 -0
  18. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/__init__.py +0 -0
  19. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/__init__.py +0 -0
  20. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/dates.py +0 -0
  21. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/digest.py +0 -0
  22. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/exceptions.py +0 -0
  23. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/files.py +0 -0
  24. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/json.py +0 -0
  25. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/logging.py +0 -0
  26. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/numbers.py +0 -0
  27. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/payloads.py +0 -0
  28. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/query_params.py +0 -0
  29. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/time_utils.py +0 -0
  30. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/application/timezone.py +0 -0
  31. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/__init__.py +0 -0
  32. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/base_enum.py +0 -0
  33. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/__init__.py +0 -0
  34. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/document_metadata.py +0 -0
  35. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/document_type.py +0 -0
  36. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/in_memory_document.py +0 -0
  37. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_case.py +0 -0
  38. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_case_filters.py +0 -0
  39. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_case_item_filters.py +0 -0
  40. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_documents.py +0 -0
  41. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_event.py +0 -0
  42. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/processing_record.py +0 -0
  43. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/scaling.py +0 -0
  44. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/workspace.py +0 -0
  45. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/workspace_document.py +0 -0
  46. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/entities/workspace_document_page.py +0 -0
  47. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/__init__.py +0 -0
  48. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/circular_oficio.py +0 -0
  49. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/common.py +0 -0
  50. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/document.py +0 -0
  51. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/document_type_record.py +0 -0
  52. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/processing_case.py +0 -0
  53. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/processing_case_validator.py +0 -0
  54. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/enums/workspace.py +0 -0
  55. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/exceptions.py +0 -0
  56. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/filters/__init__.py +0 -0
  57. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/filters/document_type.py +0 -0
  58. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/filters/workspace.py +0 -0
  59. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/filters/workspace_document.py +0 -0
  60. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/filters/workspace_document_page.py +0 -0
  61. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/helpers/__init__.py +0 -0
  62. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/helpers/dicts.py +0 -0
  63. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/helpers/encoding.py +0 -0
  64. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/helpers/lists.py +0 -0
  65. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/helpers/values.py +0 -0
  66. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/interfaces/__init__.py +0 -0
  67. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/interfaces/queue.py +0 -0
  68. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/interfaces/scaling.py +0 -0
  69. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/pagination/__init__.py +0 -0
  70. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/pagination/entities.py +0 -0
  71. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/pagination/response.py +0 -0
  72. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/__init__.py +0 -0
  73. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/document.py +0 -0
  74. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/document_type.py +0 -0
  75. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/processing_case.py +0 -0
  76. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/processing_case_item.py +0 -0
  77. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/processing_record.py +0 -0
  78. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/workspace.py +0 -0
  79. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/workspace_document.py +0 -0
  80. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/domain/repositories/workspace_document_page.py +0 -0
  81. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/__init__.py +0 -0
  82. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/batch_queue.py +0 -0
  83. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/dynamo_table.py +0 -0
  84. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/lambdas.py +0 -0
  85. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/__init__.py +0 -0
  86. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/dynamo_document.py +0 -0
  87. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/dynamo_processing_case.py +0 -0
  88. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/dynamo_processing_case_item.py +0 -0
  89. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_document.py +0 -0
  90. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_document_type.py +0 -0
  91. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_processing_case.py +0 -0
  92. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_processing_case_item.py +0 -0
  93. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_processing_record.py +0 -0
  94. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_workspace.py +0 -0
  95. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_workspace_document.py +0 -0
  96. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/http_workspace_document_page.py +0 -0
  97. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/mem_document.py +0 -0
  98. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/mem_processing_case.py +0 -0
  99. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/mem_processing_case_item.py +0 -0
  100. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/repositories/mem_processing_record.py +0 -0
  101. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/s3_bucket.py +0 -0
  102. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/services/__init__.py +0 -0
  103. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/services/http_scaling.py +0 -0
  104. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/infrastructure/sqs_queue.py +0 -0
  105. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/presentation/__init__.py +0 -0
  106. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/documente_shared/presentation/presenters.py +0 -0
  107. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/publish.sh +0 -0
  108. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/__init__.py +0 -0
  109. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/__init__.py +0 -0
  110. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/application/__init__.py +0 -0
  111. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/application/test_files.py +0 -0
  112. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/application/test_payloads.py +0 -0
  113. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/conftest.py +0 -0
  114. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/__init__.py +0 -0
  115. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/entities/__init__.py +0 -0
  116. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/entities/test_in_memory_document.py +0 -0
  117. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/entities/test_processing_case.py +0 -0
  118. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/entities/test_processing_case_item.py +0 -0
  119. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/entities/test_processing_record.py +0 -0
  120. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/domain/enums/test_processing_case_validator.py +0 -0
  121. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/infrastructure/__init__.py +0 -0
  122. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/infrastructure/repositories/__init__.py +0 -0
  123. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documente_shared/infrastructure/repositories/test_http_processing_record.py +0 -0
  124. {documente_shared-0.1.185b0 → documente_shared-0.1.185b3}/tests/documents.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: documente_shared
3
- Version: 0.1.185b0
3
+ Version: 0.1.185b3
4
4
  Summary: Shared utilities for LlamitAI projects
5
5
  Author-email: Tech <tech@llamitai.com>
6
6
  License: MIT
@@ -2,31 +2,11 @@ import time
2
2
  import random
3
3
  from functools import wraps
4
4
  from typing import Optional, Callable
5
- from urllib3.util.retry import Retry
6
5
  import structlog
7
6
 
8
7
  logger = structlog.get_logger()
9
8
 
10
9
 
11
- class HttpRetry(Retry):
12
- def increment(self, method=None, url=None, response=None, error=None, **kwargs):
13
- if response is not None:
14
- logger.warning(
15
- "[shared.http.retry]",
16
- method=method,
17
- url=url,
18
- status_code=response.status,
19
- )
20
- elif error is not None:
21
- logger.warning(
22
- "[shared.http.retry_connection_error]",
23
- method=method,
24
- url=url,
25
- error=str(error),
26
- )
27
- return super().increment(method=method, url=url, response=response, error=error, **kwargs)
28
-
29
-
30
10
  def retry_on_size_integrity(base_delay: float = 0.8, max_retries: int = 3):
31
11
  def decorator(func: Callable):
32
12
  @wraps(func)
@@ -7,9 +7,4 @@ la_paz_tz = ZoneInfo("America/La_Paz")
7
7
  DOCUMENTE_API_URL = environ.get("DOCUMENTE_API_URL")
8
8
  DOCUMENTE_API_KEY = environ.get("DOCUMENTE_API_KEY")
9
9
 
10
- DEFAULT_PAGINATION_PAGE_SIZE = 50
11
-
12
- HTTP_RETRY_TOTAL = 3
13
- HTTP_RETRY_BACKOFF_FACTOR = 0.5
14
- HTTP_RETRY_BACKOFF_JITTER = 0.25
15
- HTTP_RETRY_STATUS_FORCELIST = frozenset([429, 500, 502, 503, 504])
10
+ DEFAULT_PAGINATION_PAGE_SIZE = 50
@@ -54,6 +54,7 @@ class DocumentProcessing(object):
54
54
  metadata: Optional[dict] = None
55
55
  document_size: Optional[Decimal] = None
56
56
  document_pages: Optional[int] = None
57
+ ocr_render_text: Optional[str] = None
57
58
  metadata_items: Optional[List[DocumentProcessingMetadata]] = None
58
59
 
59
60
  def __post_init__(self):
@@ -302,6 +303,7 @@ class DocumentProcessing(object):
302
303
  if self.document_size else None
303
304
  ),
304
305
  'document_pages': self.document_pages,
306
+ 'ocr_render_text': self.ocr_render_text,
305
307
  }
306
308
 
307
309
  @property
@@ -363,6 +365,7 @@ class DocumentProcessing(object):
363
365
  'document_size',
364
366
  'document_pages',
365
367
  'completed_at',
368
+ 'ocr_render_text',
366
369
  ]
367
370
  for _property in instance_properties:
368
371
  property_value = getattr(new_instance, _property)
@@ -421,6 +424,7 @@ class DocumentProcessing(object):
421
424
  Decimal(data.get('document_size'))
422
425
  if data.get('document_size') else None
423
426
  ),
424
- document_pages=data.get('document_pages')
427
+ document_pages=data.get('document_pages'),
428
+ ocr_render_text=data.get('ocr_render_text'),
425
429
  )
426
430
 
@@ -32,6 +32,7 @@ class ProcessingCaseItem(object):
32
32
  completed_at: Optional[datetime] = None
33
33
  feedback: Optional[list | dict] = None
34
34
  metadata: Optional[dict] = None
35
+ ocr_render_text: Optional[str] = None
35
36
 
36
37
  def __post_init__(self):
37
38
  self.feedback = self.feedback or []
@@ -107,6 +108,7 @@ class ProcessingCaseItem(object):
107
108
  'completed_at',
108
109
  'feedback',
109
110
  'metadata',
111
+ 'ocr_render_text',
110
112
  ]
111
113
  for _property in instance_properties:
112
114
  property_value = getattr(new_instance, _property)
@@ -205,6 +207,7 @@ class ProcessingCaseItem(object):
205
207
  self.completed_at.isoformat()
206
208
  if self.completed_at else None
207
209
  ),
210
+ 'ocr_render_text': self.ocr_render_text,
208
211
  }
209
212
 
210
213
  @property
@@ -283,6 +286,7 @@ class ProcessingCaseItem(object):
283
286
  feedback=data.get('feedback'),
284
287
  metadata=data.get('metadata', {}),
285
288
  completed_at=get_datetime_from_data(input_datetime=data.get('completed_at')),
289
+ ocr_render_text=data.get('ocr_render_text'),
286
290
  )
287
291
 
288
292
  @classmethod
@@ -1,21 +1,9 @@
1
1
  from contextlib import contextmanager
2
2
  from dataclasses import dataclass
3
3
  from requests import Response, Session
4
- from requests.adapters import HTTPAdapter
5
4
  from typing import Callable, Optional
6
5
 
7
- import structlog
8
-
9
6
  from documente_shared.application.payloads import camel_to_snake
10
- from documente_shared.application.retry_utils import HttpRetry
11
- from documente_shared.domain.constants import (
12
- HTTP_RETRY_BACKOFF_FACTOR,
13
- HTTP_RETRY_BACKOFF_JITTER,
14
- HTTP_RETRY_STATUS_FORCELIST,
15
- HTTP_RETRY_TOTAL,
16
- )
17
-
18
- logger = structlog.get_logger()
19
7
 
20
8
 
21
9
  @dataclass
@@ -31,17 +19,6 @@ class DocumenteClientMixin(object):
31
19
  def _get_session(self) -> Session:
32
20
  session = Session()
33
21
  session.headers.update(self.get_common_headers())
34
- retry_strategy = HttpRetry(
35
- total=HTTP_RETRY_TOTAL,
36
- backoff_factor=HTTP_RETRY_BACKOFF_FACTOR,
37
- backoff_jitter=HTTP_RETRY_BACKOFF_JITTER,
38
- status_forcelist=HTTP_RETRY_STATUS_FORCELIST,
39
- allowed_methods=["GET", "POST", "PUT", "PATCH", "DELETE"],
40
- raise_on_status=False,
41
- )
42
- adapter = HTTPAdapter(max_retries=retry_strategy)
43
- session.mount("http://", adapter)
44
- session.mount("https://", adapter)
45
22
  return session
46
23
 
47
24
  def get_common_headers(self) -> dict:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "documente_shared"
3
- version = "0.1.185b"
3
+ version = "0.1.185b3"
4
4
  description = "Shared utilities for LlamitAI projects"
5
5
  authors = [{ name = "Tech", email = "tech@llamitai.com" }]
6
6
  license = { text = "MIT" }
@@ -138,7 +138,7 @@ wheels = [
138
138
 
139
139
  [[package]]
140
140
  name = "documente-shared"
141
- version = "0.1.185b0"
141
+ version = "0.1.185b3"
142
142
  source = { editable = "." }
143
143
  dependencies = [
144
144
  { name = "boto3" },