datalab-python-sdk 0.1.9__tar.gz → 0.1.10__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.
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/PKG-INFO +1 -1
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/pyproject.toml +1 -1
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/README.md +27 -20
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/eval_segmentation.json +16 -28
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/uv.lock +1 -1
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.github/workflows/ci.yml +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.github/workflows/publish.yml +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.gitignore +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.pre-commit-config.yaml +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.python-version +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/LICENSE +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/README.md +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/08-Lambda-Calculus.pptx +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/adversarial.pdf +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/bid_evaluation.docx +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/book_review.ppt +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/book_store.xls +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/chi_hind.png +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/how_to_read.doc +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/normandy.epub +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/sample-1-sheet.xlsx +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/thinkpython.pdf +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/vibe.html +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/__init__.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/cli.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/client.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/exceptions.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/mimetypes.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/models.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/settings.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/README.md +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/__init__.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/test_live_api.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/test_readme_examples.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/poetry.lock +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/pytest.ini +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/end_to_end_workflow.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/1_get_step_types.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/2_get_workflows.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/3_create_workflow.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/4_execute_workflow.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/5_poll_workflow.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/README.md +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/README.md +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/segment_parallel_extract.json +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/slack_alert.json +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/__init__.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/conftest.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_cli_simple.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_client_methods.py +0 -0
- {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_workflows.py +0 -0
|
@@ -7,7 +7,7 @@ readme = "README.md"
|
|
|
7
7
|
license = "MIT"
|
|
8
8
|
repository = "https://github.com/datalab-to/sdk"
|
|
9
9
|
keywords = ["datalab", "sdk", "document-intelligence", "api"]
|
|
10
|
-
version = "0.1.
|
|
10
|
+
version = "0.1.10"
|
|
11
11
|
description = "SDK for the Datalab document intelligence API"
|
|
12
12
|
requires-python = ">=3.10"
|
|
13
13
|
dependencies = [
|
|
@@ -27,28 +27,33 @@ Get your API key from: https://www.datalab.to/app/keys
|
|
|
27
27
|
Before running a workflow, you can visualize its structure:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
datalab visualize-workflow --definition workflow_definitions/
|
|
30
|
+
datalab visualize-workflow --definition recipes/workflows/workflow_definitions/segment_parallel_extract.json
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
**Output:**
|
|
34
34
|
```
|
|
35
|
-
|
|
36
|
-
Workflow:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
35
|
+
======================================================================
|
|
36
|
+
Workflow: Parse, Segment, and Parallel Extract
|
|
37
|
+
======================================================================
|
|
38
|
+
|
|
39
|
+
Layer 0 (start):
|
|
40
|
+
• parse (marker_parse)
|
|
41
|
+
|
|
|
42
|
+
v
|
|
43
|
+
|
|
44
|
+
Layer 1:
|
|
45
|
+
• segment (marker_segment)
|
|
46
|
+
← depends on: parse
|
|
47
|
+
|
|
|
48
|
+
v
|
|
49
|
+
|
|
50
|
+
Layer 2 (end):
|
|
51
|
+
• extract_item4 (marker_extract)
|
|
52
|
+
← depends on: segment
|
|
53
|
+
• extract_item5 (marker_extract)
|
|
54
|
+
← depends on: segment
|
|
55
|
+
• extract_item16e (marker_extract)
|
|
56
|
+
← depends on: segment
|
|
52
57
|
```
|
|
53
58
|
|
|
54
59
|
This helps you understand the workflow and dependencies before execution. If you're making a custom workflow, this can come in handy to sanity check since those JSON files can quickly get complicated!
|
|
@@ -66,7 +71,7 @@ python recipes/workflows/end_to_end_workflow.py \
|
|
|
66
71
|
--definition workflow_definitions/my_workflow.json \
|
|
67
72
|
--file_url https://example.com/doc.pdf
|
|
68
73
|
```
|
|
69
|
-
This
|
|
74
|
+
This script:
|
|
70
75
|
1. Loads the workflow definition
|
|
71
76
|
2. Creates the workflow
|
|
72
77
|
3. Executes it with your file
|
|
@@ -76,7 +81,7 @@ This single command:
|
|
|
76
81
|
You can optionally create just the workflow (without executing it) using the example script (which shows you how to integrate it into your own python code) like this:
|
|
77
82
|
|
|
78
83
|
```bash
|
|
79
|
-
python recipes/workflows/workflow_api_tutorial/
|
|
84
|
+
python recipes/workflows/workflow_api_tutorial/3_create_workflow.py \
|
|
80
85
|
--definition workflow_definitions/my_workflow.json
|
|
81
86
|
```
|
|
82
87
|
|
|
@@ -88,6 +93,8 @@ datalab create-workflow \
|
|
|
88
93
|
--steps workflow_definitions/my_workflow.json
|
|
89
94
|
```
|
|
90
95
|
|
|
96
|
+
The scripts in `workflow_api_tutorial/` are code samples that will help you integrate each operation into your own python code.
|
|
97
|
+
|
|
91
98
|
## Getting Help
|
|
92
99
|
|
|
93
100
|
Reach out at support@datalab.to or create a github issue if there are any questions or bugs!
|
|
@@ -18,58 +18,46 @@
|
|
|
18
18
|
},
|
|
19
19
|
"depends_on": ["marker_parse"]
|
|
20
20
|
},
|
|
21
|
-
{
|
|
22
|
-
"step_key": "api_request",
|
|
23
|
-
"unique_name": "reducto_upload",
|
|
24
|
-
"settings": {
|
|
25
|
-
"url": "https://v1.api.reducto.ai/upload",
|
|
26
|
-
"method": "POST",
|
|
27
|
-
"headers": {
|
|
28
|
-
"Content-Type": "application/json"
|
|
29
|
-
},
|
|
30
|
-
"body": {
|
|
31
|
-
"document_url": "{{_internal.file_url}}"
|
|
32
|
-
},
|
|
33
|
-
"auth": {
|
|
34
|
-
"type": "bearer",
|
|
35
|
-
"token": "YOUR_REDUCTO_API_KEY"
|
|
36
|
-
},
|
|
37
|
-
"timeout_seconds": 300
|
|
38
|
-
},
|
|
39
|
-
"depends_on": []
|
|
40
|
-
},
|
|
41
21
|
{
|
|
42
22
|
"step_key": "api_request",
|
|
43
23
|
"unique_name": "reducto_parse",
|
|
44
24
|
"settings": {
|
|
45
|
-
"url": "https://
|
|
25
|
+
"url": "https://platform.reducto.ai/parse",
|
|
46
26
|
"method": "POST",
|
|
47
27
|
"headers": {
|
|
48
28
|
"Content-Type": "application/json"
|
|
49
29
|
},
|
|
50
30
|
"body": {
|
|
51
|
-
"
|
|
31
|
+
"input": "{{_internal.file_url}}",
|
|
32
|
+
"retrieval": {
|
|
33
|
+
"chunking": "page"
|
|
34
|
+
}
|
|
52
35
|
},
|
|
53
36
|
"auth": {
|
|
54
37
|
"type": "bearer",
|
|
55
38
|
"token": "YOUR_REDUCTO_API_KEY"
|
|
56
39
|
},
|
|
57
|
-
"timeout_seconds":
|
|
40
|
+
"timeout_seconds": 900
|
|
58
41
|
},
|
|
59
|
-
"depends_on": [
|
|
42
|
+
"depends_on": []
|
|
60
43
|
},
|
|
61
44
|
{
|
|
62
45
|
"step_key": "api_request",
|
|
63
46
|
"unique_name": "reducto_split",
|
|
64
47
|
"settings": {
|
|
65
|
-
"url": "https://
|
|
48
|
+
"url": "https://platform.reducto.ai/split",
|
|
66
49
|
"method": "POST",
|
|
67
50
|
"headers": {
|
|
68
51
|
"Content-Type": "application/json"
|
|
69
52
|
},
|
|
70
53
|
"body": {
|
|
71
|
-
"
|
|
72
|
-
"
|
|
54
|
+
"input": "{{_internal.file_url}}",
|
|
55
|
+
"split_description": [
|
|
56
|
+
{
|
|
57
|
+
"name": "content_sections",
|
|
58
|
+
"description": "Main content sections of the document"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
73
61
|
},
|
|
74
62
|
"auth": {
|
|
75
63
|
"type": "bearer",
|
|
@@ -77,7 +65,7 @@
|
|
|
77
65
|
},
|
|
78
66
|
"timeout_seconds": 300
|
|
79
67
|
},
|
|
80
|
-
"depends_on": [
|
|
68
|
+
"depends_on": []
|
|
81
69
|
}
|
|
82
70
|
]
|
|
83
71
|
}
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
{datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/end_to_end_workflow.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|