Skip to content

Architecture

Foo is organized as a modular Streamlit application backed by source modules that can also be used directly from Python.

Module responsibilities

Module Responsibility
core.py Shared validation and response-result container.
loaders.py File, document, cloud, notebook, and search loader wrappers.
scrapers.py HTML extraction and lightweight page scraping.
fetchers.py Web, public-data, science, geospatial, environmental, and retriever wrappers.
generators.py LLM provider wrappers and generation workflows.
data.py SQLite and vector-store data helpers.
models.py Pydantic schemas used by application workflows.
writers.py Markdown writer utilities for persisted results.
config.py Environment variables, constants, mode maps, and session-state defaults.
app.py Streamlit user interface and workflow orchestration.