{"id":50701584,"url":"https://github.com/robhurring/kazoo","last_synced_at":"2026-06-09T09:30:58.086Z","repository":{"id":360017900,"uuid":"1248339514","full_name":"robhurring/kazoo","owner":"robhurring","description":"Kuzu Graph DB CLI","archived":false,"fork":false,"pushed_at":"2026-05-24T15:26:01.000Z","size":118,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T17:24:10.819Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/robhurring.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-24T14:12:07.000Z","updated_at":"2026-05-24T15:26:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/robhurring/kazoo","commit_stats":null,"previous_names":["robhurring/kazoo"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/robhurring/kazoo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robhurring%2Fkazoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robhurring%2Fkazoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robhurring%2Fkazoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robhurring%2Fkazoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robhurring","download_url":"https://codeload.github.com/robhurring/kazoo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robhurring%2Fkazoo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34101065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-09T09:30:53.970Z","updated_at":"2026-06-09T09:30:58.079Z","avatar_url":"https://github.com/robhurring.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kazoo\n\n```\n●       ●\n│      ╱\n●     ●\n│    ╱           k a z o o\n●───●        ────────────────────────\n│    ╲       a CLI for Kuzu graph DBs\n●     ●\n│      ╲\n●       ●\n```\n\nA CLI for [Kuzu](https://kuzudb.github.io/docs) graph databases. Query, manage, explore, and inspect.\n\nA composable shell wrapper around Kuzu, so the AI tools on your machine can build and query graphs without an SDK or a server.\n\n## Install\n\n```bash\nuv tool install .\n# or from a published package:\n# uv tool install kazoo\n```\n\n## Quick start\n\n```bash\n# Run a Cypher query against the default DB\nkazoo query \"MATCH (n) RETURN n LIMIT 10\"\n\n# Use a named DB\nkazoo --db mygraph query \"MATCH (n) RETURN n\"\n\n# Pipe a query in\necho \"MATCH (n) RETURN count(n)\" | kazoo query\n\n# Query from a file\nkazoo query \u003c queries/find_friends.cypher\n\n# Output formats\nkazoo query 'MATCH (p:Person) RETURN p' -f json   \u003e people.json\nkazoo query 'MATCH (p:Person) RETURN p' -f ndjson | jq .\nkazoo query 'MATCH (p:Person) RETURN p.name, p.age' -f csv \u003e people.csv\nkazoo query 'MATCH (p:Person) RETURN p.name, p.age' -f tsv \u003e people.tsv\n\n# Interactive REPL\nkazoo repl\n\n# Visual exploration in the browser (Kuzu Explorer via Docker; requires Docker)\nkazoo --db mydb explore            # prompts to open http://localhost:8000\nkazoo --db mydb explore --port 9000 --no-open\n\n# Parameter binding\nkazoo query 'MATCH (p:Person {name: $who}) RETURN p' --param who=Alice\nkazoo query 'MATCH (p:Person) WHERE p.age IN $ages RETURN p' --param ages='[30,40]'\n\n# Summary\nkazoo info\n\n# Show the schema\nkazoo schema show\n\n# Plan / profile a query\nkazoo query \"MATCH (p:Person) RETURN p\" --explain\nkazoo query \"MATCH (p:Person) RETURN p\" --profile\n\n# Apply DDL\nkazoo schema apply             \u003c schema.cypher\nkazoo schema apply --no-atomic \u003c schema.cypher\n\n# Export the schema as Cypher DDL\nkazoo schema export\n\n# Create a node table\nkazoo schema create-node Person --prop name:STRING --prop age:INT64 --pk name\nkazoo schema create-node Person --prop name:STRING --pk name --if-not-exists\n\n# Create a relationship table\nkazoo schema create-rel Follows --from Person --to Person --prop since:DATE\n\n# Alter a table\nkazoo schema add-column Person bio:STRING\nkazoo schema add-column Person score:INT64 --default 0\nkazoo schema drop-column Person score\n\n# Drop a table\nkazoo schema drop Person --if-exists\n\n# Back up / restore — a DB is a single file (find it with `kazoo info`)\ngzip   \u003c ~/.local/share/kazoo/mydb.kuzu \u003e last-backup.kuzu.gz\ngunzip \u003c last-backup.kuzu.gz \u003e ~/.local/share/kazoo/mydb.kuzu\n\n# Rename / delete\nmv ~/.local/share/kazoo/old.kuzu ~/.local/share/kazoo/new.kuzu   # rename\nkazoo db rm imported --yes                                        # delete (guarded)\n\n# Bulk-load\nkazoo data load Person people.csv\n\n# Truncate a table\nkazoo data clear Person --yes\n\n# Shell completion\n# ~/.zshrc:\neval \"$(kazoo completions zsh)\"\n# ~/.bashrc:\neval \"$(kazoo completions bash)\"\n# fish:\nkazoo completions fish \u003e ~/.config/fish/completions/kazoo.fish\n```\n\n## Database locations\n\nDatabases live under `$XDG_DATA_HOME/kazoo/` (defaults to `~/.local/share/kazoo/` on every OS, including macOS).\n\n- Default DB: `$XDG_DATA_HOME/kazoo/default.kuzu` — auto-created on first use, no setup needed.\n- Named DBs: `$XDG_DATA_HOME/kazoo/\u003cname\u003e.kuzu` — must be initialized explicitly (`kazoo --db \u003cname\u003e db init`).\n\n`--db` accepts either a bare name (resolved under the XDG dir) or a path to a `.kuzu` file (anything containing `/` or ending in `.kuzu` is taken as-is). `$KAZOO_DB` selects the same way.\n\nPointing at a missing named DB errors instead of silently creating one — that's only the default's behavior.\n\n## File types\n\n| Extension | What it is |\n|-----------|------------|\n| `.kuzu`   | A live Kuzu database — schema, nodes, rels, indexes, everything. This is what `--db` reads. |\n\nSelect with `--db \u003cname\u003e` or `$KAZOO_DB`. A `.kuzu` file is self-contained: back it up with `cp`/`gzip`, move it with `mv`.\n\n## Output\n\nAll commands emit JSON to stdout. Use `--pretty` for indented output.\n\n## Examples\n\nTwo ready-to-query graphs ship in [`examples/`](examples/) — an office org chart and a social network. Point `--db` straight at the committed database file:\n\n```bash\nkazoo --db ./examples/office/office.kuzu query 'MATCH (p:Person) RETURN p.name;'\nkazoo --db ./examples/social/social.kuzu query 'MATCH (u:User) RETURN u.handle;'\n```\n\nMore sample queries live in [`examples/README.md`](examples/README.md).\n\n## For agents\n\nBuilding something that drives kazoo programmatically? [`AGENTS.md`](AGENTS.md) documents the JSON-on-stdout contract, exit codes, error shapes, and conventions for using kazoo as a graph backing store.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobhurring%2Fkazoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobhurring%2Fkazoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobhurring%2Fkazoo/lists"}