retab 0.0.37__tar.gz → 0.0.39__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 (130) hide show
  1. {retab-0.0.37 → retab-0.0.39}/PKG-INFO +72 -72
  2. {retab-0.0.37 → retab-0.0.39}/README.md +71 -71
  3. {retab-0.0.37 → retab-0.0.39}/pyproject.toml +1 -1
  4. retab-0.0.39/retab/__init__.py +4 -0
  5. {retab-0.0.37 → retab-0.0.39}/retab/_resource.py +5 -5
  6. retab-0.0.39/retab/_utils/_model_cards/anthropic.yaml +59 -0
  7. retab-0.0.39/retab/_utils/_model_cards/auto.yaml +43 -0
  8. retab-0.0.39/retab/_utils/_model_cards/gemini.yaml +117 -0
  9. retab-0.0.39/retab/_utils/_model_cards/openai.yaml +301 -0
  10. retab-0.0.39/retab/_utils/_model_cards/xai.yaml +28 -0
  11. retab-0.0.39/retab/_utils/ai_models.py +138 -0
  12. {retab-0.0.37 → retab-0.0.39}/retab/_utils/chat.py +20 -20
  13. {retab-0.0.37 → retab-0.0.39}/retab/_utils/responses.py +14 -14
  14. {retab-0.0.37 → retab-0.0.39}/retab/_utils/usage/usage.py +5 -4
  15. {retab-0.0.37 → retab-0.0.39}/retab/client.py +22 -22
  16. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/client.py +2 -2
  17. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/completions.py +26 -26
  18. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/completions_stream.py +27 -27
  19. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/responses.py +11 -11
  20. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/responses_stream.py +15 -15
  21. retab-0.0.39/retab/resources/documents/client.py +550 -0
  22. {retab-0.0.37 → retab-0.0.39}/retab/resources/documents/extractions.py +39 -39
  23. {retab-0.0.37 → retab-0.0.39}/retab/resources/evaluations/documents.py +5 -5
  24. {retab-0.0.37 → retab-0.0.39}/retab/resources/evaluations/iterations.py +7 -7
  25. {retab-0.0.37 → retab-0.0.39}/retab/resources/jsonlUtils.py +7 -7
  26. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/endpoints.py +2 -2
  27. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/links.py +2 -2
  28. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/logs.py +2 -2
  29. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/mailboxes.py +2 -2
  30. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/outlook.py +2 -2
  31. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/client.py +9 -9
  32. {retab-0.0.37 → retab-0.0.39}/retab/resources/usage.py +4 -4
  33. retab-0.0.39/retab/types/ai_models.py +173 -0
  34. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/mailboxes.py +1 -1
  35. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/webhooks.py +3 -3
  36. {retab-0.0.37 → retab-0.0.39}/retab/types/chat.py +1 -1
  37. {retab-0.0.37 → retab-0.0.39}/retab/types/completions.py +10 -10
  38. retab-0.0.39/retab/types/documents/__init__.py +3 -0
  39. {retab-0.0.37 → retab-0.0.39}/retab/types/documents/create_messages.py +2 -2
  40. {retab-0.0.37 → retab-0.0.39}/retab/types/documents/extractions.py +19 -19
  41. retab-0.0.39/retab/types/documents/parse.py +32 -0
  42. {retab-0.0.37 → retab-0.0.39}/retab/types/extractions.py +4 -4
  43. {retab-0.0.37 → retab-0.0.39}/retab/types/logs.py +2 -2
  44. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/object.py +3 -3
  45. {retab-0.0.37 → retab-0.0.39}/retab.egg-info/PKG-INFO +72 -72
  46. {retab-0.0.37 → retab-0.0.39}/retab.egg-info/SOURCES.txt +6 -0
  47. retab-0.0.39/setup.py +29 -0
  48. {retab-0.0.37 → retab-0.0.39}/tests/test_automations_links.py +2 -2
  49. {retab-0.0.37 → retab-0.0.39}/tests/test_automations_mailboxes.py +3 -3
  50. {retab-0.0.37 → retab-0.0.39}/tests/test_documents_api.py +16 -16
  51. {retab-0.0.37 → retab-0.0.39}/tests/test_evaluations.py +18 -18
  52. {retab-0.0.37 → retab-0.0.39}/tests/test_preprocessor.py +2 -2
  53. retab-0.0.37/retab/__init__.py +0 -4
  54. retab-0.0.37/retab/_utils/ai_models.py +0 -100
  55. retab-0.0.37/retab/resources/documents/client.py +0 -269
  56. retab-0.0.37/retab/types/ai_models.py +0 -645
  57. retab-0.0.37/retab/types/secrets/__init__.py +0 -0
  58. retab-0.0.37/setup.py +0 -28
  59. {retab-0.0.37 → retab-0.0.39}/retab/_utils/__init__.py +0 -0
  60. {retab-0.0.37 → retab-0.0.39}/retab/_utils/benchmarking.py +0 -0
  61. {retab-0.0.37 → retab-0.0.39}/retab/_utils/display.py +0 -0
  62. {retab-0.0.37 → retab-0.0.39}/retab/_utils/json_schema.py +0 -0
  63. {retab-0.0.37 → retab-0.0.39}/retab/_utils/mime.py +0 -0
  64. {retab-0.0.37 → retab-0.0.39}/retab/_utils/stream_context_managers.py +0 -0
  65. {retab-0.0.37 → retab-0.0.39}/retab/_utils/usage/__init__.py +0 -0
  66. {retab-0.0.37 → retab-0.0.39}/retab/py.typed +0 -0
  67. {retab-0.0.37 → retab-0.0.39}/retab/resources/__init__.py +0 -0
  68. {retab-0.0.37 → retab-0.0.39}/retab/resources/consensus/__init__.py +0 -0
  69. {retab-0.0.37 → retab-0.0.39}/retab/resources/documents/__init__.py +0 -0
  70. {retab-0.0.37 → retab-0.0.39}/retab/resources/evals.py +0 -0
  71. {retab-0.0.37 → retab-0.0.39}/retab/resources/evaluations/__init__.py +0 -0
  72. {retab-0.0.37 → retab-0.0.39}/retab/resources/evaluations/client.py +0 -0
  73. {retab-0.0.37 → retab-0.0.39}/retab/resources/files.py +0 -0
  74. {retab-0.0.37 → retab-0.0.39}/retab/resources/finetuning.py +0 -0
  75. {retab-0.0.37 → retab-0.0.39}/retab/resources/models.py +0 -0
  76. {retab-0.0.37 → retab-0.0.39}/retab/resources/openai_example.py +0 -0
  77. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/__init__.py +0 -0
  78. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/__init__.py +0 -0
  79. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/client.py +0 -0
  80. {retab-0.0.37 → retab-0.0.39}/retab/resources/processors/automations/tests.py +0 -0
  81. {retab-0.0.37 → retab-0.0.39}/retab/resources/prompt_optimization.py +0 -0
  82. {retab-0.0.37 → retab-0.0.39}/retab/resources/schemas.py +0 -0
  83. {retab-0.0.37 → retab-0.0.39}/retab/resources/secrets/__init__.py +0 -0
  84. {retab-0.0.37 → retab-0.0.39}/retab/resources/secrets/client.py +0 -0
  85. {retab-0.0.37 → retab-0.0.39}/retab/resources/secrets/external_api_keys.py +0 -0
  86. {retab-0.0.37 → retab-0.0.39}/retab/resources/secrets/webhook.py +0 -0
  87. {retab-0.0.37 → retab-0.0.39}/retab/types/__init__.py +0 -0
  88. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/__init__.py +0 -0
  89. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/cron.py +0 -0
  90. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/endpoints.py +0 -0
  91. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/links.py +0 -0
  92. {retab-0.0.37 → retab-0.0.39}/retab/types/automations/outlook.py +0 -0
  93. {retab-0.0.37 → retab-0.0.39}/retab/types/browser_canvas.py +0 -0
  94. {retab-0.0.37 → retab-0.0.39}/retab/types/consensus.py +0 -0
  95. {retab-0.0.37 → retab-0.0.39}/retab/types/db/__init__.py +0 -0
  96. {retab-0.0.37 → retab-0.0.39}/retab/types/db/annotations.py +0 -0
  97. {retab-0.0.37 → retab-0.0.39}/retab/types/db/files.py +0 -0
  98. {retab-0.0.37 → retab-0.0.39}/retab/types/documents/correct_orientation.py +0 -0
  99. {retab-0.0.37 → retab-0.0.39}/retab/types/evals.py +0 -0
  100. {retab-0.0.37 → retab-0.0.39}/retab/types/evaluations/__init__.py +0 -0
  101. {retab-0.0.37 → retab-0.0.39}/retab/types/evaluations/documents.py +0 -0
  102. {retab-0.0.37 → retab-0.0.39}/retab/types/evaluations/iterations.py +0 -0
  103. {retab-0.0.37 → retab-0.0.39}/retab/types/evaluations/model.py +0 -0
  104. {retab-0.0.37 → retab-0.0.39}/retab/types/events.py +0 -0
  105. {retab-0.0.37 → retab-0.0.39}/retab/types/inference_settings.py +0 -0
  106. {retab-0.0.37/retab/types/documents → retab-0.0.39/retab/types/jobs}/__init__.py +0 -0
  107. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/base.py +0 -0
  108. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/batch_annotation.py +0 -0
  109. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/evaluation.py +0 -0
  110. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/finetune.py +0 -0
  111. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/prompt_optimization.py +0 -0
  112. {retab-0.0.37 → retab-0.0.39}/retab/types/jobs/webcrawl.py +0 -0
  113. {retab-0.0.37 → retab-0.0.39}/retab/types/metrics.py +0 -0
  114. {retab-0.0.37 → retab-0.0.39}/retab/types/mime.py +0 -0
  115. {retab-0.0.37 → retab-0.0.39}/retab/types/modalities.py +0 -0
  116. {retab-0.0.37 → retab-0.0.39}/retab/types/pagination.py +0 -0
  117. {retab-0.0.37 → retab-0.0.39}/retab/types/predictions.py +0 -0
  118. {retab-0.0.37/retab/types/jobs → retab-0.0.39/retab/types/schemas}/__init__.py +0 -0
  119. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/enhance.py +0 -0
  120. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/evaluate.py +0 -0
  121. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/generate.py +0 -0
  122. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/layout.py +0 -0
  123. {retab-0.0.37 → retab-0.0.39}/retab/types/schemas/templates.py +0 -0
  124. {retab-0.0.37/retab/types/schemas → retab-0.0.39/retab/types/secrets}/__init__.py +0 -0
  125. {retab-0.0.37 → retab-0.0.39}/retab/types/secrets/external_api_keys.py +0 -0
  126. {retab-0.0.37 → retab-0.0.39}/retab/types/standards.py +0 -0
  127. {retab-0.0.37 → retab-0.0.39}/retab.egg-info/dependency_links.txt +0 -0
  128. {retab-0.0.37 → retab-0.0.39}/retab.egg-info/requires.txt +0 -0
  129. {retab-0.0.37 → retab-0.0.39}/retab.egg-info/top_level.txt +0 -0
  130. {retab-0.0.37 → retab-0.0.39}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: retab
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: Retab official python library
5
5
  Home-page: https://github.com/Retab-dev/retab
