sport‑evo‑summary is a lightweight Python package that transforms unstructured text about sports evolution into a standardized, structured summary.
It pulls out key aspects such as rules, equipment, culture, and performance metrics, enabling sports analysts, journalists, and enthusiasts to quickly identify and compare the most significant shifts in a sport’s landscape.
pip install sport_evo_summaryfrom sport_evo_summary import sport_evo_summary
# Your raw text about a sport’s evolution
user_input = """
Over the last decade, soccer has introduced VAR to reduce errors in officiating.
Players now use lighter, aerodynamic boots which enhance speed,
and the game’s pace has increased by an average of 15% compared to ten years ago.
"""
# Call the function (uses the default LLM7 if no `llm` or `api_key` provided)
summary = sport_evo_summary(user_input)
print(summary)
# Example output: ["RULES: VAR implementation", "EQUIPMENT: Aerodynamic boots", "PERFORMANCE: 15% faster pace"]sport_evo_summary accepts a BaseChatModel instance from LangChain.
This lets you plug in any LLM you prefer, such as OpenAI, Anthropic, or Google.
from langchain_openai import ChatOpenAI
from sport_evo_summary import sport_evo_summary
llm = ChatOpenAI()
response = sport_evo_summary(user_input, llm=llm)from langchain_anthropic import ChatAnthropic
from sport_evo_summary import sport_evo_summary
llm = ChatAnthropic()
response = sport_evo_summary(user_input, llm=llm)from langchain_google_genai import ChatGoogleGenerativeAI
from sport_evo_summary import sport_evo_summary
llm = ChatGoogleGenerativeAI()
response = sport_evo_summary(user_input, llm=llm)By default, the package uses ChatLLM7 from the langchain_llm7 module, with rate limits from the free tier.
If you need higher limits, pass your own key via the api_key argument or set the LLM7_API_KEY environment variable.
# via argument
response = sport_evo_summary(user_input, api_key="YOUR_API_KEY")
# or via environment variable
import os
os.environ["LLM7_API_KEY"] = "YOUR_API_KEY"
response = sport_evo_summary(user_input)You can get a free key at https://token.llm7.io/
sport_evo_summary(
user_input: str,
api_key: Optional[str] = None,
llm: Optional[BaseChatModel] = None
) -> List[str]| Parameter | Type | Description |
|---|---|---|
user_input |
str |
Raw text describing changes in a sport. |
llm |
Optional[BaseChatModel] |
Your own LangChain LLM instance. If omitted, the default ChatLLM7 is used. |
api_key |
Optional[str] |
LLM7 API key for authentication. Set it via the environment variable if not provided. |
- Uses the
llmatchhelper to filter the LLM’s response by a pre‑defined regex pattern (patternfrom.prompts). - The
system_promptandhuman_promptguide the model to produce a concise, structured list. - Returns a
List[str]of extracted data entries.
If you encounter bugs or have feature requests, please open an issue on GitHub:
https://github.com/chigwell/sport-evo-summary/issues
- Eugene Evstafev
- Email: hi@euegne.plus
- GitHub: chigwell
Happy analyzing! 🚀