Skip to main content

histextractor

PyPI version License: MIT Downloads LinkedIn

histextractor is a lightweight Python package that extracts and structures key historical facts from natural‑language descriptions of historical events.
Given a text passage such as a summary of the Lend‑Lease program during World War II, the package returns a list of structured strings containing the main participants, key actions, outcomes, and notable controversies. The output follows a consistent format, making it ideal for educational tools, research databases, or historical analysis platforms.


📦 Installation

pip install histextractor

🚀 Quick Start

from histextractor import histextractor

user_input = """
The Lend‑Lease program was a U.S. policy during World War II that supplied Allied nations
with military aid. It involved the United States sending vehicles, weapons, and supplies
to the United Kingdom, the Soviet Union, China, and others. This assistance was crucial
in sustaining Allied forces before the U.S. formally entered the war.
"""

# Use the default ChatLLM7
response = histextractor(user_input)

for idx, item in enumerate(response, 1):
    print(f"{idx}. {item}")

📚 How histextractor Works

  1. LLM Choice

    • By default, the package uses ChatLLM7 from langchain_llm7.
    • You can overwrite this by passing any langchain compatible BaseChatModel.
  2. API Key

    • If you do not specify an api_key, the function will look for the environment variable LLM7_API_KEY.
    • If that is also missing, it will fall back to the string "None", which still triggers the credentials that the free tier of LLM7 provides.
  3. Output Format

    • The function returns a List[str].
    • Each entry in the list follows the regex pattern defined in pattern.py, ensuring consistent structure.

🔌 Custom LLM Examples

Using OpenAI

from langchain_openai import ChatOpenAI
from histextractor import histextractor

llm = ChatOpenAI()
response = histextractor(user_input, llm=llm)

Using Anthropic

from langchain_anthropic import ChatAnthropic
from histextractor import histextractor

llm = ChatAnthropic()
response = histextractor(user_input, llm=llm)

Using Google Gemini

from langchain_google_genai import ChatGoogleGenerativeAI
from histextractor import histextractor

llm = ChatGoogleGenerativeAI()
response = histextractor(user_input, llm=llm)

⚙️ Rate Limits & API Keys

  • LLM7 Free Tier rate limits are sufficient for most use cases.
  • For higher limits, provide your own API key via:
    • Environment variable: export LLM7_API_KEY=your_key_here
    • Parameter: histextractor(user_input, api_key="your_key_here")
  • Obtain a free API key at: https://token.llm7.io/

🐛 Issues & Feedback

Please file issues at: https://github.com/chigwell/histextractor/issues


👤 Author


Metadata

Release files for histextractor 2025.12.21165426

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for histextractor 2025.12.21165426
File Size Uploaded
histextractor-2025.12.21165426.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for histextractor 2025.12.21165426
File Interpreter ABI Platform
histextractor-2025.12.21165426-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / histextractor-2025.12.21165426.tar.gz

Download URL histextractor-2025.12.21165426.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
30149b32cb9a7eb5de9827aa8ccfa36e799c7afbe90c32d0cfde12a4951425be
BLAKE2b-256 checksum
How to use checksums
ed182036e94a739538d7a4a29f8e3e087b3ca50b58f52f47fdb6a9900e9dc639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release files / histextractor-2025.12.21165426-py3-none-any.whl

Download URL histextractor-2025.12.21165426-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a929e536a47412f0c416a6f02792510b27e1f5915a673327d091f6c9fbda3922
BLAKE2b-256 checksum
How to use checksums
10b9487fc87493dc0812d18699809c478570464b9bc622c955fadb39b99509de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

2025.12.21165426 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