sport‑evo‑summary
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.
Installation
pip install sport_evo_summary
Quick Start
from 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"]
Advanced Usage
Using Your Own LLM
sport_evo_summary accepts a BaseChatModel instance from LangChain.
This lets you plug in any LLM you prefer, such as OpenAI, Anthropic, or Google.
OpenAI
from langchain_openai import ChatOpenAI
from sport_evo_summary import sport_evo_summary
llm = ChatOpenAI()
response = sport_evo_summary(user_input, llm=llm)
Anthropic
from langchain_anthropic import ChatAnthropic
from sport_evo_summary import sport_evo_summary
llm = ChatAnthropic()
response = sport_evo_summary(user_input, llm=llm)
Google Generative AI
from langchain_google_genai import ChatGoogleGenerativeAI
from sport_evo_summary import sport_evo_summary
llm = ChatGoogleGenerativeAI()
response = sport_evo_summary(user_input, llm=llm)
Using a Custom LLM7 API Key
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/
Function Signature
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. |
Internals
- 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.
Contribution & Issues
If you encounter bugs or have feature requests, please open an issue on GitHub:
https://github.com/chigwell/sport-evo-summary/issues
Author
- Eugene Evstafev
- Email: hi@euegne.plus
- GitHub: chigwell
Happy analyzing! 🚀
Metadata
Release files for sport-evo-summary 2025.12.21182358
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sport_evo_summary-2025.12.21182358.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sport_evo_summary-2025.12.21182358-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / sport_evo_summary-2025.12.21182358.tar.gz
| Download URL | sport_evo_summary-2025.12.21182358.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db7f26b392e5af1d94d118346b4c6f59d1019b61bad79107f3e4bf886d0f974d
|
|
BLAKE2b-256 checksum How to use checksums |
879cb6540b715f9d2fd0b9d6b1d10dd60fc2754447b42342c8fe5160cbe052c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / sport_evo_summary-2025.12.21182358-py3-none-any.whl
| Download URL | sport_evo_summary-2025.12.21182358-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1807a62c46a279cb2c29146b7a3f66535973d69241a055534273a7d9ee6f4c4f
|
|
BLAKE2b-256 checksum How to use checksums |
8739eec402063be71e8ff39eaf99be7a78d491698df00685c74cd8b6003943fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|