Vega-Embed is a JavaScript/TypeScript library for embedding interactive Vega and Vega-Lite visualizations into web pages. It provides functions to load specs from URLs or JSON objects, apply patches, render visualizations, and add interactive UI elements for actions like exporting, viewing source, and opening in the Vega Editor. The library supports both direct DOM manipulation (via the `embed` function) and Observable notebook integration (via the `container` function). Architecture-wise, it's a modular library built with Rollup to produce both ESM and UMD formats, featuring clean separation of concerns between spec loading, processing, rendering, and UI generation. The codebase demonstrates strong engineering practices with TypeScript, comprehensive testing, and regular maintenance.
Lumen is an open-source agent framework for chatting with data and building interactive dashboards, built on the HoloViz ecosystem (Panel, hvPlot, Bokeh). It provides a dual interface: a YAML-based declarative dashboard specification system for non-AI use cases, and an AI-powered natural language interface that generates SQL queries and Vega-Lite visualizations from user prompts. The architecture is modular, with clear separation between data sources (files, SQL databases, REST APIs, xarray), data pipelines (filters, transforms, SQL rewrites), views (hvPlot, Vega-Lite, DeckGL, tables), and an AI agent layer (Planner, Coordinator, specialized agents for SQL, visualization, validation, and source ingestion). The AI system supports multiple LLM providers (OpenAI, Anthropic, Google, Ollama, etc.), vector stores for RAG (Numpy, DuckDB, ChromaDB), and a tool system for external API integration. The codebase demonstrates high craftsmanship with reusable patterns like spec-driven component creation (MultiTypeComponent), composable SQL transforms, and a consistent agent/tool abstraction. While primarily an application framework, it includes data pipeline components that could be extracted for data engineering use. The project is actively maintained with extensive test coverage, though its large optional dependency surface and rapid feature velocity introduce some maintenance risk.