# Unstructured Platform SDK
<p align="center">
<img src="https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/img/unstructured_logo.png" alt="Unstructured.io Logo" width="150"/>
</p>
A Python SDK for the [Unstructured Platform API](https://docs.unstructured.io/platform/api/overview).
Unstructured Platform is an enterprise-grade ETL (Extract, Transform, Load) platform designed specifically for Large Language Models (LLMs). It provides a no-code UI and production-ready infrastructure to help organizations transform raw, unstructured data into LLM-ready formats. With over 18 million downloads and used by more than 50,000 companies, Unstructured Platform enables data scientists and engineers to spend less time collecting and cleaning data, and more time on modeling and analysis.
This SDK was developed by [One Minute AI](https://www.oneminuteai.com) to make it easier for Python developers to interact with the Unstructured Platform API. One Minute AI allows you to **transform your data** into **custom AI assistants and apps** in seconds, powered by Unstructured's enterprise data engine.
<!-- Hidden
<div align="right">
<img src="https://cdn.prod.website-files.com/66ea86f2d3f578eb9978c2c4/66ea8cd694fdca03dcd51d54_OneMinuteLogo%202.svg" alt="One Minute AI Logo" width="100"/>
</div>
-->
- [Unstructured Platform SDK](#unstructured-platform-sdk)
- [Installation](#installation)
- [Usage](#usage)
- [Initialize the client](#initialize-the-client)
- [Working with Source Connectors](#working-with-source-connectors)
- [Working with Destination Connectors](#working-with-destination-connectors)
- [Working with Workflows](#working-with-workflows)
- [Working with Jobs](#working-with-jobs)
## Installation
```bash
pip install unstructured-platform
```
## Usage
### Initialize the client
```python
from unstructured_platform import UnstructuredPlatformClient
client = UnstructuredPlatformClient(api_key="your-api-key")
```
### Working with Source Connectors
```python
from unstructured_platform.models import PublicSourceConnectorType
# List source connectors
sources = client.sources.list()
# Create a source connector
source = client.sources.create(
name="My S3 Source",
type=PublicSourceConnectorType.S3,
config={
"remote_url": "s3://my-bucket/documents/",
"key": "your-access-key",
"secret": "your-secret-key",
},
)
# Get a source connector
source = client.sources.get(source_id="source-id")
# Update a source connector
updated_source = client.sources.update(
source_id="source-id",
config={
"remote_url": "s3://my-bucket/new-prefix/",
},
)
# Delete a source connector
client.sources.delete(source_id="source-id")
```
### Working with Destination Connectors
```python
from unstructured_platform.models import PublicDestinationConnectorType
# List destination connectors
destinations = client.destinations.list()
# Create a destination connector
destination = client.destinations.create(
name="My Pinecone Destination",
type=PublicDestinationConnectorType.PINECONE,
config={
"environment": "us-west1-gcp",
"api_key": "your-pinecone-api-key",
"index_name": "documents",
"namespace": "default",
},
)
# Get a destination connector
destination = client.destinations.get(destination_id="destination-id")
# Update a destination connector
updated_destination = client.destinations.update(
destination_id="destination-id",
config={
"namespace": "new-namespace",
},
)
# Delete a destination connector
client.destinations.delete(destination_id="destination-id")
```
### Working with Workflows
```python
from unstructured_platform.models import WorkflowAutoStrategy
# List workflows
workflows = client.workflows.list()
# Create a workflow
workflow = client.workflows.create(
name="My Daily Workflow",
source_id="source-id",
destination_id="destination-id",
workflow_type=WorkflowAutoStrategy.BASIC,
schedule="0 0 * * *", # Daily at midnight
)
# Get a workflow
workflow = client.workflows.get(workflow_id="workflow-id")
# Update a workflow
updated_workflow = client.workflows.update(
workflow_id="workflow-id",
name="New Workflow Name",
)
# Delete a workflow
client.workflows.delete(workflow_id="workflow-id")
# Run a workflow
workflow = client.workflows.run(workflow_id="workflow-id")
```
### Working with Jobs
```python
# List jobs
jobs = client.jobs.list()
# Get a job
job = client.jobs.get(job_id="job-id")
# Cancel a job
client.jobs.cancel(job_id="job-id")
```
Raw data
{
"_id": null,
"home_page": null,
"name": "unstructured-platform",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "api, documents, sdk, text extraction, unstructured",
"author": null,
"author_email": "One Minute AI <info@oneminuteai.com>",
"download_url": "https://files.pythonhosted.org/packages/3c/d9/fb05d2b9a5923ba3e53e253b2d020ee709de4ce7e1ba544073ac8ca12c27/unstructured_platform-0.4.3.tar.gz",
"platform": null,
"description": "# Unstructured Platform SDK\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/img/unstructured_logo.png\" alt=\"Unstructured.io Logo\" width=\"150\"/>\n</p>\n\nA Python SDK for the [Unstructured Platform API](https://docs.unstructured.io/platform/api/overview).\n\nUnstructured Platform is an enterprise-grade ETL (Extract, Transform, Load) platform designed specifically for Large Language Models (LLMs). It provides a no-code UI and production-ready infrastructure to help organizations transform raw, unstructured data into LLM-ready formats. With over 18 million downloads and used by more than 50,000 companies, Unstructured Platform enables data scientists and engineers to spend less time collecting and cleaning data, and more time on modeling and analysis.\n\nThis SDK was developed by [One Minute AI](https://www.oneminuteai.com) to make it easier for Python developers to interact with the Unstructured Platform API. One Minute AI allows you to **transform your data** into **custom AI assistants and apps** in seconds, powered by Unstructured's enterprise data engine.\n\n<!-- Hidden\n<div align=\"right\">\n <img src=\"https://cdn.prod.website-files.com/66ea86f2d3f578eb9978c2c4/66ea8cd694fdca03dcd51d54_OneMinuteLogo%202.svg\" alt=\"One Minute AI Logo\" width=\"100\"/>\n</div>\n-->\n\n- [Unstructured Platform SDK](#unstructured-platform-sdk)\n - [Installation](#installation)\n - [Usage](#usage)\n - [Initialize the client](#initialize-the-client)\n - [Working with Source Connectors](#working-with-source-connectors)\n - [Working with Destination Connectors](#working-with-destination-connectors)\n - [Working with Workflows](#working-with-workflows)\n - [Working with Jobs](#working-with-jobs)\n\n## Installation\n\n```bash\npip install unstructured-platform\n```\n\n## Usage\n\n### Initialize the client\n\n```python\nfrom unstructured_platform import UnstructuredPlatformClient\n\nclient = UnstructuredPlatformClient(api_key=\"your-api-key\")\n```\n\n### Working with Source Connectors\n\n```python\nfrom unstructured_platform.models import PublicSourceConnectorType\n\n# List source connectors\nsources = client.sources.list()\n\n# Create a source connector\nsource = client.sources.create(\n name=\"My S3 Source\",\n type=PublicSourceConnectorType.S3,\n config={\n \"remote_url\": \"s3://my-bucket/documents/\",\n \"key\": \"your-access-key\",\n \"secret\": \"your-secret-key\",\n },\n)\n\n# Get a source connector\nsource = client.sources.get(source_id=\"source-id\")\n\n# Update a source connector\nupdated_source = client.sources.update(\n source_id=\"source-id\",\n config={\n \"remote_url\": \"s3://my-bucket/new-prefix/\",\n },\n)\n\n# Delete a source connector\nclient.sources.delete(source_id=\"source-id\")\n```\n\n### Working with Destination Connectors\n\n```python\nfrom unstructured_platform.models import PublicDestinationConnectorType\n\n# List destination connectors\ndestinations = client.destinations.list()\n\n# Create a destination connector\ndestination = client.destinations.create(\n name=\"My Pinecone Destination\",\n type=PublicDestinationConnectorType.PINECONE,\n config={\n \"environment\": \"us-west1-gcp\",\n \"api_key\": \"your-pinecone-api-key\",\n \"index_name\": \"documents\",\n \"namespace\": \"default\",\n },\n)\n\n# Get a destination connector\ndestination = client.destinations.get(destination_id=\"destination-id\")\n\n# Update a destination connector\nupdated_destination = client.destinations.update(\n destination_id=\"destination-id\",\n config={\n \"namespace\": \"new-namespace\",\n },\n)\n\n# Delete a destination connector\nclient.destinations.delete(destination_id=\"destination-id\")\n```\n\n### Working with Workflows\n\n```python\nfrom unstructured_platform.models import WorkflowAutoStrategy\n\n# List workflows\nworkflows = client.workflows.list()\n\n# Create a workflow\nworkflow = client.workflows.create(\n name=\"My Daily Workflow\",\n source_id=\"source-id\",\n destination_id=\"destination-id\",\n workflow_type=WorkflowAutoStrategy.BASIC,\n schedule=\"0 0 * * *\", # Daily at midnight\n)\n\n# Get a workflow\nworkflow = client.workflows.get(workflow_id=\"workflow-id\")\n\n# Update a workflow\nupdated_workflow = client.workflows.update(\n workflow_id=\"workflow-id\",\n name=\"New Workflow Name\",\n)\n\n# Delete a workflow\nclient.workflows.delete(workflow_id=\"workflow-id\")\n\n# Run a workflow\nworkflow = client.workflows.run(workflow_id=\"workflow-id\")\n```\n\n### Working with Jobs\n\n```python\n# List jobs\njobs = client.jobs.list()\n\n# Get a job\njob = client.jobs.get(job_id=\"job-id\")\n\n# Cancel a job\nclient.jobs.cancel(job_id=\"job-id\")\n```",
"bugtrack_url": null,
"license": null,
"summary": "Python SDK for the Unstructured Platform API",
"version": "0.4.3",
"project_urls": null,
"split_keywords": [
"api",
" documents",
" sdk",
" text extraction",
" unstructured"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "286b09d905408154c5ad70220eedbf9d257097835adb91a4295febd373ec9687",
"md5": "479d08b1205cd857516da7caa0627660",
"sha256": "88e921c993d7768dbe72307f4b066252d3f51d24a4592a1d2a042299d8bf4a35"
},
"downloads": -1,
"filename": "unstructured_platform-0.4.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "479d08b1205cd857516da7caa0627660",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10583,
"upload_time": "2025-01-25T22:58:27",
"upload_time_iso_8601": "2025-01-25T22:58:27.537363Z",
"url": "https://files.pythonhosted.org/packages/28/6b/09d905408154c5ad70220eedbf9d257097835adb91a4295febd373ec9687/unstructured_platform-0.4.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3cd9fb05d2b9a5923ba3e53e253b2d020ee709de4ce7e1ba544073ac8ca12c27",
"md5": "2428ec1e160d45359aaaebc22a773c52",
"sha256": "ab770fb66385c1f0da77e40c4431ac7b928dc7f4934ba84c8bb5a7009318593d"
},
"downloads": -1,
"filename": "unstructured_platform-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "2428ec1e160d45359aaaebc22a773c52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10682,
"upload_time": "2025-01-25T22:58:29",
"upload_time_iso_8601": "2025-01-25T22:58:29.647020Z",
"url": "https://files.pythonhosted.org/packages/3c/d9/fb05d2b9a5923ba3e53e253b2d020ee709de4ce7e1ba544073ac8ca12c27/unstructured_platform-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-25 22:58:29",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "unstructured-platform"
}