Foundation library for the geepers ecosystem: LLM providers, config management, data fetching, and utilities
Project description
geepers-kernel
Core library for the geepers ecosystem. Unified interface to 10+ LLM providers, multi-agent orchestration patterns, 15+ structured data API clients, and MCP server infrastructure.
Documentation: dr.eamer.dev/geepers
Author: Luke Steuber
Install
pip install geepers-kernel
# With all provider dependencies
pip install geepers-kernel[all]
# Specific providers
pip install geepers-kernel[anthropic,xai,openai]
Or from source:
git clone https://github.com/lukeslp/geepers-kernel.git
cd geepers-kernel
pip install -e .[all]
Quick start
LLM providers
from llm_providers import ProviderFactory
provider = ProviderFactory.create_provider('xai', model='grok-3')
response = provider.complete(messages=[
{'role': 'user', 'content': 'Explain quantum computing'}
])
print(response)
Multi-agent research (Dream Cascade)
from orchestration import DreamCascadeOrchestrator
orchestrator = DreamCascadeOrchestrator(
provider_name='anthropic',
model='claude-sonnet-4'
)
result = await orchestrator.execute(
task="LLM safety research 2023-2025",
enable_drummer=True, # mid-level synthesis
enable_camina=True # executive summary
)
print(result.final_report)
Data fetching
from data_fetching import ClientFactory
arxiv = ClientFactory.create_client('arxiv')
papers = arxiv.search(query='quantum computing', max_results=10)
census = ClientFactory.create_client('census_acs')
data = census.get_demographics(geography='state:06')
LLM providers
| Provider | Chat | Vision | Image Gen |
|---|---|---|---|
| Anthropic (Claude) | ✓ | ✓ | , |
| OpenAI (GPT-4) | ✓ | ✓ | ✓ |
| xAI (Grok) | ✓ | ✓ | ✓ |
| Mistral | ✓ | ✓ | , |
| Cohere | ✓ | , | , |
| Google (Gemini) | ✓ | ✓ | , |
| Perplexity | ✓ | ✓ | , |
| Groq (Llama) | ✓ | , | , |
| HuggingFace | ✓ | ✓ | ✓ |
| DeepSeek | ✓ | , | , |
Complexity router selects models automatically based on task requirements.
Orchestration patterns
| Pattern | What it does |
|---|---|
dream-cascade |
Hierarchical: 8 parallel workers → Drummer synthesis → Camina executive summary |
dream-swarm |
Parallel: 5+ domain-specific agents (Academic, News, Technical, Financial) |
sequential |
Staged execution with per-step handlers |
conditional |
Runtime branch selection |
iterative |
Refinement loops with success predicates |
Data sources (15+)
- Academic: arXiv, Semantic Scholar, Open Library, Wikipedia
- News: NewsAPI, YouTube
- Code: GitHub repos, commits, users
- Government: US Census ACS, SAIPE poverty estimates
- Science: NASA (APOD, Mars photos, satellite imagery)
- Weather: current conditions, forecasts, air quality
- Finance: stock quotes, company fundamentals
MCP servers
Four MCP servers expose the library's capabilities via stdio/HTTP:
geepers-unified, orchestration (Dream Cascade, Dream Swarm)geepers-providers, direct LLM provider accessgeepers-data, data fetching toolsgeepers-websearch, web search (Brave, SerpAPI)
See MCP Guide for configuration.
Package structure
geepers-kernel/
├── llm_providers/ # provider implementations + ProviderFactory
├── orchestration/ # Dream Cascade, Dream Swarm, Sequential, Conditional, Iterative
├── mcp/ # MCP server implementations
├── data_fetching/ # structured API clients (dream_of_*)
├── document_generation/ # PDF, DOCX, Markdown output
├── config.py # multi-source configuration
└── naming.py # naming registry
Naming convention
| Pattern | Prefix | Examples |
|---|---|---|
| Orchestration workflows | dream-* |
dream-cascade, dream-swarm |
| Data tools | dream_of_* |
dream_of_arxiv, dream_of_census_acs |
| Management tools | geepers_* |
geepers_status, geepers_cancel |
Configuration
# Core providers (at least one required)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
XAI_API_KEY=xai-...
# Optional providers
MISTRAL_API_KEY=...
COHERE_API_KEY=...
GEMINI_API_KEY=...
PERPLEXITY_API_KEY=...
GROQ_API_KEY=...
# Data sources
YOUTUBE_API_KEY=...
GITHUB_TOKEN=ghp_...
NASA_API_KEY=...
NEWS_API_KEY=...
# Infrastructure
REDIS_HOST=localhost
REDIS_PORT=6379
Configuration precedence: defaults → .env → environment variables → CLI args
Testing
pytest
pytest --cov=. --cov-report=html
pytest tests/test_providers.py
License
MIT © Luke Steuber
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 geepers_kernel-1.3.0.tar.gz.
File metadata
- Download URL: geepers_kernel-1.3.0.tar.gz
- Upload date:
- Size: 312.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da191088fbabbf07436aa0e19fa0530f7aef6ac0d422da713a69ae136f1aa315
|
|
| MD5 |
ecef4589224cf113b9981d06a10d9337
|
|
| BLAKE2b-256 |
c74a7182d6483eec1c41391552ee3447e11412fac9709a994bb774c9b1223db2
|
File details
Details for the file geepers_kernel-1.3.0-py3-none-any.whl.
File metadata
- Download URL: geepers_kernel-1.3.0-py3-none-any.whl
- Upload date:
- Size: 379.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
598d39819e64399fbf0f76c81479fdf1c5ed20e8c3068fe35ef081076d291c77
|
|
| MD5 |
03fbc8e3969f154b41c3cae89d71b201
|
|
| BLAKE2b-256 |
4d0b3d09c4b532732d714a69b6435b80f06339b041053d77ed87da65b6e20d0c
|