{"id":15199930,"url":"https://github.com/canner/wrenai","last_synced_at":"2026-05-14T05:01:41.366Z","repository":{"id":232364466,"uuid":"771350543","full_name":"Canner/WrenAI","owner":"Canner","description":"🤖 Open-source GenBI AI Agent that empowers data-driven teams to chat with their data to generate Text-to-SQL, charts, spreadsheets, reports, dashboards and BI. 📈📊📋🧑‍💻","archived":false,"fork":false,"pushed_at":"2025-04-23T09:37:00.000Z","size":20268,"stargazers_count":7588,"open_issues_count":158,"forks_count":721,"subscribers_count":59,"default_branch":"main","last_synced_at":"2025-04-23T17:18:12.291Z","etag":null,"topics":["agent","anthropic","bedrock","bigquery","business-intelligence","charts","duckdb","genbi","llm","openai","postgresql","rag","spreadsheets","sql","sqlai","text-to-sql","text2sql","vertex"],"latest_commit_sha":null,"homepage":"https://getwren.ai/oss","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Canner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-13T06:18:20.000Z","updated_at":"2025-04-23T15:11:37.000Z","dependencies_parsed_at":"2025-04-10T23:27:37.788Z","dependency_job_id":"49267de6-9236-454c-83f5-e37f65e75a98","html_url":"https://github.com/Canner/WrenAI","commit_stats":{"total_commits":606,"total_committers":22,"mean_commits":"27.545454545454547","dds":0.8135313531353136,"last_synced_commit":"4cb5163d98de23221decb930738c12ad9f8de82d"},"previous_names":["canner/wrenai"],"tags_count":290,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2FWrenAI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2FWrenAI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2FWrenAI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Canner%2FWrenAI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Canner","download_url":"https://codeload.github.com/Canner/WrenAI/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250477820,"owners_count":21437049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","anthropic","bedrock","bigquery","business-intelligence","charts","duckdb","genbi","llm","openai","postgresql","rag","spreadsheets","sql","sqlai","text-to-sql","text2sql","vertex"],"created_at":"2024-09-28T02:21:30.370Z","updated_at":"2026-05-14T05:01:41.353Z","avatar_url":"https://github.com/Canner.png","language":"TypeScript","funding_links":[],"categories":["CLIs"],"sub_categories":[],"readme":"\n\u003cp align=\"center\" id=\"top\"\u003e\n  \u003ca href=\"https://getwren.ai/?utm_source=github\u0026utm_medium=title\u0026utm_campaign=readme\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./misc/wrenai_logo.png\"\u003e\n      \u003cimg src=\"./misc/wrenai_logo_white.png\" width=\"300px\"\u003e\n    \u003c/picture\u003e\n    \u003ch1 align=\"center\"\u003eWrenAI — Open Context Layer for AI Agents\u003c/h1\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca aria-label=\"Follow us on X\" href=\"https://x.com/getwrenai\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/badge/-@getwrenai-blue?style=for-the-badge\u0026logo=x\u0026logoColor=white\u0026labelColor=gray\u0026logoWidth=20\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"Releases\" href=\"https://github.com/canner/WrenAI/releases\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/github/v/release/canner/WrenAI?logo=github\u0026label=GitHub%20Release\u0026color=blue\u0026style=for-the-badge\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"License\" href=\"https://github.com/Canner/WrenAI/blob/main/LICENSE\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/github/license/canner/WrenAI?color=blue\u0026style=for-the-badge\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"GitHub Stars\" href=\"https://github.com/Canner/WrenAI/stargazers\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/github/stars/canner/WrenAI?style=for-the-badge\u0026logo=github\u0026color=blue\u0026label=Stars\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.getwren.ai\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docs-online-brightgreen?style=for-the-badge\" alt=\"Docs\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"Join the community on GitHub\" href=\"https://discord.gg/5DvshJqG8Z\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/badge/-JOIN%20THE%20COMMUNITY-blue?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026labelColor=grey\u0026logoWidth=20\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"Canner\" href=\"https://cannerdata.com/?utm_source=github\u0026utm_medium=badge\u0026utm_campaign=readme\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/%F0%9F%A7%A1-Made%20by%20Canner-blue?style=for-the-badge\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://trendshift.io/repositories/9263\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/9263\" alt=\"Canner%2FWrenAI | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e 📣 **2026-05-07** — Wren Engine has merged into this repo under [`core/`](./core). The previous `Canner/wren-engine` repo is archived. The previous WrenAI GenBI app is preserved on the [`legacy/v1`](https://github.com/Canner/WrenAI/tree/legacy/v1) branch (tag `v1-final`). [Read the announcement →](https://github.com/Canner/WrenAI/discussions/2205)\n---\n\n## Why WrenAI?\n\nAI agents fail on business data not because they can't write SQL — they fail because they don't know what your warehouse means. Overlapping tables, inconsistent naming, metric definitions scattered across dashboards and SQL files: an LLM with raw database access guesses just as badly as a new hire on day one.\n\nWrenAI is the open context layer that fills that gap. You model your business in **[MDL](./core/wren-mdl/)** (Modeling Definition Language) — entities, relationships, calculations, governed access patterns — and any agent (Claude, Cursor, ChatGPT, internal copilots, customer-facing apps) queries through the same layer your analysts already use.\n\nA Rust engine powered by [Apache DataFusion](https://datafusion.apache.org/) translates the modeled SQL and runs it against 20+ data sources (PostgreSQL, BigQuery, Snowflake, Spark, etc.). Use it as a Python SDK, a CLI, a WASM module in the browser, or as building blocks for agent skills.\n\n## Quick start\n\nThe fastest path is to let an AI coding agent (Claude Code, Cursor, Aider, etc.) drive the install:\n\n```bash\n# Install WrenAI skills into your AI agent\nnpx skills add Canner/WrenAI --skill '*'\n```\n\nStart a new agent session and ask:\n\n\u003e Use the `wren-onboarding` skill to install and set up Wren AI Core.\n\nThe `wren-onboarding` skill walks the agent through environment checks, package install, project scaffolding, the first data source connection, and a first query.\n\nFull CLI guide and manual install steps: [`core/wren/README.md`](./core/wren/README.md). Installable extras for each connector are listed there.\n\n\n## Documentation\n\n[Wren AI OSS Documentation](https://docs.getwren.ai/oss/introduction)\n\n\n## Supported Data Sources\n\nWren Engine is built to work across modern data stacks, including warehouses, databases, and file-based sources.\n\nCurrent open source support includes connectors such as:\n\n- Amazon S3\n- Apache Spark\n- Apache Doris\n- Athena\n- BigQuery\n- ClickHouse\n- Databricks\n- DuckDB\n- Google Cloud Storage\n- Local files\n- MinIO\n- MySQL\n- Oracle\n- PostgreSQL\n- Redshift\n- SQL Server\n- Snowflake\n- Trino\n\nSee the connector API docs in the project documentation for the latest connection schemas and capabilities.\n\n## Repository map\n\n| Path | What's there |\n|---|---|\n| [`core/`](./core) | Rust engine + Python/WASM bindings + CLI. The context layer's core machinery. |\n| \u0026nbsp;\u0026nbsp;[`core/wren-core/`](./core/wren-core) | Rust semantic engine (Cargo workspace). |\n| \u0026nbsp;\u0026nbsp;[`core/wren-core-base/`](./core/wren-core-base) | Manifest types (`Model`, `Column`, `Cube`, `Relationship`, `View`). |\n| \u0026nbsp;\u0026nbsp;[`core/wren-core-py/`](./core/wren-core-py) | PyO3 bindings (PyPI: `wren-core`). |\n| \u0026nbsp;\u0026nbsp;[`core/wren-core-wasm/`](./core/wren-core-wasm) | WebAssembly build for in-browser semantic SQL (npm: `wren-core-wasm`). |\n| \u0026nbsp;\u0026nbsp;[`core/wren/`](./core/wren) | Python SDK + `wren` CLI (PyPI: `wren-engine`). |\n| \u0026nbsp;\u0026nbsp;[`core/wren-mdl/`](./core/wren-mdl) | MDL JSON schema. |\n| [`skills/`](./skills) | CLI-based agent skills (`wren-generate-mdl`, `wren-usage`, `wren-dlt-connector`, `wren-onboarding`). |\n| [`sdk/`](./sdk) | Framework integrations. [`sdk/wren-langchain/`](./sdk/wren-langchain) (PyPI: `wren-langchain`) is shipped; CrewAI / Pydantic-AI / Goose / LlamaIndex / Mastra are _coming soon_. |\n| [`examples/`](./examples) | End-to-end example projects — _coming soon_. |\n| [`docs/core/`](./docs/core) | Module documentation. |\n\n## Community\n\n- **Discord**: [discord.gg/canner](https://discord.gg/canner)\n- **Discussions**: [github.com/Canner/WrenAI/discussions](https://github.com/Canner/WrenAI/discussions)\n- **Issues**: [github.com/Canner/WrenAI/issues](https://github.com/Canner/WrenAI/issues)\n\n## License\n\nWrenAI is multi-licensed:\n\n- **`core/**`, `sdk/**`, `skills/**`, `examples/**`, root-level files** — [Apache License 2.0](LICENSE-APACHE-2.0)\n- **`docs/**`** — [Creative Commons Attribution 4.0 International (CC BY 4.0)](LICENSE-CC-BY-4.0)\n\nFuture modules may be introduced under [GNU Affero General Public License v3.0](LICENSE-AGPL-3.0); the full text is committed here pre-emptively. See [LICENSE](LICENSE) for the authoritative path-to-license map.\n\nPublished packages declare their effective license in their package manifest (`Cargo.toml`, `pyproject.toml`, `package.json`).\n\n## Our Contributors\n\u003ca href=\"https://github.com/canner/wrenAI/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Canner/WrenAI\" /\u003e\n\u003c/a\u003e\n\n\u003cp align=\"right\"\u003e\n  \u003ca href=\"#top\"\u003e⬆️ Back to Top\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanner%2Fwrenai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanner%2Fwrenai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanner%2Fwrenai/lists"}