{"id":46250964,"url":"https://github.com/proj-airi/duckdb-wasm","last_synced_at":"2026-03-03T22:11:25.758Z","repository":{"id":286256386,"uuid":"959424051","full_name":"proj-airi/duckdb-wasm","owner":"proj-airi","description":"🦆📊 Easy to use wrapper and Drizzle ORM driver for DuckDB WASM","archived":false,"fork":false,"pushed_at":"2025-11-25T06:49:46.000Z","size":2497,"stargazers_count":42,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-19T07:57:01.274Z","etag":null,"topics":["database","drizzle-orm","duckdb-wasm","memory","orm","proj-airi"],"latest_commit_sha":null,"homepage":"https://drizzle-orm-duckdb-wasm.netlify.app/","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proj-airi.png","metadata":{"files":{"readme":"README.md","changelog":"changelogithub.config.ts","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["nekomeowww","kwaa"]}},"created_at":"2025-04-02T19:01:13.000Z","updated_at":"2025-12-30T10:32:47.000Z","dependencies_parsed_at":"2025-05-08T18:24:39.177Z","dependency_job_id":"be9d7390-e124-4f5c-b2c1-a54cf8b811fd","html_url":"https://github.com/proj-airi/duckdb-wasm","commit_stats":null,"previous_names":["proj-airi/duckdb-wasm"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/proj-airi/duckdb-wasm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proj-airi%2Fduckdb-wasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proj-airi%2Fduckdb-wasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proj-airi%2Fduckdb-wasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proj-airi%2Fduckdb-wasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proj-airi","download_url":"https://codeload.github.com/proj-airi/duckdb-wasm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proj-airi%2Fduckdb-wasm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30063559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["database","drizzle-orm","duckdb-wasm","memory","orm","proj-airi"],"created_at":"2026-03-03T22:11:25.059Z","updated_at":"2026-03-03T22:11:25.751Z","avatar_url":"https://github.com/proj-airi.png","language":"Vue","funding_links":["https://github.com/sponsors/nekomeowww","https://github.com/sponsors/kwaa"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDuckDB WASM\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\nEasy to use wrapper and \u003ca href=\"https://orm.drizzle.team/\"\u003eDrizzle ORM\u003c/a\u003e driver for DuckDB WASM\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\nWeb browser based [Playground](https://drizzle-orm-duckdb-wasm.netlify.app/), try it!\n\n\u003c/div\u003e\n\n\u003e [!NOTE]\n\u003e\n\u003e This project is part of (and also associate to) the [Project AIRI](https://github.com/moeru-ai/airi), we aim to build a LLM-driven VTuber like [Neuro-sama](https://www.youtube.com/@Neurosama) (subscribe if you didn't!) if you are interested in, please do give it a try on [live demo](https://airi.moeru.ai).\n\u003e\n\u003e We use both DuckDB WASM and PGLite for the backbone implementation for memory layer as embedded databases that capable of doing vector search to power up bionic memory systems for AI VTuber and cyber livings. We shared a lot in our [DevLogs](https://airi.moeru.ai/docs/blog/devlog-20250305/) in [DevLog @ 2025.04.06](https://airi.moeru.ai/docs/blog/devlog-20250406/), please read it if you are interested in!\n\u003e \n\u003e Who are we?\n\u003e\n\u003e We are a group of currently non-funded talented people made up with computer scientists, experts in multi-modal fields, designers, product managers, and popular open source contributors who loves the goal of where we are heading now.\n\n\u003e [!NOTE]\n\u003e\n\u003e **Usage notes (as of Apr 12, 2025)**\n\u003e\n\u003e While using `@proj-airi/duckdb-wasm` directly or indirectly with Vite, you may encounter the following error:\n\u003e\n\u003e ```\n\u003e Cannot read file: .../node_modules/.pnpm/@duckdb+duckdb-wasm@1.29.1-dev68.0/node_modules/@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url\n\u003e\n\u003e     node_modules/.pnpm/@proj-airi+duckdb-wasm@0.4.21/node_modules/@proj-airi/duckdb-wasm/dist/bundles/import-url-browser.mjs:3:26:\n\u003e       3 │ import mvpMainWorker from '@duckdb/duckdb-wasm/dist/duckdb-browser-mvp.worker.js?url';\n\u003e         ╵                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\u003e ```\n\u003e\n\u003e This is due to an open issue with Vite, as a workaround, you can try excluding `@proj-airi/duckdb-wasm` in `optimizeDeps` in your\n\u003e `vite.config.ts`:\n\u003e\n\u003e ```ts\n\u003e export default defineConfig({\n\u003e   // ...\n\u003e   optimizeDeps: {\n\u003e     exclude: ['@proj-airi/duckdb-wasm']\n\u003e   }\n\u003e })\n\u003e ```\n\u003e\n\u003e See also: https://github.com/vitejs/vite/issues/10838\n\n## Usage\n\n```shell\nni @proj-airi/drizzle-duckdb-wasm # from @antfu/ni, can be installed via `npm i -g @antfu/ni`\npnpm i @proj-airi/drizzle-duckdb-wasm\nyarn i @proj-airi/drizzle-duckdb-wasm\nnpm i @proj-airi/drizzle-duckdb-wasm\n```\n\n```typescript\nimport { drizzle } from '@proj-airi/drizzle-duckdb-wasm'\n\nconst db = drizzle('duckdb-wasm://?bundles=import-url', { schema })\nconst results = await db.execute('SELECT count(*)::INTEGER as v FROM generate_series(0, 100) t(v)')\nconsole.log(results) // Output [{ v: 101 }]\n\n// Remember to close / dispose the resources.\nawait db.$client.close()\n```\n\n## Packages\n\n- [`@proj-airi/drizzle-duckdb-wasm`](https://github.com/proj-airi/duckdb-wasm/tree/main/packages/drizzle-duckdb-wasm/README.md): [Drizzle ORM](https://orm.drizzle.team/) driver for [DuckDB WASM](https://github.com/duckdb/duckdb-wasm)\n- [`@proj-airi/duckdb-wasm`](https://github.com/proj-airi/duckdb-wasm/tree/main/packages/duckdb-wasm/README.md): Easy to use wrapper for [`@duckdb/duckdb-wasm`](https://github.com/duckdb/duckdb-wasm)\n\n## Development\n\n```shell\npnpm i\n```\n\nStart the Drizzle DuckDB WASM playground locally:\n\n```shell\npnpm -F @proj-airi/drizzle-duckdb-wasm play:dev\n```\n\n\u003e [!NOTE]\n\u003e\n\u003e For [@antfu/ni](https://github.com/antfu-collective/ni) users, you can\n\u003e\n\u003e ```shell\n\u003e nr -F @proj-airi/drizzle-duckdb-wasm play:dev\n\u003e ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproj-airi%2Fduckdb-wasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproj-airi%2Fduckdb-wasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproj-airi%2Fduckdb-wasm/lists"}