thematic-structurizer
Thematic Structurizer is a Python package designed to process user-provided text related to historical or thematic content—such as summaries, descriptions, or analyses of topics like persuasion techniques from antiquity—and extract structured, pattern-validated data. It leverages large language models (LLMs) to generate responses in a predefined format, ensuring consistency and reliability through regex validation and retry mechanisms.
Installation
Install the package via pip:
pip install thematic_structurizer
Usage
Here's an example of how to use the package:
from thematic_structurizer import thematic_structurizer
# Example user input
user_input = "Describe the persuasion techniques used by Cicero in ancient Rome."
# Calling the function with default LLM (ChatLLM7)
response = thematic_structurizer(user_input)
print(response)
Custom LLM Support
The package uses ChatLLM7 from langchain_llm7 by default. You can provide your own language model instance to customize the behavior. Supported models include those from OpenAI, Anthropic, Google Generative AI, etc.
Example with a custom LLM:
from langchain_openai import ChatOpenAI
from thematic_structurizer import thematic_structurizer
llm = ChatOpenAI()
response = thematic_structurizer(user_input, llm=llm)
Alternatively, using other providers:
from langchain_anthropic import ChatAnthropic
from thematic_structurizer import thematic_structurizer
llm = ChatAnthropic()
response = thematic_structurizer(user_input, llm=llm)
API Key Management
For the default ChatLLM7, you can set your API key via environment variable:
export LLM7_API_KEY='your_api_key'
or pass it directly:
response = thematic_structurizer(user_input, api_key='your_api_key')
To obtain a free API key, register at https://token.llm7.io/.
Function Details
def thematic_structurizer(
user_input: str,
api_key: Optional[str] = None,
llm: Optional[BaseChatModel] = None
) -> List[str]:
user_input: The text to process, such as a description, summary, or analysis.llm: An optional language model instance; defaults toChatLLM7.api_key: Optional string; API key forChatLLM7.
This function processes the input, invokes the LLM, and returns a list of extracted data that match the predefined pattern validation.
License
This project is maintained by Eugene Evstafev. For issues or contributions, please visit https://github.com/chigwell/thematic-structurizer.
Contact
- Email: hi@eugene.plus
- GitHub: chigwell
Metadata
Release files for thematic-structurizer 2025.12.21114407
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| thematic_structurizer-2025.12.21114407.tar.gz | 4.5 kB | Without provenance | Details for thematic_structurizer-2025.12.21114407.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| thematic_structurizer-2025.12.21114407-py3-none-any.whl | Python 3 | none | any | Details for thematic_structurizer-2025.12.21114407-py3-none-any.whl |
Total release size: 9.8 kB
Release files / thematic_structurizer-2025.12.21114407.tar.gz
| Download URL | thematic_structurizer-2025.12.21114407.tar.gz |
|---|---|
| Size | 4.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba38a8c929bac1e3fb4633353c5ccc66aa4e29ee5fe1ac0bb17c200835f84b72
|
|
BLAKE2b-256 checksum How to use checksums |
2a784db15a792f43af0b9c0707d3aaa9700cdcf67f013f9f268b928614f34c55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / thematic_structurizer-2025.12.21114407-py3-none-any.whl
| Download URL | thematic_structurizer-2025.12.21114407-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0fde17f4476e136c2967692ca7189717223a426d42478bed7e4d5e320935067b
|
|
BLAKE2b-256 checksum How to use checksums |
421a1f23230dc2279b04dd91651fb6305e3d5f7718e15f0d445215b18551e0a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Security for thematic-structurizer 2025.12.21114407
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.