Jaseem Jas ba1df894d2 Python 3.9 to 3.12 (#1231)
* python version updated from 3.9 into 3.12

* x2text-service updated with uv and python version 3.12

* x2text-service docker file updated

* Unstract packages updated with uv

* Runner updated with uv

* Promptservice updated with uv

* Platform service updated with uv

* backend service updated with uv

* root pyproject.toml file updated

* sdk version updated in services

* unstract package modules updated based on sdk version:

* docker file update

* pdm lock workflow modified to support uv

* Docs updated based on uv support

* lock automation updated

* snowflake module version updated into 3.14.0

* tox updated to support UV

* tox updated to support UV

* tox updated with pytest

* tox updated with pytest-md-report

* tox updated with module requirements

* python migration from 3.9 to 3.12

* tox updated with module requirements

* runner updated

* Commit uv.lock changes

* runner updated

* Commit uv.lock changes

* pytest.ini added

* x2text-service docker file updated

* pytest.ini removed

* environment updated to test

* docformatter commented on pre-commit

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* some pre-commit issues ignored

* some pre-commit issues ignored

* some pre-commit issues ignored

* some pre-commit issues ignored

* some pre-commit issues ignored

* pre-commit updates

* un used import removed from platfrom service controller

* tox issue fixed

* tox issue fixed

* docker files updated

* backend dockerfile updated

* open installation issue fixed

* Tools docker file updated with base python version 3.12

* python version updated into min 3.12 in pyproject.toml

* linting issue fixed

* uv version upgraded into 0.6.14

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* migrations excluded from ruff

* added PoethePoet task runner

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* feat: Added poe tasks for services (#1248)

* Added poe tasks for services

* reverted FE change made by mistake

* updated tool-sidecar to uv and python to 3.12.9

* minor updates in pyproject descreption

* feat: platform-service logging improvements (#1255)

feat: Used flask util from core to improve logging in platform-service, added core as a dependency to platform-service:

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: Platform-service build issue and numpy issue with Python 3.12 (#1258)

* fix: Platform-service build and numpy issue with Py 3.12

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix: Removed backend dockerfile install statements for numpy

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* minor: Handled scenario when cost is not calculated due to no usage

* minor: Corrected content shown for workflow input

* fix: Minor fixes, used gthread for prompt-service, runner

* Commit uv.lock changes

* Removed unused line in tool dockerfile

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Chandrasekharan M <chandrasekharan@zipstack.com>
Co-authored-by: Chandrasekharan M <117059509+chandrasekharan-zipstack@users.noreply.github.com>
Co-authored-by: ali-zipstack <muhammad.ali@zipstack.com>
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-01 13:33:21 +05:30
2025-04-23 15:27:59 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2024-02-25 16:19:36 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2024-03-20 14:24:20 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30
2024-04-03 14:01:00 +05:30
2025-04-24 16:07:02 +05:30
2025-04-24 16:07:02 +05:30

Unstract

No-code LLM Platform to launch APIs and ETL Pipelines to structure unstructured documents

uv CLA assistant pre-commit.ci status Quality Gate Status Bugs Code Smells Coverage Duplicated Lines (%)

🤖 Prompt Studio

Prompt Studio's primary reason for existence is so you can develop the necessary prompts for document data extraction super efficiently. It is a purpose-built environment that makes this not just easy for you—but, lot of fun! The document sample, its variants, the prompts you're developing, outputs from different LLMs, the schema you're developing, costing details of the extraction and various tools that let you measure the effectiveness of your prompts are just a click away and easily accessible. Prompt Studio is designed for effective and high speed development and iteration of prompts for document data extraction. Welcome to IDP 2.0!

img Prompt Studio

🧘‍♀️ Three step nirvana with Workflow Studio

Automate critical business processes that involve complex documents with a human in the loop. Go beyond RPA with the power of Large Language Models.

🌟 Step 1: Add documents to no-code Prompt Studio and do prompt engineering to extract required fields
🌟 Step 2: Configure Prompt Studio project as API deployment or configure input source and output destination for ETL Pipeline
🌟 Step 3: Deploy Workflows as unstructured data APIs or unstructured data ETL Pipelines!

img Using Unstract

🚀 Getting started

System Requirements

  • 8GB RAM (recommended)

Prerequisites

  • Linux or MacOS (Intel or M-series)
  • Docker
  • Docker Compose (if you need to install it separately)
  • Git

Next, either download a release or clone this repo and do the following:

./run-platform.sh
Now visit http://frontend.unstract.localhost in your browser
Use username and password unstract to login

That's all there is to it!

Follow these steps to change the default username and password. See user guide for more details on managing the platform.

Another really quick way to experience Unstract is by signing up for our hosted version. It comes with a 14 day free trial!

Quick Start Guide

Unstract comes well documented. You can get introduced to the basics of Unstract, and learn how to connect various systems like LLMs, Vector Databases, Embedding Models and Text Extractors to it. The easiest way to wet your feet is to go through our Quick Start Guide where you actually get to do some prompt engineering in Prompt Studio and launch an API to structure varied credit card statements!

🤝 Ecosystem support

LLM Providers

Provider Status
OpenAI Working
Google VertexAI, Gemini Pro Working
Azure OpenAI Working
Anthropic Working
Ollama Working
Bedrock Working
Google PaLM Working
Anyscale Working
Mistral AI Working

Vector Databases

Provider Status
Qdrant Working
Weaviate Working
Pinecone Working
PostgreSQL Working
Milvus Working

Embeddings

Provider Status
OpenAI Working
Azure OpenAI Working
Google PaLM Working
Ollama Working
VertexAI Working
Bedrock Working

Text Extractors

Provider Status
Unstract LLMWhisperer V2 Working
Unstructured.io Community Working
Unstructured.io Enterprise Working
LlamaIndex Parse Working

ETL Sources

Provider Status
AWS S3 Working
MinIO Working
Google Cloud Storage Working
Azure Cloud Storage Working
Google Drive Working
Dropbox Working
SFTP Working
Box 🗓️ Coming soon!
HTTP/HTTPS 🗓️ Coming soon!

ETL Destinations

Provider Status
Snowflake Working
Amazon Redshift Working
Google BigQuery Working
PostgreSQL Working
MySQL Working
MariaDB Working
Microsoft SQL Server Working
Oracle Working

🙌 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for further details to get started easily.

👋 Join the LLM-powered automation community

🚨 Backup encryption key

Do copy the value of ENCRYPTION_KEY config in either backend/.env or platform-service/.env file to a secure location.

Adapter credentials are encrypted by the platform using this key. Its loss or change will make all existing adapters inaccessible!

📊 A note on analytics

In full disclosure, Unstract integrates Posthog to track usage analytics. As you can inspect the relevant code here, we collect the minimum possible metrics. Posthog can be disabled if desired by setting REACT_APP_ENABLE_POSTHOG to false in the frontend's .env file.

Description
No description provided
Readme 32 MiB
Languages
Python 81.3%
JavaScript 15.5%
Shell 1.4%
CSS 1.3%
Dockerfile 0.4%