Tins · Storage & databases
sqlite
An embedded SQL database: connections, prepared statements, typed columns and RAII transactions over libsqlite3. A fork of ehsanmok/sqlite, made dependency-free so it installs from the registry with no external git repos.
Install
plain pixi:
pixi init app -c https://conda.modular.com/max -c conda-forge && cd app
sed -i.bak 's/^\[workspace\]/[workspace]\npreview = ["pixi-build"]/' pixi.toml
pixi add "mojo-compiler==1.2.0"
# Without mojoshelf: the tin as a git dependency at its published commit.
# Transitive dependencies may be wrong: pixi takes the tin's own git deps as
# pinned in its pixi.toml, which may not match what other tins pin, and then
# fails with "duplicate records". mojoshelf picks revisions that agree.
pixi add sqlite-mojo --git https://github.com/magmalake/sqlite.mojo --rev 0d76aa7b672c85580f4d8c5de855772bc972d535 No mojoshelf needed. If pixi reports duplicate records, the mojoshelf tab picks revisions that agree.
Version
0.3.5 on mojoshelf
What it does
Works today
- INTEGER, REAL and TEXT columns, with NULL distinct from empty; BLOB columns aren't exposed
- Prepared statements with positional parameters, explicit transactions
- libsqlite3 opened once per process, not per connection
- Backs the SQL catalog iceberg.mojo uses for PyIceberg parity
Correctness
Checked against round-tripped against the sqlite3 shell in both directions
Also in Storage & databases
- objectstore local · HTTP · S3 · GCS · Azure · concurrent reads
- postgres libpq · params · COPY
- Every tin