documente_shared 0.1.185b0__tar.gz → 0.1.185b2__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.185b2}/PKG-INFO +1 -1
  2. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/retry_utils.py +0 -20
  3. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/constants.py +1 -6
  4. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/document.py +5 -1
  5. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/documente_client.py +0 -23
  6. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/pyproject.toml +1 -1
  7. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/uv.lock +1 -1
  8. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/.github/workflows/publish.yml +0 -0
  9. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/.gitignore +0 -0
  10. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/.vscode/settings.json +0 -0
  11. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/Dockerfile +0 -0
  12. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/Makefile +0 -0
  13. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/README.md +0 -0
  14. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/__init__.py +0 -0
  15. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/cases.py +0 -0
  16. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/docker-compose.yml +0 -0
  17. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/__init__.py +0 -0
  18. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/__init__.py +0 -0
  19. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/dates.py +0 -0
  20. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/digest.py +0 -0
  21. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/exceptions.py +0 -0
  22. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/files.py +0 -0
  23. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/json.py +0 -0
  24. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/logging.py +0 -0
  25. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/numbers.py +0 -0
  26. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/payloads.py +0 -0
  27. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/query_params.py +0 -0
  28. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/time_utils.py +0 -0
  29. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/application/timezone.py +0 -0
  30. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/__init__.py +0 -0
  31. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/base_enum.py +0 -0
  32. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/__init__.py +0 -0
  33. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/document_metadata.py +0 -0
  34. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/document_type.py +0 -0
  35. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/in_memory_document.py +0 -0
  36. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_case.py +0 -0
  37. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_case_filters.py +0 -0
  38. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_case_item.py +0 -0
  39. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_case_item_filters.py +0 -0
  40. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_documents.py +0 -0
  41. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_event.py +0 -0
  42. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/processing_record.py +0 -0
  43. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/scaling.py +0 -0
  44. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/workspace.py +0 -0
  45. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/workspace_document.py +0 -0
  46. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/entities/workspace_document_page.py +0 -0
  47. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/__init__.py +0 -0
  48. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/circular_oficio.py +0 -0
  49. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/common.py +0 -0
  50. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/document.py +0 -0
  51. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/document_type_record.py +0 -0
  52. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/processing_case.py +0 -0
  53. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/processing_case_validator.py +0 -0
  54. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/enums/workspace.py +0 -0
  55. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/exceptions.py +0 -0
  56. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/filters/__init__.py +0 -0
  57. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/filters/document_type.py +0 -0
  58. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/filters/workspace.py +0 -0
  59. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/filters/workspace_document.py +0 -0
  60. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/filters/workspace_document_page.py +0 -0
  61. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/helpers/__init__.py +0 -0
  62. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/helpers/dicts.py +0 -0
  63. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/helpers/encoding.py +0 -0
  64. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/helpers/lists.py +0 -0
  65. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/helpers/values.py +0 -0
  66. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/interfaces/__init__.py +0 -0
  67. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/interfaces/queue.py +0 -0
  68. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/interfaces/scaling.py +0 -0
  69. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/pagination/__init__.py +0 -0
  70. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/pagination/entities.py +0 -0
  71. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/pagination/response.py +0 -0
  72. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/__init__.py +0 -0
  73. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/document.py +0 -0
  74. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/document_type.py +0 -0
  75. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/processing_case.py +0 -0
  76. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/processing_case_item.py +0 -0
  77. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/processing_record.py +0 -0
  78. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/workspace.py +0 -0
  79. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/workspace_document.py +0 -0
  80. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/domain/repositories/workspace_document_page.py +0 -0
  81. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/__init__.py +0 -0
  82. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/batch_queue.py +0 -0
  83. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/dynamo_table.py +0 -0
  84. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/lambdas.py +0 -0
  85. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/__init__.py +0 -0
  86. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/dynamo_document.py +0 -0
  87. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/dynamo_processing_case.py +0 -0
  88. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/dynamo_processing_case_item.py +0 -0
  89. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_document.py +0 -0
  90. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_document_type.py +0 -0
  91. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_processing_case.py +0 -0
  92. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_processing_case_item.py +0 -0
  93. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_processing_record.py +0 -0
  94. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_workspace.py +0 -0
  95. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_workspace_document.py +0 -0
  96. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/http_workspace_document_page.py +0 -0
  97. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/mem_document.py +0 -0
  98. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/mem_processing_case.py +0 -0
  99. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/mem_processing_case_item.py +0 -0
  100. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/repositories/mem_processing_record.py +0 -0
  101. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/s3_bucket.py +0 -0
  102. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/services/__init__.py +0 -0
  103. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/services/http_scaling.py +0 -0
  104. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/infrastructure/sqs_queue.py +0 -0
  105. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/presentation/__init__.py +0 -0
  106. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/documente_shared/presentation/presenters.py +0 -0
  107. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/publish.sh +0 -0
  108. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/__init__.py +0 -0
  109. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/__init__.py +0 -0
  110. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/application/__init__.py +0 -0
  111. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/application/test_files.py +0 -0
  112. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/application/test_payloads.py +0 -0
  113. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/conftest.py +0 -0
  114. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/__init__.py +0 -0
  115. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/entities/__init__.py +0 -0
  116. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/entities/test_in_memory_document.py +0 -0
  117. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/entities/test_processing_case.py +0 -0
  118. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/entities/test_processing_case_item.py +0 -0
  119. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/entities/test_processing_record.py +0 -0
  120. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/domain/enums/test_processing_case_validator.py +0 -0
  121. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/infrastructure/__init__.py +0 -0
  122. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/infrastructure/repositories/__init__.py +0 -0
  123. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/tests/documente_shared/infrastructure/repositories/test_http_processing_record.py +0 -0
  124. {documente_shared-0.1.185b0 → documente_shared-0.1.185b2}/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.185b2
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
 
@@ -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.185b2"
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.185b2"
142
142
  source = { editable = "." }
143
143
  dependencies = [
144
144
  { name = "boto3" },