[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5438":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":43,"readmeContent":44,"aiSummary":45,"trendingCount":16,"starSnapshotCount":16,"syncStatus":46,"lastSyncTime":47,"discoverSource":48},5438,"WrenAI","Canner\u002FWrenAI","Canner","Give AI agents the context to query business data correctly through the open context layer that gives AI agents grounded, governed memory, context, SQL across 20+ data sources, that helps you build agentic GenBI, text-to-sql, dashboards, and agentic analytics.","https:\u002F\u002Fgetwren.ai\u002Foss",null,"Python",15509,1762,95,266,0,37,123,336,111,44.74,"Other",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"agent","anthropic","bigquery","charts","context-engineering","duckdb","llm","openai","postgresql","rag","sql","sqlai","text-to-chart","text-to-sql","text2sql","vertex","2026-06-12 02:01:10","\n\u003Cp align=\"center\" id=\"top\">\n  \u003Ca href=\"https:\u002F\u002Fgetwren.ai\u002F?utm_source=github&utm_medium=title&utm_campaign=readme\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\".\u002Fmisc\u002Fwrenai_logo.png\">\n      \u003Cimg src=\".\u002Fmisc\u002Fwrenai_logo_white.png\" width=\"300px\">\n    \u003C\u002Fpicture>\n    \u003Ch1 align=\"center\">WrenAI — Open Context Layer for AI Agents\u003C\u002Fh1>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca aria-label=\"Follow us on X\" href=\"https:\u002F\u002Fx.com\u002Fgetwrenai\">\n    \u003Cimg alt=\"\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-@getwrenai-blue?style=for-the-badge&logo=x&logoColor=white&labelColor=gray&logoWidth=20\">\n  \u003C\u002Fa>\n  \u003Ca aria-label=\"Releases\" href=\"https:\u002F\u002Fgithub.com\u002Fcanner\u002FWrenAI\u002Freleases\">\n    \u003Cimg alt=\"\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcanner\u002FWrenAI?logo=github&label=GitHub%20Release&color=blue&style=for-the-badge\">\n  \u003C\u002Fa>\n  \u003Ca aria-label=\"License\" href=\"https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Fblob\u002Fmain\u002FLICENSE\">\n    \u003Cimg alt=\"\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcanner\u002FWrenAI?color=blue&style=for-the-badge\">\n  \u003C\u002Fa>\n  \u003Ca aria-label=\"GitHub Stars\" href=\"https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Fstargazers\">\n    \u003Cimg alt=\"\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fcanner\u002FWrenAI?style=for-the-badge&logo=github&color=blue&label=Stars\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdocs.getwren.ai\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-online-brightgreen?style=for-the-badge\" alt=\"Docs\">\n  \u003C\u002Fa>\n  \u003Ca aria-label=\"Join the community on GitHub\" href=\"https:\u002F\u002Fdiscord.gg\u002F5DvshJqG8Z\">\n    \u003Cimg alt=\"\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-JOIN%20THE%20COMMUNITY-blue?style=for-the-badge&logo=discord&logoColor=white&labelColor=grey&logoWidth=20\">\n  \u003C\u002Fa>\n  \u003Ca aria-label=\"Canner\" href=\"https:\u002F\u002Fcannerdata.com\u002F?utm_source=github&utm_medium=badge&utm_campaign=readme\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%A7%A1-Made%20by%20Canner-blue?style=for-the-badge\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F9263\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F9263\" alt=\"Canner%2FWrenAI | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n> 📣 **2026-05-07** — Wren Engine has merged into this repo under [`core\u002F`](.\u002Fcore). The previous `Canner\u002Fwren-engine` repo is archived. The previous WrenAI GenBI app is preserved on the [`legacy\u002Fv1`](https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Ftree\u002Flegacy\u002Fv1) branch (tag `v1-final`). [Read the announcement →](https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Fdiscussions\u002F2205)\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](.\u002Fcore\u002Fwren-mdl\u002F)** (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:\u002F\u002Fdatafusion.apache.org\u002F) 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\u002FWrenAI --skill '*'\n```\n\nStart a new agent session and ask:\n\n> 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\u002Fwren\u002FREADME.md`](.\u002Fcore\u002Fwren\u002FREADME.md). Installable extras for each connector are listed there.\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\u002F`](.\u002Fcore) | Rust engine + Python\u002FWASM bindings + CLI. The context layer's core machinery. |\n| &nbsp;&nbsp;[`core\u002Fwren-core\u002F`](.\u002Fcore\u002Fwren-core) | Rust semantic engine (Cargo workspace). |\n| &nbsp;&nbsp;[`core\u002Fwren-core-base\u002F`](.\u002Fcore\u002Fwren-core-base) | Manifest types (`Model`, `Column`, `Cube`, `Relationship`, `View`). |\n| &nbsp;&nbsp;[`core\u002Fwren-core-py\u002F`](.\u002Fcore\u002Fwren-core-py) | PyO3 bindings (PyPI: `wren-core`). |\n| &nbsp;&nbsp;[`core\u002Fwren-core-wasm\u002F`](.\u002Fcore\u002Fwren-core-wasm) | WebAssembly build for in-browser semantic SQL (npm: `wren-core-wasm`). |\n| &nbsp;&nbsp;[`core\u002Fwren\u002F`](.\u002Fcore\u002Fwren) | Python SDK + `wren` CLI (PyPI: `wren-engine`). |\n| &nbsp;&nbsp;[`core\u002Fwren-mdl\u002F`](.\u002Fcore\u002Fwren-mdl) | MDL JSON schema. |\n| [`skills\u002F`](.\u002Fskills) | CLI-based agent skills (`wren-generate-mdl`, `wren-usage`, `wren-dlt-connector`, `wren-onboarding`). |\n| [`sdks\u002Fintegrations\u002F`](.\u002Fsdks) | Framework integrations (LangChain, CrewAI, Pydantic-AI, Goose, LlamaIndex, Mastra) — _coming soon_. |\n| [`examples\u002F`](.\u002Fexamples) | End-to-end example projects — _coming soon_. |\n| [`docs\u002Fcore\u002F`](.\u002Fdocs\u002Fcore) | Module documentation. |\n\n## Community\n\n- **Discussions**: [github.com\u002FCanner\u002FWrenAI\u002Fdiscussions](https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Fdiscussions)\n- **Issues**: [github.com\u002FCanner\u002FWrenAI\u002Fissues](https:\u002F\u002Fgithub.com\u002FCanner\u002FWrenAI\u002Fissues)\n- **Discord**: [discord.gg\u002Fcanner](https:\u002F\u002Fdiscord.gg\u002Fcanner)\n- **Docs site**: [docs.getwren.ai](https:\u002F\u002Fdocs.getwren.ai)\n\n## License\n\nWrenAI is multi-licensed:\n\n- **`core\u002F**`, `skills\u002F**`, `sdks\u002Fintegrations\u002F**`, `examples\u002F**`, root-level files** — [Apache License 2.0](LICENSE-APACHE-2.0)\n- **`docs\u002F**`** — [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:\u002F\u002Fgithub.com\u002Fcanner\u002FwrenAI\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=Canner\u002FWrenAI\" \u002F>\n\u003C\u002Fa>\n\n\u003Cp align=\"right\">\n  \u003Ca href=\"#top\">⬆️ Back to Top\u003C\u002Fa>\n\u003C\u002Fp>\n","WrenAI 是一个开放的上下文层，为AI代理提供跨20多种数据源的受控SQL查询。它通过MDL（建模定义语言）来定义业务实体、关系和计算规则，使AI能够理解企业数据仓库中的复杂结构与命名约定。该项目采用Rust编写，具备强大的性能和安全性。特别适用于需要将自然语言转化为精确SQL查询的场景，如数据分析、报表生成等，帮助提升AI在处理企业级数据时的准确性和效率。",2,"2026-06-11 03:03:18","top_language"]