jackfoxy/obelisk
jackfoxy/obelisk has 38 GitHub stars and 4 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 19:29 UTC. Last push 2026-11-13.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Time travelling relational database engine and urQL (SQL derived) scripting for the Urbit computer
DataREADME.md
OriginalObelisk
|install ~dister-nomryg-nilref %obelisk
RDBMS for the Urbit computer
Time traveling databases, every database state is indexed by time.
Queries are (implicitly) idempotent, thanks to indexed database states.
Tables, views, and query results are always proper sets of the data rows.
No NULLS, anywhere, ever.
Scripts are atomic (pass/fail)
Obelisk employs a dialect of SQL called "urQL" that provides for these properties.
For more information see Reference/Preliminaries, the Users Guide, and the USTJ article Obelisk: Reinventing SQL for Modern Computing.
Native web interface
The Obelisk desk includes a native Sail workbench. Click the Obelisk tile or
visit /apps/obelisk on your ship. No external UI app is required.
The workbench supports Run, Parse, schema browsing, multiple editor tabs, Clay-backed script and result files, result paging, copying, and delimited exports. See the Users Guide for the interface and dojo workflows.
Beta release
Installing the beta release will overwrite state from previous manually installed alpha releases. All releases going forward will migrate state.
Sample database
This repository includes a sample database, "animal-shelter", derived from https://github.com/ami-levin/Animal_Shelter.
The animal-shelter database comes installed, but should you drop it and wish to reinstall from the %dojo:
:obelisk &obelisk-action [%tape %animal-shelter (reel .^(wain %cx /=obelisk=/gen/animal-shelter/all-animal-shelter/txt) |=([a=cord b=tape] (weld (trip a) b)))]
Depending on your system it will load in about 30 seconds.
You can submit the same script through the native web interface, but the dojo is recommended for this large initial import.
Developers
Copy sur/obelisk-ast.hoon to your project to work with Obelisk results.
You are free to poke the %obelisk desk with urQL via the %tape or %tape-print actions or use the API defined in sur/obelisk-ast.hoon and poke via %commands. There are no scries.
You can also read directly from the server state, although this is not recommended. If you update the server state directly, you are on your own, in other words "strongly discouraged".
Bug reporting
Reporting bugs is encouraged and appreciated. Please open an issue with a minimal urQL script reproducing the bug using the sample database, or if it's not possible to reproduce in the sample database provide the full DDL and urQL script to reproduce.
Reporting documentation bugs is also appreciated.
Contributions
This project welcomes contributors. Contact the author for more information.
Thanks to @widmes-hassen for his contributions to scalar functions.
Roadmap
See the roadmap for upcoming functionality.
Your feedback helps determine the future of Obelisk.