This page describes Calíope 1.5, the version we are building right now. 1.4 is finished and in App Review, and the store serves 1.3 on the Mac and 1.2 on iPad. The changelog says which version each feature landed in.
Adds an “Open in Calíope” button to every topic. It only works with the app installed.
Open and edit local SQLite files without a server.
Where it is: Workspace › Tools › SQLite Editor
The SQLite Editor is a self-contained tool for local .sqlite/.db files, similar to DB Browser for SQLite. It has four sections: Structure, Data, Execute SQL and Pragmas, and works even without a server connection.
Calíope opens unencrypted SQLite databases (SQLCipher is not supported).
Use Open… to pick an existing .sqlite/.db file, or New database… to create an empty one. Recent files appear on the start screen. A Read-only badge shows when a file can't be modified.
Browse tables, views, indexes and triggers, and create them.
The Structure section shows the schema tree with each object's columns and DDL. Use New to create tables, indexes or views, Add column or Rename table on a selected table, and Delete to drop an object.
The Data section shows a table's rows page by page, with the counter and the arrows at the right of the toolbar. Sort by pressing a column header —press it again to reverse the order—, narrow the list column by column with Filters, or type in the search field to look in all of them at once; either way the filter is applied by pressing Return. The Table selector lists the file's tables, and not all of them can be edited: on a WITHOUT ROWID table, or on any of them if the file was opened read-only, the toolbar says the object can't be edited instead of offering the buttons.
Editing a cell
macOS: double-click it. iPad: a single tap.
The value is typed in the grid itself. Return confirms, and leaving the cell —pressing another one, or the field losing focus— confirms too; Esc cancels and leaves the previous value (on iPad, with a keyboard attached).
The advanced editor
Whatever does not fit on one line is written in a separate sheet. It opens with the cell's ⋯ button —macOS: when the pointer is over it; iPad: on the cells of the selected row, which you mark by tapping its number— or with Advanced editor… in the context menu (right-click on macOS, press and hold on iPad). There the same value is written as text, as JSON —with a button that formats it, and refusing to apply an invalid one—, in hexadecimal, or seen as an image when the bytes are one —and that image zooms, from 100 % to 800 %, with a pinch, with the wheel or with the buttons at the bottom—; and those bytes are imported from a file and exported to another. A cell that already holds binary data opens this sheet directly, without going through the field in the grid.
Leaving a cell as NULL
In the cell's context menu, Set to NULL, without opening anything else; inside the advanced editor it is there as a switch too. A cell with no value is drawn as NULL in italics. Careful: clearing the content in the grid and confirming writes the empty string, which is not the same as NULL.
Adding and deleting rows
Add row opens a form with one line per column, its type and whether it is required. The columns the table can fill on its own —those declaring a default value, and the INTEGER primary key— start ticked so that the engine writes them: clear the checkbox if you would rather enter the value yourself. A field left empty is stored as NULL, and Insert stays off while a required column has no value —the notice beside it says which one—. On accepting, a singleINSERT statement is issued, naming only the columns that carry a value. To delete, select the row by its number and use Delete row, or the context menu of any of its cells.
None of this touches the file until you press Save changes: what you edit stays in a pending transaction that Revert changes undoes entirely.
Edits are grouped into a pending transaction. An amber dot marks unsaved changes. Use Save changes to commit or Revert changes to discard. Closing with pending changes asks for confirmation.
From Import / Export you can import a CSV file into a new table, export a table to CSV or JSON, or export the whole database to a SQL dump (schema and data).