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 | Provenance | Actions |
|---|---|---|---|---|
| schedule_llm_query-2025.12.20185642.tar.gz | 4.4 kB | Without provenance | Details for schedule_llm_query-2025.12.20185642.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| schedule_llm_query-2025.12.20185642-py3-none-any.whl | Python 3 | none | any | Details for schedule_llm_query-2025.12.20185642-py3-none-any.whl |
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
|
Security for schedule-llm-query 2025.12.20185642
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.