Why Squirrels?
Want to serve well-described dynamic datasets to AI agents? Squirrels has you covered! Simply create a Squirrels project by writing data models in SQL and configurations in YAML (and/or Python for both). Activate the API server with the CLI and use the built-in MCP server for AI agents to interact with your data safely and efficiently. No need to reinvent the wheel for building agent tools, serving dataset metadata, and creating token-efficient responses for tabular data!Highlights
- 🤖 AI-Ready Architecture: Built-in MCP server for serving dataset metadata and results to AI agents via token-efficient MCP tools.
- 🚀 Low-Code REST API Development: Create data analytics APIs using basic data engineering skills without extensive AI or backend engineering expertise.
- 🔌 Connect Any Database: Connect to any database or data warehouse that is supported by SQLAlchemy, ConnectorX, or ADBC.
- 📊 Flexible Data Modeling: Write data models that can reference other data models using Jinja-templated SQL or Python.
- 🔗 Multi-Database Joins: Connect to multiple databases in a single project and join data across sources in a single dataset!
- ⚙️ Interactive Parameters: Create dynamic datasets and dashboards that respond to user inputs and selections.
- 🔒 Built-in Security: Authentication and dataset permissions, with either Squirrels-managed users/API keys or external OAuth-based authentication.
- 💻 Simple Developer Experience: Quick setup with CLI commands
pip install squirrelsandsqrl init.
Example projects
Check out these example Squirrels projects to see what you can build:- sqrl-expenses-slim: demonstrates the minimum setup needed for a practical working Squirrels project by storing expense transactions as a seed
- sqrl-expenses: an instance of a Squirrels project for expenses analytics that can be created with
sqrl init - sqrl-mortgage-analysis: a Squirrels project for mortgage analytics that uses Python data models to perform Monte Carlo simulations
- sqrl-weather-analytics: an extension of the tutorial example that includes joining data from multiple sources and realtime inference with a linear regression model
Getting started
Start here if you are new to Squirrels! Follow these guides to learn how to use Squirrels quickly:Quickstart
Create a new working Squirrels project from scratch quickly
Complete the Tutorial
Follow a step-by-step tutorial to build your first custom Squirrels application