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.4.1.tar.gz (345.4 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.4.1-py3-none-any.whl (406.5 kB view details)

Uploaded Python 3

File details

Details for the file geepers_kernel-1.4.1.tar.gz.

File metadata

  • Download URL: geepers_kernel-1.4.1.tar.gz
  • Upload date:
  • Size: 345.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for geepers_kernel-1.4.1.tar.gz
Algorithm Hash digest
SHA256 6d9d682ae2b983077bf90cc7a7ccaa42918d98a5d3d8cbdaba33a1221f7c04f8
MD5 0b177603c3aafe0614e3ab823496b010
BLAKE2b-256 091149e407696c88c1a22cf21dfeddef5813d5b35cef5539c39c2493d16e575a

See more details on using hashes here.

File details

Details for the file geepers_kernel-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: geepers_kernel-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 406.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for geepers_kernel-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51ee831d94d008f3a55fab5ea1e84eaa1f9967ace8929e31a21a6ae996557b83
MD5 b157d9f357bd9cc7f2085db4bff2a098
BLAKE2b-256 2feb7edfbe49ec19e7934e94f295efce2641abe482c921444ed42bd66c1f671c

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