{"id":20982526,"url":"https://github.com/jackfoxy/obelisk","last_synced_at":"2025-05-14T16:31:31.759Z","repository":{"id":258394059,"uuid":"650459027","full_name":"jackfoxy/obelisk","owner":"jackfoxy","description":"Time travelling relational database engine and urQL (SQL derived) scripting for the Urbit computer","archived":false,"fork":false,"pushed_at":"2025-05-06T16:26:22.000Z","size":1239,"stargazers_count":20,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-06T17:38:46.142Z","etag":null,"topics":["hoon","personal-server","sql","sql-server","urbit"],"latest_commit_sha":null,"homepage":"","language":"hoon","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackfoxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-06-07T05:48:58.000Z","updated_at":"2025-04-16T14:32:05.000Z","dependencies_parsed_at":"2024-11-25T18:21:04.050Z","dependency_job_id":"b055285b-205c-43d5-9965-b8b4e6e827ab","html_url":"https://github.com/jackfoxy/obelisk","commit_stats":null,"previous_names":["jackfoxy/obelisk"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackfoxy%2Fobelisk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackfoxy%2Fobelisk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackfoxy%2Fobelisk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackfoxy%2Fobelisk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackfoxy","download_url":"https://codeload.github.com/jackfoxy/obelisk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254182922,"owners_count":22028381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["hoon","personal-server","sql","sql-server","urbit"],"created_at":"2024-11-19T05:45:52.816Z","updated_at":"2025-05-14T16:31:31.755Z","avatar_url":"https://github.com/jackfoxy.png","language":"hoon","readme":"# Obelisk\n\n### RDBMS for the Urbit computer\n\n* Time traveling databases, every database state is indexed by time.\n\n* Queries are (implicitly) idempotent, thanks to indexed database states.\n\n* Tables, views, and query results are always proper sets of the data rows.\n\n* No NULLS, anywhere, ever.\n\n* Scripts are atomic (pass/fail)\n\nObelisk employs a dialect of SQL called \"urQL\" that provides for these properties.\n\nSee [Reference/Preliminaries](/docs/reference/01-preliminaries.md) and the [Users Guide](/docs/users-guide.md) in the docs folder for more information.\n\n### Sample database\n\nThis repository includes a sample database, \"animal-shelter\", derived from https://github.com/ami-levin/Animal_Shelter.  \n\n### Bug reporting\n\nReporting 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.\n\nReporting documentation bugs is also appreciated.\n\n### Contributions\n\nThis project welcomes contributors. Contact the author for more information.\n\n### Using the %hawk UI\n\nTo interact with Obelisk from %hawk:\n\n- Ensure you have %hawk installed\n  `|install ~dister-migrev-dolseg %hawk`\n- Create a file in your hawk namespace\n- Get the latest Obelisk UI template from https://hawk.computer/~~/templates/. Paste the contents into into the hawk file. (templates/hawk.txt in this repo is not necessarily current)\n\n### Alpha release\n\nThe current **v0.5-alpha** release requires manual installation.\n\nSee the [releases document](/releases.md) for new functionality.\n\n#### Previous alpha is NOT installed\n\n```\n|new-desk %obelisk\n|mount %obelisk\n```\n\nClone the Obelisk repo to your machine.\nOn the `master` branch find the folder with the desk files and copy to the obelisk desk that you mounted.\n\n```\n cp -rL ~/gitrepos/obelisk/desk/* /path/to/your/pier-ship/obelisk\n ```\n\n```\n|commit %obelisk\n|install our %obelisk\n```\n\n#### Previous alpha is installed\n\nThe current release is NOT compatible with the previous release.\n\nIf you wish to save data, you will have to back it up and recreate it before nuking the agent. (See below.)\n\nCopy the files to your desk, nuke the agent, and commit the files.\n\n```\n|nuke %obelisk\n|commit %obelisk\n```\n\nDon't worry about the sample animal-shelter database. You can recreate it as before in the new release.\n\nList the databases you have created. Ignore the 'sys' database.\n\n```\nFROM sys.sys.databases SELECT *;\n```\n\nIn each database query the metadata views to retrieve your table definitions.\n\n```\nFROM sys.tables SELECT *;\nFROM sys.columns SELECT *;\n```\n\nFor each table you want to restore query the data and save the results. You will have to `CREATE` new databases and tables and `INSERT` the saved data.\n\n```\nFROM my-table SELECT *;\n```\n\n### Beta release\n\nThe upcoming beta release will likely not be compatible with the current alpha release, but it is planned to be on standard Urbit OTA software distribution, with future release compatibility handled by the OTA.\n\nSee [the roadmap](/docs/roadmap.md) for upcoming functionality.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackfoxy%2Fobelisk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackfoxy%2Fobelisk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackfoxy%2Fobelisk/lists"}