Skip to main content

Foundation library for the geepers ecosystem: LLM providers, config management, data fetching, and utilities

Project description

geepers-kernel

License: MIT Python 3.8+ PyPI

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 access
  • geepers-data , data fetching tools
  • geepers-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geepers_kernel-1.3.0.tar.gz (312.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geepers_kernel-1.3.0-py3-none-any.whl (379.3 kB view details)

Uploaded Python 3

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

Hashes for geepers_kernel-1.3.0.tar.gz
Algorithm Hash digest
SHA256 da191088fbabbf07436aa0e19fa0530f7aef6ac0d422da713a69ae136f1aa315
MD5 ecef4589224cf113b9981d06a10d9337
BLAKE2b-256 c74a7182d6483eec1c41391552ee3447e11412fac9709a994bb774c9b1223db2

See more details on using hashes here.

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

Hashes for geepers_kernel-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 598d39819e64399fbf0f76c81479fdf1c5ed20e8c3068fe35ef081076d291c77
MD5 03fbc8e3969f154b41c3cae89d71b201
BLAKE2b-256 4d0b3d09c4b532732d714a69b6435b80f06339b041053d77ed87da65b6e20d0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page