retab 0.0.35__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.
Files changed (111) hide show
  1. retab-0.0.35.dist-info/METADATA +417 -0
  2. retab-0.0.35.dist-info/RECORD +111 -0
  3. retab-0.0.35.dist-info/WHEEL +5 -0
  4. retab-0.0.35.dist-info/top_level.txt +1 -0
  5. uiform/__init__.py +4 -0
  6. uiform/_resource.py +28 -0
  7. uiform/_utils/__init__.py +0 -0
  8. uiform/_utils/ai_models.py +100 -0
  9. uiform/_utils/benchmarking copy.py +588 -0
  10. uiform/_utils/benchmarking.py +485 -0
  11. uiform/_utils/chat.py +332 -0
  12. uiform/_utils/display.py +443 -0
  13. uiform/_utils/json_schema.py +2161 -0
  14. uiform/_utils/mime.py +168 -0
  15. uiform/_utils/responses.py +163 -0
  16. uiform/_utils/stream_context_managers.py +52 -0
  17. uiform/_utils/usage/__init__.py +0 -0
  18. uiform/_utils/usage/usage.py +300 -0
  19. uiform/client.py +701 -0
  20. uiform/py.typed +0 -0
  21. uiform/resources/__init__.py +0 -0
  22. uiform/resources/consensus/__init__.py +3 -0
  23. uiform/resources/consensus/client.py +114 -0
  24. uiform/resources/consensus/completions.py +252 -0
  25. uiform/resources/consensus/completions_stream.py +278 -0
  26. uiform/resources/consensus/responses.py +325 -0
  27. uiform/resources/consensus/responses_stream.py +373 -0
  28. uiform/resources/deployments/__init__.py +9 -0
  29. uiform/resources/deployments/client.py +78 -0
  30. uiform/resources/deployments/endpoints.py +322 -0
  31. uiform/resources/deployments/links.py +452 -0
  32. uiform/resources/deployments/logs.py +211 -0
  33. uiform/resources/deployments/mailboxes.py +496 -0
  34. uiform/resources/deployments/outlook.py +531 -0
  35. uiform/resources/deployments/tests.py +158 -0
  36. uiform/resources/documents/__init__.py +3 -0
  37. uiform/resources/documents/client.py +255 -0
  38. uiform/resources/documents/extractions.py +441 -0
  39. uiform/resources/evals.py +812 -0
  40. uiform/resources/files.py +24 -0
  41. uiform/resources/finetuning.py +62 -0
  42. uiform/resources/jsonlUtils.py +1046 -0
  43. uiform/resources/models.py +45 -0
  44. uiform/resources/openai_example.py +22 -0
  45. uiform/resources/processors/__init__.py +3 -0
  46. uiform/resources/processors/automations/__init__.py +9 -0
  47. uiform/resources/processors/automations/client.py +78 -0
  48. uiform/resources/processors/automations/endpoints.py +317 -0
  49. uiform/resources/processors/automations/links.py +356 -0
  50. uiform/resources/processors/automations/logs.py +211 -0
  51. uiform/resources/processors/automations/mailboxes.py +435 -0
  52. uiform/resources/processors/automations/outlook.py +444 -0
  53. uiform/resources/processors/automations/tests.py +158 -0
  54. uiform/resources/processors/client.py +474 -0
  55. uiform/resources/prompt_optimization.py +76 -0
  56. uiform/resources/schemas.py +369 -0
  57. uiform/resources/secrets/__init__.py +9 -0
  58. uiform/resources/secrets/client.py +20 -0
  59. uiform/resources/secrets/external_api_keys.py +109 -0
  60. uiform/resources/secrets/webhook.py +62 -0
  61. uiform/resources/usage.py +271 -0
  62. uiform/types/__init__.py +0 -0
  63. uiform/types/ai_models.py +645 -0
  64. uiform/types/automations/__init__.py +0 -0
  65. uiform/types/automations/cron.py +58 -0
  66. uiform/types/automations/endpoints.py +21 -0
  67. uiform/types/automations/links.py +28 -0
  68. uiform/types/automations/mailboxes.py +60 -0
  69. uiform/types/automations/outlook.py +68 -0
  70. uiform/types/automations/webhooks.py +21 -0
  71. uiform/types/chat.py +8 -0
  72. uiform/types/completions.py +93 -0
  73. uiform/types/consensus.py +10 -0
  74. uiform/types/db/__init__.py +0 -0
  75. uiform/types/db/annotations.py +24 -0
  76. uiform/types/db/files.py +36 -0
  77. uiform/types/deployments/__init__.py +0 -0
  78. uiform/types/deployments/cron.py +59 -0
  79. uiform/types/deployments/endpoints.py +28 -0
  80. uiform/types/deployments/links.py +36 -0
  81. uiform/types/deployments/mailboxes.py +67 -0
  82. uiform/types/deployments/outlook.py +76 -0
  83. uiform/types/deployments/webhooks.py +21 -0
  84. uiform/types/documents/__init__.py +0 -0
  85. uiform/types/documents/correct_orientation.py +13 -0
  86. uiform/types/documents/create_messages.py +226 -0
  87. uiform/types/documents/extractions.py +297 -0
  88. uiform/types/evals.py +207 -0
  89. uiform/types/events.py +76 -0
  90. uiform/types/extractions.py +85 -0
  91. uiform/types/jobs/__init__.py +0 -0
  92. uiform/types/jobs/base.py +150 -0
  93. uiform/types/jobs/batch_annotation.py +22 -0
  94. uiform/types/jobs/evaluation.py +133 -0
  95. uiform/types/jobs/finetune.py +6 -0
  96. uiform/types/jobs/prompt_optimization.py +41 -0
  97. uiform/types/jobs/webcrawl.py +6 -0
  98. uiform/types/logs.py +231 -0
  99. uiform/types/mime.py +257 -0
  100. uiform/types/modalities.py +68 -0
  101. uiform/types/pagination.py +6 -0
  102. uiform/types/schemas/__init__.py +0 -0
  103. uiform/types/schemas/enhance.py +53 -0
  104. uiform/types/schemas/evaluate.py +55 -0
  105. uiform/types/schemas/generate.py +32 -0
  106. uiform/types/schemas/layout.py +58 -0
  107. uiform/types/schemas/object.py +631 -0
  108. uiform/types/schemas/templates.py +107 -0
  109. uiform/types/secrets/__init__.py +0 -0
  110. uiform/types/secrets/external_api_keys.py +22 -0
  111. uiform/types/standards.py +39 -0
