[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3513":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":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":15,"starSnapshotCount":15,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},3513,"paro","zunor\u002Fparo","zunor","An AI-native multi-model database unifying SQL, vector, full-text, graph, and sandboxed Python — for transactional, analytical, and agent workloads.","",null,"Rust",103,8,9,0,2.86,"Apache License 2.0",false,"main",true,[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"ai-native","analytical-database","columnar-database","database","full-text-search","graph-database","hnsw","multi-moldel-database","olap","postgresql","rust","sql","sql-pgq","storage-engine","vector-search","2026-06-12 02:00:51","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Flogo\u002Fparo_logo.svg\" alt=\"Paro\" width=\"220\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cstrong>An AI-native multi-model database built for agents, not just applications.\u003C\u002Fstrong>\n  \u003Cbr \u002F>\n  Vector search · full-text ranking · graph traversal · sandboxed Python — one SQL engine, one query.\n\u003C\u002Fp>\n\nParo is a multi-model database written in Rust. It unifies relational, vector, full-text, and graph workloads — no sidecar services, no cross-system glue code. A single SQL statement can walk a social graph, rank documents by keyword relevance, re-rank by embedding similarity, and invoke a sandboxed Python UDF — served from a consistent snapshot while concurrent writers commit under serializable isolation.\n\n> [!WARNING]\n> **Paro is currently in beta.**\n> Expect rough edges in driver\u002FORM compatibility, steady-state performance, and on-disk format stability. Best used for evaluation and prototyping today — not production-critical workloads yet.\n\n## Features\n\n- **Multi-model** — structured and semi-structured data as first-class citizens in one engine.\n- **Columnar storage** — column-oriented layout optimized for scan-heavy analytical workloads.\n- **SIMD execution** — vectorized compute kernels exploiting hardware-level parallelism for distance functions, expression evaluation, and more.\n- **SQL-first** — PostgreSQL wire protocol and a familiar SQL dialect; `psql` works well today, while broader driver and ORM compatibility is still being validated.\n- **Vector search** — pgvector-compatible operators (`\u003C->`, `\u003C+>`, `\u003C=>`, `\u003C#>`) with HNSW indexing.\n- **Full-text search** — `GIN` indexes, `to_tsvector`, `plainto_tsquery`, `ts_rank`, and BM25 ranking.\n- **Graph queries** — SQL\u002FPGQ: `CREATE PROPERTY GRAPH`, `GRAPH_TABLE`, multi-hop path traversal.\n- **Serializable transactions** — MVCC snapshot reads run lock-free alongside SSI-validated writes; predicate\u002Frange locks, `SELECT ... FOR UPDATE`, and savepoints available when needed.\n- **Sandboxed Python UDFs** — batch-style handlers with Arrow\u002FNumPy fast-path interop, executed in isolated worker processes — safe for running agent-generated code.\n\n## Quick Start\n\nClone the repository and enter the project directory, then:\n\n```bash\nmake run\n```\n\nFrom another terminal, connect with `psql`:\n\n```bash\npsql -h 127.0.0.1 -p 6432 -d postgres\n```\n\n`make run` compiles and starts `parod` on `127.0.0.1:6432` by default.\n\n> Requires Rust ≥ 1.85. `psql` ≥ 14 is recommended; older versions may work but are not regularly tested.\n>\n> Override the listen address with `PARO_HOST` \u002F `PARO_PORT` if needed, for example `make run PARO_HOST=0.0.0.0`. Authentication is not implemented yet, so do not expose Paro to untrusted networks.\n\n## Query Example\n\nAn agent is researching \"retrieval-augmented generation for autonomous agents.\" The query below walks Alice's collaboration graph up to two hops, pre-filters papers by semantic similarity, then ranks the results with a hybrid score that blends vector proximity and full-text relevance — graph traversal, vector search, and full-text ranking in one statement.\n\n```sql\nWITH network AS (\n    SELECT * FROM GRAPH_TABLE(collab_graph\n        MATCH (me:Researcher WHERE me.name = 'Alice')\n              -[:CollaboratesWith]->{1,2}(peer:Researcher)\n        COLUMNS (peer.id AS author_id, peer.name AS author_name)\n    )\n),\ncandidates AS (\n    SELECT\n        id,\n        title,\n        author_id,\n        abstract,\n        1.0 \u002F (1.0 + (embedding \u003C-> '[0.91, 0.10, 0.80, 0.22]')) AS vec_score\n    FROM papers\n    ORDER BY embedding \u003C-> '[0.91, 0.10, 0.80, 0.22]'\n    LIMIT 20\n)\nSELECT\n    c.title,\n    n.author_name,\n    c.vec_score\n      + ts_rank(\n            to_tsvector('simple', c.abstract),\n            plainto_tsquery('simple', 'retrieval augmented generation agents')\n        ) AS score\nFROM network n\nJOIN candidates c ON c.author_id = n.author_id\nWHERE to_tsvector('simple', c.abstract)\n   @@ plainto_tsquery('simple', 'retrieval augmented generation agents')\nORDER BY score DESC\nLIMIT 10;\n```\n\nOne engine, one query — three retrieval models working together, served from a consistent snapshot while writers commit concurrently.\n\nTo run the full example locally, load [`regress\u002Fcases\u002Fexample\u002Fquickstart.sql`](regress\u002Fcases\u002Fexample\u002Fquickstart.sql):\n\n```sql\n\\i regress\u002Fcases\u002Fexample\u002Fquickstart.sql\n```\n\n## Python UDFs\n\nPython handlers run in isolated worker processes, separate from the database engine — a safer default for agent-generated code. Python support is optional: `parod` starts and serves ordinary SQL without a Python interpreter.\n\nProject-level entry points:\n\n- `make python-udf-unit` runs ABI\u002Fruntime Rust tests plus Python worker and SDK unit tests.\n- `make python-udf-startup-smoke` verifies `parod` still starts when the Python runtime is disabled.\n- `make python-udf-regress` runs the dedicated SQL gate on the real worker \u002F artifact execution path.\n- `make python-udf-ci` runs the dedicated Python UDF unit, startup, and SQL-regress flow end-to-end.\n\nMore focused docs live here:\n\n- [`regress\u002FREADME.md`](regress\u002FREADME.md) for SQL regression structure and fixture staging\n- [`runtimes\u002Fpython-worker\u002FREADME.md`](runtimes\u002Fpython-worker\u002FREADME.md) for the worker-side loop and tests\n- [`python\u002Fparo_udf\u002FREADME.md`](python\u002Fparo_udf\u002FREADME.md) for the user-facing SDK\n\n## Roadmap\n\n1. Performance headroom — Serializable validator overhead, derived-state catch-up SLOs, and AP scan throughput under mixed read\u002Fwrite workloads.\n2. AI-native database capabilities — deeper integration of model inference, embedding generation, and agent-friendly query patterns directly inside the engine.\n3. Ecosystem integration — potential Supabase compatibility layer and\u002For a standalone database agent for autonomous data workflows.\n4. Expanded sandbox backends — the namespace-process backend ships today; restricted-WASM, mediated, and micro-VM sandbox backends are next on the selector path.\n\n## Contributing\n\nContributions are welcome. Please open an issue to discuss significant changes before starting work.\n\nBefore submitting a pull request:\n\n1. Run the static checks — `make static`\n2. Run the full local CI pipeline — `make ci-local`\n3. Consider using an AI assistant to review your changes before submitting\n\n## License\n\nParo is licensed under the [Apache License 2.0](LICENSE).\n","Paro是一个用Rust编写的AI原生多模型数据库，旨在统一SQL、向量、全文、图和沙盒Python功能，适用于事务性、分析性和代理工作负载。其核心功能包括多模型支持（关系型、向量、全文搜索、图查询）、列式存储优化分析工作负载性能、SIMD执行提升计算效率、以及通过PostgreSQL兼容的SQL接口实现高效的数据操作。此外，Paro还提供了基于HNSW的向量搜索、GIN索引支持的全文检索能力、以及在隔离进程中安全执行的沙盒Python用户定义函数。尽管当前处于测试阶段，存在一些未完善之处，但Paro非常适合用于评估新项目或原型开发，在这些场景中可以充分利用其强大的数据处理能力和灵活的查询机制。",2,"2026-06-11 02:54:42","CREATED_QUERY"]