documente_shared 0.1.100__tar.gz → 0.1.102__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.
Potentially problematic release.
This version of documente_shared might be problematic. Click here for more details.
- {documente_shared-0.1.100 → documente_shared-0.1.102}/PKG-INFO +2 -1
- documente_shared-0.1.102/documente_shared/application/json.py +45 -0
- documente_shared-0.1.102/documente_shared/domain/entities/processing_documents.py +11 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/pyproject.toml +2 -1
- {documente_shared-0.1.100 → documente_shared-0.1.102}/README.md +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/dates.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/digest.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/exceptions.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/files.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/payloads.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/query_params.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/time_utils.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/timezone.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/base_enum.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/constants.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/document_metadata.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/in_memory_document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/processing_case_filters.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/processing_case_item.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/processing_case_item_filters.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/processing_event.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/scaling.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/common.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/exceptions.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/interfaces/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/interfaces/scaling.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/repositories/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/repositories/document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/repositories/processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/repositories/processing_case_item.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/documente_client.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/dynamo_table.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/lambdas.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/dynamo_document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/dynamo_processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/dynamo_processing_case_item.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/http_document_processing.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/http_processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/http_processing_case_item.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/mem_document.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/repositories/mem_processing_case.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/s3_bucket.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/services/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/services/http_scaling.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/sqs_queue.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/presentation/__init__.py +0 -0
- {documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/presentation/presenters.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: documente_shared
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.102
|
|
4
4
|
Summary: Shared utilities for Documente AI projects
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Tech
|
|
@@ -17,6 +17,7 @@ Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
|
|
17
17
|
Requires-Dist: pytz (>=2025.2,<2026.0)
|
|
18
18
|
Requires-Dist: requests (>=2.32.3,<3.0.0)
|
|
19
19
|
Requires-Dist: sentry-sdk (>=2.19.2,<3.0.0)
|
|
20
|
+
Requires-Dist: unidecode (>=1.3.8,<2.0.0)
|
|
20
21
|
Description-Content-Type: text/markdown
|
|
21
22
|
|
|
22
23
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
import unicodedata
|
|
5
|
+
from unidecode import unidecode
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def underscoreize(data: Any) -> Any:
|
|
9
|
+
if isinstance(data, dict):
|
|
10
|
+
new_dict = {}
|
|
11
|
+
for key, value in data.items():
|
|
12
|
+
new_key = re.sub(r"(?<!^)(?=[A-Z])", "_", key).lower()
|
|
13
|
+
new_dict[new_key] = underscoreize(value)
|
|
14
|
+
return new_dict
|
|
15
|
+
elif isinstance(data, list):
|
|
16
|
+
return [underscoreize(item) for item in data]
|
|
17
|
+
else:
|
|
18
|
+
return data
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def safe_format(data: Any) -> Any:
|
|
22
|
+
if isinstance(data, dict):
|
|
23
|
+
new_dict = {}
|
|
24
|
+
for key, value in data.items():
|
|
25
|
+
new_key = unidecode(key.replace(" ", "_"))
|
|
26
|
+
new_dict[new_key] = safe_format(value)
|
|
27
|
+
return new_dict
|
|
28
|
+
elif isinstance(data, list):
|
|
29
|
+
return [safe_format(item) for item in data]
|
|
30
|
+
else:
|
|
31
|
+
return data
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def normalize_key(key: str) -> str:
|
|
35
|
+
normalized = unicodedata.normalize('NFC', key)
|
|
36
|
+
underscored = re.sub(r'\s+', '_', normalized)
|
|
37
|
+
return underscored
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def normalize_dict_keys(data: dict) -> dict:
|
|
41
|
+
return {normalize_key(k): v for k, v in data.items()}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def normalize_list_keys(data: list) -> list:
|
|
45
|
+
return [normalize_dict_keys(item) for item in data]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from documente_shared.domain.entities.in_memory_document import InMemoryDocument
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class ProcessedDocuments(object):
|
|
9
|
+
processed_csv: Optional[InMemoryDocument] = None
|
|
10
|
+
processed_xlsx: Optional[InMemoryDocument] = None
|
|
11
|
+
processed_json: Optional[InMemoryDocument] = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "documente_shared"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.102"
|
|
4
4
|
description = "Shared utilities for Documente AI projects"
|
|
5
5
|
authors = ["Tech <tech@llamitai.com>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -12,6 +12,7 @@ boto3 = "^1.37.19"
|
|
|
12
12
|
botocore = "^1.37.19"
|
|
13
13
|
sentry-sdk = "^2.19.2"
|
|
14
14
|
pytz = "^2025.2"
|
|
15
|
+
unidecode = "^1.3.8"
|
|
15
16
|
requests = "^2.32.3"
|
|
16
17
|
loguru = "^0.7.3"
|
|
17
18
|
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/digest.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/payloads.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/query_params.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/time_utils.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/application/timezone.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/__init__.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/document.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/entities/scaling.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/__init__.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/common.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/enums/document.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/interfaces/__init__.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/domain/interfaces/scaling.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/lambdas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/s3_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/infrastructure/sqs_queue.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/presentation/__init__.py
RENAMED
|
File without changes
|
{documente_shared-0.1.100 → documente_shared-0.1.102}/documente_shared/presentation/presenters.py
RENAMED
|
File without changes
|