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.
Files changed (51) hide show
  1. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/PKG-INFO +1 -1
  2. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/pyproject.toml +1 -1
  3. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/README.md +27 -20
  4. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/eval_segmentation.json +16 -28
  5. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/uv.lock +1 -1
  6. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.github/workflows/ci.yml +0 -0
  7. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.github/workflows/publish.yml +0 -0
  8. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.gitignore +0 -0
  9. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.pre-commit-config.yaml +0 -0
  10. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/.python-version +0 -0
  11. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/LICENSE +0 -0
  12. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/README.md +0 -0
  13. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/08-Lambda-Calculus.pptx +0 -0
  14. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/adversarial.pdf +0 -0
  15. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/bid_evaluation.docx +0 -0
  16. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/book_review.ppt +0 -0
  17. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/book_store.xls +0 -0
  18. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/chi_hind.png +0 -0
  19. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/how_to_read.doc +0 -0
  20. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/normandy.epub +0 -0
  21. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/sample-1-sheet.xlsx +0 -0
  22. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/thinkpython.pdf +0 -0
  23. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/data/vibe.html +0 -0
  24. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/__init__.py +0 -0
  25. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/cli.py +0 -0
  26. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/client.py +0 -0
  27. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/exceptions.py +0 -0
  28. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/mimetypes.py +0 -0
  29. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/models.py +0 -0
  30. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/datalab_sdk/settings.py +0 -0
  31. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/README.md +0 -0
  32. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/__init__.py +0 -0
  33. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/test_live_api.py +0 -0
  34. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/integration/test_readme_examples.py +0 -0
  35. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/poetry.lock +0 -0
  36. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/pytest.ini +0 -0
  37. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/end_to_end_workflow.py +0 -0
  38. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/1_get_step_types.py +0 -0
  39. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/2_get_workflows.py +0 -0
  40. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/3_create_workflow.py +0 -0
  41. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/4_execute_workflow.py +0 -0
  42. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/5_poll_workflow.py +0 -0
  43. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_api_tutorial/README.md +0 -0
  44. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/README.md +0 -0
  45. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/segment_parallel_extract.json +0 -0
  46. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/recipes/workflows/workflow_definitions/slack_alert.json +0 -0
  47. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/__init__.py +0 -0
  48. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/conftest.py +0 -0
  49. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_cli_simple.py +0 -0
  50. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_client_methods.py +0 -0
  51. {datalab_python_sdk-0.1.9 → datalab_python_sdk-0.1.10}/tests/test_workflows.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datalab-python-sdk
3
- Version: 0.1.9
3
+ Version: 0.1.10
4
4
  Summary: SDK for the Datalab document intelligence API
5
5
  Author-email: Datalab Team <hi@datalab.to>
6
6
  License-Expression: MIT
@@ -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.9"
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/compare_segmentation.json
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: Parallel Marker vs Reducto Comparison
37
- ============================================================
38
-
39
- Total steps: 5
40
-
41
- ├── marker_parse
42
- │ └─ step_key: marker_parse
43
- │ └── marker_segment
44
- │ └─ step_key: marker_segment
45
-
46
- └── reducto_upload
47
- └─ step_key: api_request
48
- └── reducto_parse
49
- └─ step_key: api_request
50
- └── reducto_split
51
- └─ step_key: api_request
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 single command:
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/create_workflow.py \
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://v1.api.reducto.ai/parse",
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
- "document_id": "{{reducto_upload.output.body.document_id}}"
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": 600
40
+ "timeout_seconds": 900
58
41
  },
59
- "depends_on": ["reducto_upload"]
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://v1.api.reducto.ai/split",
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
- "document_id": "{{reducto_parse.output.body.document_id}}",
72
- "mode": "page"
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": ["reducto_parse"]
68
+ "depends_on": []
81
69
  }
82
70
  ]
83
71
  }
@@ -169,7 +169,7 @@ wheels = [
169
169
 
170
170
  [[package]]
171
171
  name = "datalab-python-sdk"
172
- version = "0.1.9"
172
+ version = "0.1.10"
173
173
  source = { editable = "." }
174
174
  dependencies = [
175
175
  { name = "aiohttp" },