A schema and query language for building typesafe persistence using SQLite.
src/- Core Rust engine (parser, typechecker, SQL/code generation, sync)pyre-cli/- CLI entrypoint and subcommands (pyre check,pyre generate,pyre migrate, ...)tests/- Integration-style Rust tests, grouped by feature area (parsing,queries,formatting, ...)packages/- TypeScript runtime packages (@pyre/core,@pyre/server,@pyre/client)wasm/- WASM build and bindingsplayground/- Example projects and local experimentation setupsdocs/usage/- End-user setup and usage guidesdocs/dev/- Build and contributor-focused docsdocs/spec/- Language and SQL generation specs
You'll need Rust, Cargo and iconv installed.
Or you can use devbox to get all the right deps without polluting your system:
devbox shell
cargo run
Useful CLI docs commands:
pyre docs
pyre docs getting-started
pyre docs sync
pyre docs elm-sync
pyre docs schema
pyre docs query
pyre docs serve
pyre docs mcpBuilt-in docs are also available under docs/usage/.
Recommended reading order:
- Getting started: set up a project and generate your first schema and queries.
- Sync: connect your app and server, select databases, and query local data.
- Elm integration, if your UI uses Elm.
Keep the query and schema references handy as you build. For additional workflows, see migrations, the built-in server, and multi-database integration. Server contexts is an optional server-side session caching API, not a prerequisite for sync.
playground/simple/playground/sync/