@@ -0,0 +1,107 @@
1
+ import datetime
2
+ from typing import Any, Literal, Optional
3
+
4
+ import nanoid # type: ignore
5
+ from pydantic import BaseModel, Field, PrivateAttr, computed_field
6
+
7
+ from ..._utils.json_schema import generate_schema_data_id, generate_schema_id
8
+
9
+
10
+ class TemplateSchema(BaseModel):
11
+ """A full Schema object with validation."""
12
+
13
+ id: str = Field(default_factory=lambda: f"tplt_{nanoid.generate()}")
14
+
15
+ name: str
16
+ """The name of the template."""
17
+
18
+ object: Literal["template"] = "template"
19
+ """The type of object being preprocessed."""
20
+
21
+ updated_at: datetime.datetime = Field(default_factory=lambda: datetime.datetime.now(datetime.timezone.utc))
22
+ """The timestamp of when the schema was created."""
23
+
24
+ json_schema: dict[str, Any] = {}
25
+ """The JSON schema to use for loading."""
26
+
27
+ python_code: Optional[str] = None
28
+ """The Python code to use for creating the Schema."""
29
+
30
+ sample_document_filename: Optional[str] = None
31
+ """The filename of the sample document to use for creating the Schema."""
32
+
33
+ # This is a computed field, it is exposed when serializing the object
34
+ @computed_field # type: ignore
35
+ @property
36
+ def schema_data_id(self) -> str:
37
+ """Returns the SHA1 hash of the schema data, ignoring all prompt/description/default fields.
38
+
39
+ Returns:
40
+ str: A SHA1 hash string representing the schema data version.
41
+ """
42
+ return generate_schema_data_id(self.json_schema)
43
+
44
+ # This is a computed field, it is exposed when serializing the object
45
+ @computed_field # type: ignore
46
+ @property
47
+ def schema_id(self) -> str:
48
+ """Returns the SHA1 hash of the complete schema.
49
+
50
+ Returns:
51
+ str: A SHA1 hash string representing the complete schema version.
52
+ """
53
+ return generate_schema_id(self.json_schema)
54
+
55
+ pydantic_model: type[BaseModel] = Field(default=None, exclude=True, repr=False) # type: ignore
56
+
57
+ _partial_pydantic_model: type[BaseModel] = PrivateAttr()
58
+ """The Pydantic model to use for loading."""
59
+
60
+
61
+ from ...types.mime import MIMEData
62
+
63
+
64
+ class UpdateTemplateRequest(BaseModel):
65
+ """Request model for updating a template."""
66
+
67
+ id: str
68
+ """The ID of the template to update."""
69
+
70
+ name: Optional[str] = None
71
+ """The new name of the template."""
72
+
73
+ json_schema: Optional[dict[str, Any]] = None
74
+ """The new JSON schema to use for loading."""
75
+
76
+ python_code: Optional[str] = None
77
+ """The new Python code to use for creating the Schema."""
78
+
79
+ sample_document: Optional[MIMEData] = None
80
+ """The new sample document to use for creating the Schema."""
81
+
82
+ @computed_field # type: ignore
83
+ @property
84
+ def schema_data_id(self) -> Optional[str]:
85
+ """Returns the SHA1 hash of the schema data, ignoring all prompt/description/default fields.
86
+
87
+ Returns:
88
+ str: A SHA1 hash string representing the schema data version.
89
+ """
90
+ if self.json_schema is None:
91
+ return None
92
+
93
+ return generate_schema_data_id(self.json_schema)
94
+
95
+ # This is a computed field, it is exposed when serializing the object
96
+ @computed_field # type: ignore
97
+ @property
98
+ def schema_id(self) -> Optional[str]:
99
+ """Returns the SHA1 hash of the complete schema.
100
+
101
+ Returns:
102
+ str: A SHA1 hash string representing the complete schema version.
103
+ """
104
+ if self.json_schema is None:
105
+ return None
106
+
107
+ return generate_schema_id(self.json_schema)
File without changes
@@ -0,0 +1,22 @@
1
+ from datetime import datetime
2
+ from enum import Enum
3
+ from typing import Optional
4
+
5
+ from pydantic import BaseModel
6
+
7
+ from ..ai_models import AIProvider
8
+
9
+
10
+ class ExternalAPIKeyRequest(BaseModel):
11
+ """Request model for creating/updating API keys"""
12
+
13
+ provider: AIProvider
14
+ api_key: str
15
+
16
+
17
+ class ExternalAPIKey(BaseModel):
18
+ """Response model for API key information"""
19
+
20
+ provider: AIProvider
21
+ is_configured: bool
22
+ last_updated: Optional[datetime]
@@ -0,0 +1,39 @@
1
+ from typing import Any, Generic, List, Literal, Optional, Tuple, TypeVar
2
+
3
+ from pydantic import BaseModel, Field
4
+
5
+ # API Standards
6
+
7
+ # Define a type variable to represent the content type
8
+ T = TypeVar("T")
9
+
10
+
11
+ # Define the ErrorDetail model
12
+ class ErrorDetail(BaseModel):
13
+ code: str
14
+ message: str
15
+ details: Optional[dict] = None
16
+
17
+
18
+ class StandardErrorResponse(BaseModel):
19
+ detail: ErrorDetail
20
+
21
+
22
+ class StreamingBaseModel(BaseModel):
23
+ streaming_error: ErrorDetail | None = None
24
+
25
+
26
+ class DocumentPreprocessResponseContent(BaseModel):
27
+ messages: list[dict[str, Any]] = Field(..., description="Messages generated during the preprocessing of the document")
28
+ json_schema: dict[str, Any] = Field(..., description="Generated JSON Schema for Structured Output OpenAI Completions")
29
+
30
+
31
+ class PreparedRequest(BaseModel):
32
+ method: Literal["POST", "GET", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "CONNECT", "TRACE"]
33
+ url: str
34
+ data: dict | None = None
35
+ params: dict | None = None
36
+ form_data: dict | None = None
37
+ files: dict | List[Tuple[str, Tuple[str, bytes, str]]] | None = None
38
+ idempotency_key: str | None = None
39
+ raise_for_status: bool = False