Unistruct
Extract structured information from unstructured text inputs with ease.
Unistruct is a Python package that takes unstructured text, such as project descriptions, meeting notes, or customer feedback, and converts it into actionable data with key details like project name, duration, milestones, and resources required.
Installation
Get started with Unistruct by installing it with pip:
bash
pip install unistruct
Usage
Unistruct uses the ChatLLM7 from langchain_llm7 by default, but you can pass your own LL.M instance using the llm parameter.
from unistruct import unistruct
import os
user_input = ".......
response = unistruct(user_input)
Using your own LLM instance
To use a different LLM instance, such as the OpenAI or Anthropic models, you can pass your own instance using the llm parameter.
from langchain_openai import ChatOpenAI
from unistruct import unistruct
llm = ChatOpenAI()
response = unistruct(user_input, llm=llm)
Or with Anthropic:
from langchain_anthropic import ChatAnthropic
from unistruct import unistruct
llm = ChatAnthropic()
response = unistruct(user_input, llm=llm)
Or with Google Generative AI:
from langchain_google_genai import ChatGoogleGenerativeAI
from unistruct import unistruct
llm = ChatGoogleGenerativeAI()
response = unistruct(user_input, llm=llm)
Environment Variables
You can set your LLM7 API key as an environment variable LLM7_API_KEY to use the higher rate limits for the LLM7 free tier.
export LLM7_API_KEY="your_api_key"
Or, you can pass the API key directly using the api_key parameter.
response = unistruct(user_input, api_key="your_api_key")
Support and Discuss
Head over to the GitHub issues page to report any issues or discuss Unistruct: https://github.com/chigwell/unistruct
Author
Eugene Evstafev (hi@euegne.plus)
License
Unistruct is released under the MIT License.
Version History
Check the CHANGELOG for the latest changes.
Thanks
Thanks to the langchain_llm7 and langchain_openai packages for the underlying LLM functionality.
Metadata
Release files for unistruct 2025.12.22083127
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unistruct-2025.12.22083127.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unistruct-2025.12.22083127-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / unistruct-2025.12.22083127.tar.gz
| Download URL | unistruct-2025.12.22083127.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e0aca05c3c43d99edaebf3bcf63493cf146e43b0d149ff1bd3975d759ff72d2
|
|
BLAKE2b-256 checksum How to use checksums |
308eebc22b0212bfa2d8eedadaad5b68bd89c85de368abda5fc4fe2b5308e62c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / unistruct-2025.12.22083127-py3-none-any.whl
| Download URL | unistruct-2025.12.22083127-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9dfccf036c5a964bde9a98576c35319d953539e16ea539478ca572469872a67b
|
|
BLAKE2b-256 checksum How to use checksums |
bacf161b9b22ae68104a22267d183e8b79c5ac475fb11f52dd3d3da4403fd912
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|