Text-Snippet-Summarizer
Extract structured, concise summaries from news headlines and brief texts using pattern matching and LLM interactions.
This package helps researchers, journalists, and analysts quickly categorize and understand complex domain-specific issues (e.g., environmental crises, economic policies, geopolitics) by summarizing raw textual snippets. It avoids processing full documents, multimedia, or URLs, focusing on rapid, structured insights for decision-making or reporting.
🚀 Features
- Pattern-based extraction for structured summaries
- LLM-powered summarization with configurable models
- Lightweight – works with short text snippets
- Flexible LLM integration (supports OpenAI, Anthropic, Google, etc.)
- Default LLM7 integration (free tier sufficient for most use cases)
📦 Installation
pip install text_snippet_summarizer
🔧 Usage
Basic Usage (Default LLM7)
from text_snippet_summarizer import text_snippet_summarizer
user_input = "Climate change impacts: rising temperatures, extreme weather events, and biodiversity loss."
response = text_snippet_summarizer(user_input)
print(response)
Custom LLM Integration
Using OpenAI
from langchain_openai import ChatOpenAI
from text_snippet_summarizer import text_snippet_summarizer
llm = ChatOpenAI()
response = text_snippet_summarizer(user_input, llm=llm)
Using Anthropic
from langchain_anthropic import ChatAnthropic
from text_snippet_summarizer import text_snippet_summarizer
llm = ChatAnthropic()
response = text_snippet_summarizer(user_input, llm=llm)
Using Google Generative AI
from langchain_google_genai import ChatGoogleGenerativeAI
from text_snippet_summarizer import text_snippet_summarizer
llm = ChatGoogleGenerativeAI()
response = text_snippet_summarizer(user_input, llm=llm)
🔑 API Key Configuration
- Default: Uses
LLM7_API_KEYfrom environment variables. - Manual override: Pass
api_keydirectly:response = text_snippet_summarizer(user_input, api_key="your_api_key_here")
- Get a free LLM7 API key: Register here
📝 Function Signature
text_snippet_summarizer(
user_input: str,
api_key: Optional[str] = None,
llm: Optional[BaseChatModel] = None
) -> List[str]
user_input: Raw text snippet to summarize.api_key(optional): LLM7 API key (defaults toLLM7_API_KEYenv var).llm(optional): Custom LangChain LLM (e.g.,ChatOpenAI,ChatAnthropic).
📌 Notes
- Rate Limits: LLM7 free tier is sufficient for most use cases.
- Output: Returns a list of structured summary points matching predefined patterns.
- Dependencies: Uses
langchain_llm7(default) or anyBaseChatModelfrom LangChain.
📢 Issues & Support
Report bugs or feature requests: 🔗 GitHub Issues
👤 Author
Eugene Evstafev (@chigwell) 📧 hi@euegne.plus
Metadata
Release files for text-snippet-summarizer 2025.12.21113112
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| text_snippet_summarizer-2025.12.21113112.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| text_snippet_summarizer-2025.12.21113112-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.6 kB
Release files / text_snippet_summarizer-2025.12.21113112.tar.gz
| Download URL | text_snippet_summarizer-2025.12.21113112.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
506d9cf0c2f011ecb80ee81bd067145e7ea0b2066a7ed20c49f7d98889963b10
|
|
BLAKE2b-256 checksum How to use checksums |
d4c34161058becdf8adcc1b69dcb2ef258965431c621f02597af2b53566b1351
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / text_snippet_summarizer-2025.12.21113112-py3-none-any.whl
| Download URL | text_snippet_summarizer-2025.12.21113112-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7b3951df20ebb27cb9de8dd54bf91f5134dffebbd89c1c2c5b2007049216ff5
|
|
BLAKE2b-256 checksum How to use checksums |
e14d61203b696813eb4c5cf31da9cb8391f5e0ce24d4074f568a98851f200ec1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|