A new package that transforms unstructured text about sports evolution into a structured summary. Users input text describing changes in a sport, and the package returns a standardized breakdown of ke
Project description
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! 🚀
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sport_evo_summary-2025.12.21182358.tar.gz.
File metadata
- Download URL: sport_evo_summary-2025.12.21182358.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db7f26b392e5af1d94d118346b4c6f59d1019b61bad79107f3e4bf886d0f974d
|
|
| MD5 |
954db34bd1242f89495c678b90a71cf3
|
|
| BLAKE2b-256 |
879cb6540b715f9d2fd0b9d6b1d10dd60fc2754447b42342c8fe5160cbe052c4
|
File details
Details for the file sport_evo_summary-2025.12.21182358-py3-none-any.whl.
File metadata
- Download URL: sport_evo_summary-2025.12.21182358-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1807a62c46a279cb2c29146b7a3f66535973d69241a055534273a7d9ee6f4c4f
|
|
| MD5 |
93e819ac40fbe99ff7822e9562daad97
|
|
| BLAKE2b-256 |
8739eec402063be71e8ff39eaf99be7a78d491698df00685c74cd8b6003943fc
|