schedule-llm-query
A Python package for processing natural language queries about event schedules (e.g., FOSDEM 2026) and extracting structured information like session times, locations, and descriptions using an LLM.
📌 Overview
This package interprets user queries (e.g., "What talks are on Sunday afternoon?") and extracts structured schedule data using pattern matching. The LLM is guided by a system prompt to format responses in a predefined structure, ensuring consistent and reliable output for applications.
🚀 Installation
pip install schedule-llm-query
🔧 Usage
Basic Usage (Default LLM: ChatLLM7)
from schedule_llm_query import schedule_llm_query
response = schedule_llm_query(
user_input="What talks are on Sunday afternoon?",
api_key="your_llm7_api_key" # Optional (falls back to env var LLM7_API_KEY)
)
print(response)
Custom LLM Integration
You can replace the default ChatLLM7 with any LangChain-compatible LLM (e.g., OpenAI, Anthropic, Google).
Example: Using OpenAI
from langchain_openai import ChatOpenAI
from schedule_llm_query import schedule_llm_query
llm = ChatOpenAI()
response = schedule_llm_query(
user_input="Show me all Python talks on Saturday",
llm=llm
)
print(response)
Example: Using Anthropic
from langchain_anthropic import ChatAnthropic
from schedule_llm_query import schedule_llm_query
llm = ChatAnthropic()
response = schedule_llm_query(
user_input="List all keynote sessions",
llm=llm
)
print(response)
Example: Using Google Generative AI
from langchain_google_genai import ChatGoogleGenerativeAI
from schedule_llm_query import schedule_llm_query
llm = ChatGoogleGenerativeAI()
response = schedule_llm_query(
user_input="What are the talks at Hall 1?",
llm=llm
)
print(response)
🔑 API Key
- Default LLM: Uses
ChatLLM7(from langchain_llm7). - Free Tier: Sufficient for most use cases (rate limits apply).
- Custom Key: Pass via
api_keyparameter orLLM7_API_KEYenvironment variable.schedule_llm_query(user_input="...", api_key="your_api_key")
- Get a Key: Register at llm7.io.
📝 Parameters
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
The natural language query to process (e.g., "What talks are on Sunday?"). |
api_key |
Optional[str] |
LLM7 API key (optional if using env var or custom LLM). |
llm |
Optional[BaseChatModel] |
Custom LangChain LLM (e.g., ChatOpenAI). Falls back to ChatLLM7 if None. |
🔄 Output Structure
The package returns structured data matching the regex pattern:
[
{
"title": "Talk Title",
"time": "14:00-15:30",
"location": "Hall 2",
"description": "Brief description..."
}
]
📦 Dependencies
langchain-core(for LLM integration)langchain_llm7(default LLM, optional for custom LLM)llmatch(for pattern extraction)
📜 License
MIT
📢 Support & Issues
For bugs/feature requests, open an issue on GitHub.
👤 Author
Eugene Evstafev 📧 hi@euegne.plus 🔗 LinkedIn
Metadata
Release files for schedule-llm-query 2025.12.20185642
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| schedule_llm_query-2025.12.20185642.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schedule_llm_query-2025.12.20185642-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.4 kB
Release files / schedule_llm_query-2025.12.20185642.tar.gz
| Download URL | schedule_llm_query-2025.12.20185642.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8d6ecbc86a0e14e54d174c0a949224dc9249315dff76d0452eb32504a390d64
|
|
BLAKE2b-256 checksum How to use checksums |
924b55b95c8146e2a200987011028e2c4c241bb1157cdac23a5e81a8519967e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / schedule_llm_query-2025.12.20185642-py3-none-any.whl
| Download URL | schedule_llm_query-2025.12.20185642-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01109187b5bd21bbadc95be7ca2d29c0c9d834d0c3068e90f353fcfbbb33364b
|
|
BLAKE2b-256 checksum How to use checksums |
324aea5cb3340a60e1ccaca6ce688e14d22a7aa4fc3dcdec8459fb4cd90c1ec0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|