Skip to main content

thematic-structurizer

PyPI version License: MIT Downloads LinkedIn

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 to ChatLLM7.
  • api_key: Optional string; API key for ChatLLM7.

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

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)

Source distribution for thematic-structurizer 2025.12.21114407
File Size Uploaded
thematic_structurizer-2025.12.21114407.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thematic-structurizer 2025.12.21114407
File Interpreter ABI Platform
thematic_structurizer-2025.12.21114407-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

2025.12.21114407 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page