6
6
  Author: Retab
@@ -41,18 +41,18 @@ Requires-Dist: tiktoken
41
41
  Requires-Dist: truststore
42
42
  Requires-Dist: ruff
43
43
 
44
- # UiForm
44
+ # Retab
45
45
 
46
46
  <div align="center" style="margin-bottom: 1em;">
47
47
 
48
- <img src="https://raw.githubusercontent.com/UiForm/uiform/refs/heads/main/assets/uiform-logo.png" alt="UiForm Logo" width="150">
48
+ <img src="https://raw.githubusercontent.com/Retab/retab/refs/heads/main/assets/retab-logo.png" alt="Retab Logo" width="150">
49
49
 
50
50
 
51
51
  *The AI Automation Platform*
52
52
 
53
- Made with love by the team at [UiForm](https://uiform.com) 🤍.
53
+ Made with love by the team at [Retab](https://retab.dev) 🤍.
54
54
 
55
- [Our Website](https://uiform.com) | [Documentation](https://docs.uiform.com/get-started/introduction) | [Discord](https://discord.com/invite/vc5tWRPqag) | [Twitter](https://x.com/uiformAPI)
55
+ [Our Website](https://retab.dev) | [Documentation](https://docs.retab.dev/get-started/introduction) | [Discord](https://discord.com/invite/vc5tWRPqag) | [Twitter](https://x.com/retabdev)
56
56
 
57
57
 
58
58
  </div>
@@ -61,16 +61,16 @@ Made with love by the team at [UiForm](https://uiform.com) 🤍.
61
61
 
62
62
  ## How It Works
63
63
 
64
- UiForm allows you to easily create document processing automations. Here is the general workflow:
64
+ Retab allows you to easily create document processing automations. Here is the general workflow:
65
65
 
66
66
  ```mermaid
67
67
  sequenceDiagram
68
- User ->> UiForm: File Upload
69
- UiForm -->> UiForm: Preprocessing
70
- UiForm ->> AI Provider: Request on your behalf
71
- AI Provider -->> UiForm: Structured Generation
72
- UiForm ->> Webhook: Send result
73
- UiForm ->> User: Send Confirmation
68
+ User ->> Retab: File Upload
69
+ Retab -->> Retab: Preprocessing
70
+ Retab ->> AI Provider: Request on your behalf
71
+ AI Provider -->> Retab: Structured Generation
72
+ Retab ->> Webhook: Send result
73
+ Retab ->> User: Send Confirmation
74
74
  ```
75
75
 
76
76
  ---
@@ -95,17 +95,17 @@ You come with your own API key from your favorite AI provider, and we handle the
95
95
  We currently support [OpenAI](https://platform.openai.com/docs/overview), [Anthropic](https://www.anthropic.com/api), [Gemini](https://aistudio.google.com/prompts/new_chat) and [xAI](https://x.ai/api) models.
96
96
 
97
97
  <p align="center">
98
- <img src="https://raw.githubusercontent.com/UiForm/uiform/refs/heads/main/assets/supported_models.png" alt="Supported Models" width="600">
98
+ <img src="https://raw.githubusercontent.com/Retab/retab/refs/heads/main/assets/supported_models.png" alt="Supported Models" width="600">
99
99
  </p>
100
100
 
101
101
  ---
102
102
 
103
103
  ## Quickstart
104
104
 
105
- Explore our [Playground](https://www.uiform.com/dashboard/playground) and create your first automations easily 🚀!
105
+ Explore our [Playground](https://www.retab.dev/dashboard/playground) and create your first automations easily 🚀!
106
106
 
107
107
  <p align="center">
108
- <img src="https://raw.githubusercontent.com/UiForm/uiform/refs/heads/main/assets/uiform-playground.png" alt="UiForm Playground" width="600">
108
+ <img src="https://raw.githubusercontent.com/Retab/retab/refs/heads/main/assets/retab-playground.png" alt="Retab Playground" width="600">
109
109
  </p>
110
110
 
111
111
  ---
@@ -114,10 +114,10 @@ Explore our [Playground](https://www.uiform.com/dashboard/playground) and create
114
114
 
115
115
  ## Dev Mode 🔧
116
116
 
117
- You need more control? You can access the [Documentation](https://docs.uiform.com/get-started/introduction) of our **Python SDK**.
117
+ You need more control? You can access the [Documentation](https://docs.retab.dev/get-started/introduction) of our **Python SDK**.
118
118
 
119
119
  1. **Setup the Python SDK**
120
- > Install the UiForm Python SDK and configure your API keys to start processing documents with your preferred AI provider.
120
+ > Install the Retab Python SDK and configure your API keys to start processing documents with your preferred AI provider.
121
121
 
122
122
  2. **Create your JSON schema**
123
123
  > Define the structure of the data you want to extract from your documents using our schema format with custom prompting capabilities.
@@ -133,32 +133,32 @@ You need more control? You can access the [Documentation](https://docs.uiform.co
133
133
 
134
134
  ### Step 1: Setup of the Python SDK
135
135
 
136
- To get started, install the `uiform` package using pip:
136
+ To get started, install the `retab` package using pip:
137
137
 
138
138
  ```bash
139
- pip install uiform
139
+ pip install retab
140
140
  ```
141
141
 
142
- Then, [create your API key on uiform.com](https://www.uiform.com).
142
+ Then, [create your API key on retab.dev](https://www.retab.dev).
143
143
 
144
144
  Create another API key by you favorite API key provider.
145
145
 
146
146
  **Reminder**: We currently support [OpenAI](https://platform.openai.com/docs/overview), [Anthropic](https://www.anthropic.com/api), [Gemini](https://aistudio.google.com/prompts/new_chat) and [xAI](https://x.ai/api) models.
147
147
 
148
- As we will use your API key to make requests to OpenAI on your behalf within an automation, you need to store your API key in the UiForm secrets manager:
148
+ As we will use your API key to make requests to OpenAI on your behalf within an automation, you need to store your API key in the Retab secrets manager:
149
149
 
150
150
  ```
151
151
  OPENAI_API_KEY=sk-xxxxxxxxx
152
- UIFORM_API_KEY=sk_uiform_xxxxxxxxx
152
+ RETAB_API_KEY=sk_retab_xxxxxxxxx
153
153
  ```
154
154
 
155
155
  ```bash
156
- import uiform
156
+ import retab
157
157
  import os
158
158
 
159
- uiclient = uiform.UiForm()
159
+ reclient = retab.Retab()
160
160
 
161
- uiclient.secrets.external_api_keys.create(
161
+ reclient.secrets.external_api_keys.create(
162
162
  provider="OpenAI",
163
163
  api_key=os.getenv("OPENAI_API_KEY")
164
164
  )
@@ -167,14 +167,14 @@ uiclient.secrets.external_api_keys.create(
167
167
  #### Process your first document with the create_messages method:
168
168
 
169
169
  ```bash
170
- from uiform import UiForm
170
+ from retab import Retab
171
171
  from openai import OpenAI
172
172
 
173
- # Initialize UiForm client
174
- uiclient = UiForm()
173
+ # Initialize Retab client
174
+ reclient = Retab()
175
175
 
176
176
  # Convert any document into LLM-ready format
177
- doc_msg = uiclient.documents.create_messages(
177
+ doc_msg = reclient.documents.create_messages(
178
178
  document = "invoice.pdf" # Works with PDFs, Excel, emails, etc.
179
179
  )
180
180
 
@@ -196,10 +196,10 @@ We use a standard JSON Schema with custom annotations (`X-SystemPrompt`, `X-Fiel
196
196
 
197
197
  These annotations help guide the LLM’s behavior and improve extraction accuracy.
198
198
 
199
- You can learn more about these in our [JSON Schema documentation](https://docs.uiform.com/get-started/prompting-with-the-JSON-schema).
199
+ You can learn more about these in our [JSON Schema documentation](https://docs.retab.dev/get-started/prompting-with-the-JSON-schema).
200
200
 
201
201
  ```bash
202
- from uiform import UiForm
202
+ from retab import Retab
203
203
  from openai import OpenAI
204
204
  from pydantic import BaseModel, Field, ConfigDict
205
205
 
@@ -225,11 +225,11 @@ class Invoice(BaseModel):
225
225
  )
226
226
 
227
227
  # Process document and extract data
228
- uiclient = UiForm()
229
- doc_msg = uiclient.documents.create_messages(
228
+ reclient = Retab()
229
+ doc_msg = reclient.documents.create_messages(
230
230
  document = "invoice.pdf"
231
231
  )
232
- schema_obj = uiclient.schemas.load(
232
+ schema_obj = reclient.schemas.load(
233
233
  pydantic_model = Invoice
234
234
  )
235
235
 
@@ -244,7 +244,7 @@ completion = client.beta.chat.completions.parse(
244
244
  print("Extracted data:", completion.choices[0].message.parsed)
245
245
 
246
246
  # Validate the response against the original schema if you want to remove the reasoning fields
247
- from uiform._utils.json_schema import filter_auxiliary_fields_json
247
+ from retab._utils.json_schema import filter_auxiliary_fields_json
248
248
  assert completion.choices[0].message.content is not None
249
249
  extraction = schema_obj.pydantic_model.model_validate(
250
250
  filter_auxiliary_fields_json(completion.choices[0].message.content, schema_obj.pydantic_model)
@@ -262,7 +262,7 @@ Below is an example of a simple FastAPI application with a webhook endpoint:
262
262
  ```bash
263
263
  from fastapi import FastAPI, Request
264
264
  from fastapi.responses import JSONResponse
265
- from uiform.types.automations.webhooks import WebhookRequest
265
+ from retab.types.automations.webhooks import WebhookRequest
266
266
  from pydantic import BaseModel, Field, ConfigDict
267
267
 
268
268
  app = FastAPI()
@@ -293,53 +293,53 @@ curl -X POST "http://localhost:8000/webhook" \
293
293
 
294
294
  ### Step 4: Create your automation
295
295
 
296
- Finally, integrate the webhook with your automation system using the `uiform` client.
296
+ Finally, integrate the webhook with your automation system using the `retab` client.
297
297
 
298
298
  This example demonstrates how to create an automation that triggers the webhook when a matching event occurs:
299
299
 
300
300
  ```bash
301
- from uiform import UiForm
301
+ from retab import Retab
302
302
 
303
- # Initialize the UiForm client
304
- uiclient = UiForm()
303
+ # Initialize the Retab client
304
+ reclient = Retab()
305
305
 
306
306
  # Create an automation that uses the webhook URL from Step 2
307
- automation = uiclient.processors.automations.mailboxes.create(
308
- email="invoices@mailbox.uiform.com",
307
+ automation = reclient.processors.automations.mailboxes.create(
308
+ email="invoices@mailbox.retab.dev",
309
309
  model="gpt-4.1-nano",
310
310
  json_schema=Invoice.model_json_schema(), # use the pydantic model to create the json schema
311
311
  webhook_url="https://your-server.com/webhook", # Replace with your actual webhook URL
312
312
  )
313
313
  ```
314
314
 
315
- At any email sent to `invoices@mailbox.uiform.com`, the automation will send a POST request to your FastAPI webhook endpoint, where the payload can be processed.
315
+ At any email sent to `invoices@mailbox.retab.dev`, the automation will send a POST request to your FastAPI webhook endpoint, where the payload can be processed.
316
316
 
317
- You can see the automation you just created on your [dashboard](https://www.uiform.com/dashboard/processors)!
317
+ You can see the automation you just created on your [dashboard](https://www.retab.dev/dashboard/processors)!
318
318
 
319
319
  ### Step 5: Test your automation
320
320
 
321
321
  Finally, you can test the automation rapidly with the test functions of the sdk:
322
322
 
323
323
  ```bash
324
- from uiform import UiForm
324
+ from retab import Retab
325
325
 
326
- # Initialize the UiForm client
327
- uiclient = UiForm()
326
+ # Initialize the Retab client
327
+ reclient = Retab()
328
328
 
329
329
  # If you just want to send a test request to your webhook
330
- log = uiclient.processors.automations.mailboxes.tests.webhook(
331
- email="test-mailbox-local@devmail.uiform.com",
330
+ log = reclient.processors.automations.mailboxes.tests.webhook(
331
+ email="test-mailbox-local@devmail.retab.dev",
332
332
  )
333
333
 
334
334
  # If you want to test the file processing logic:
335
- log = uiclient.processors.automations.mailboxes.tests.process(
336
- email="test-mailbox-local@devmail.uiform.com",
335
+ log = reclient.processors.automations.mailboxes.tests.process(
336
+ email="test-mailbox-local@devmail.retab.dev",
337
337
  document="your_invoice_email.eml"
338
338
  )
339
339
 
340
340
  # If you want to test a full email forwarding
341
- log = uiclient.processors.automations.mailboxes.tests.forward(
342
- email="uiform-quickstart@mailbox.uiform.com",
341
+ log = reclient.processors.automations.mailboxes.tests.forward(
342
+ email="retab-quickstart@mailbox.retab.dev",
343
343
  document="your_invoice_email.eml"
344
344
  )
345
345
  ```
@@ -347,33 +347,33 @@ log = uiclient.processors.automations.mailboxes.tests.forward(
347
347
  > 💡 **Tip:** You can also test your webhook locally by overriding the webhook URL set in the automation.
348
348
 
349
349
  ```bash
350
- from uiform import UiForm
350
+ from retab import Retab
351
351
 
352
- uiclient = UiForm()
352
+ reclient = Retab()
353
353
 
354
354
  # If you just want to send a test request to your webhook
355
- log = uiclient.processors.automations.mailboxes.tests.webhook(
356
- email="test-mailbox-local@devmail.uiform.com",
355
+ log = reclient.processors.automations.mailboxes.tests.webhook(
356
+ email="test-mailbox-local@devmail.retab.dev",
357
357
  webhook_url="http://localhost:8000/webhook" # If you want to try your webhook locally, you can override the webhook url set in the automation
358
358
  )
359
359
  ```
360
360
 
361
361
  And that's it! You can start processing documents at scale!
362
- You have 1000 free requests to get started, and you can [subscribe](https://www.uiform.com) to the pro plan to get more.
362
+ You have 1000 free requests to get started, and you can [subscribe](https://www.retab.dev) to the pro plan to get more.
363
363
 
364
364
  But this minimalistic example is just the beginning.
365
365
 
366
- Continue reading to learn more about how to use UiForm **to its full potential** 🔥.
366
+ Continue reading to learn more about how to use Retab **to its full potential** 🔥.
367
367
 
368
368
  ---
369
369
 
370
370
  ## Go further
371
371
 
372
- - [Prompt Engineering Guide](https://docs.uiform.com/get-started/prompting-with-the-json-schema)
373
- - [General Concepts](https://docs.uiform.com/get-started/General-Concepts)
374
- - [Consensus](https://docs.uiform.com/SDK/General-Concepts#consensus)
375
- - [Create mailboxes](https://docs.uiform.com/SDK/Automations#mailbox)
376
- - [Create links](https://docs.uiform.com/SDK/Automations#link)
372
+ - [Prompt Engineering Guide](https://docs.retab.dev/get-started/prompting-with-the-json-schema)
373
+ - [General Concepts](https://docs.retab.dev/get-started/General-Concepts)
374
+ - [Consensus](https://docs.retab.dev/SDK/General-Concepts#consensus)
375
+ - [Create mailboxes](https://docs.retab.dev/SDK/Automations#mailbox)
376
+ - [Create links](https://docs.retab.dev/SDK/Automations#link)
377
377
  - Finetuning (coming soon)
378
378
  - Prompt optimization (coming soon)
379
379
  - Data-Labelling with our AI-powered annotator (coming soon)
@@ -382,12 +382,12 @@ Continue reading to learn more about how to use UiForm **to its full potential**
382
382
 
383
383
  ## Jupyter Notebooks
384
384
 
385
- You can view minimal notebooks that demonstrate how to use UiForm to process documents:
385
+ You can view minimal notebooks that demonstrate how to use Retab to process documents:
386
386
 
387
- - [Mailbox creation quickstart](https://github.com/UiForm/uiform/blob/main/notebooks/mailboxes_quickstart.ipynb)
388
- - [Upload Links creation quickstart](https://github.com/UiForm/uiform/blob/main/notebooks/links_quickstart.ipynb)
389
- - [Document Extractions quickstart](https://github.com/UiForm/uiform/blob/main/notebooks/Quickstart.ipynb)
390
- - [Document Extractions quickstart - Async](https://github.com/UiForm/uiform/blob/main/notebooks/Quickstart-Async.ipynb)
387
+ - [Mailbox creation quickstart](https://github.com/Retab-dev/retab/blob/main/notebooks/mailboxes_quickstart.ipynb)
388
+ - [Upload Links creation quickstart](https://github.com/Retab-dev/retab/blob/main/notebooks/links_quickstart.ipynb)
389
+ - [Document Extractions quickstart](https://github.com/Retab-dev/retab/blob/main/notebooks/Quickstart.ipynb)
390
+ - [Document Extractions quickstart - Async](https://github.com/Retab-dev/retab/blob/main/notebooks/Quickstart-Async.ipynb)
391
391
 
392
392
  ---
393
393
 
@@ -395,12 +395,12 @@ You can view minimal notebooks that demonstrate how to use UiForm to process doc
395
395
 
396
396
  Let's create the future of document processing together!
397
397
 
398
- Join our [discord community](https://discord.com/invite/vc5tWRPqag) to share tips, discuss best practices, and showcase what you build. Or just [tweet](https://x.com/uiformAPI) at us.
398
+ Join our [discord community](https://discord.com/invite/vc5tWRPqag) to share tips, discuss best practices, and showcase what you build. Or just [tweet](https://x.com/retabdev) at us.
399
399
 
400
- We can't wait to see how you'll use UiForm.
400
+ We can't wait to see how you'll use Retab.
401
401
 
402
402
  - [Discord](https://discord.com/invite/vc5tWRPqag)
403
- - [Twitter](https://x.com/uiformAPI)
403
+ - [Twitter](https://x.com/retabdev)
404
404
 
405
405
 
406
406
  ## Roadmap