A Python/Flask web application for browsing and inspecting objects in a GemStone/S object database. Port of maglev-database-explorer-gem using gemstone-py as the backend.
- Object Browser — navigate the object graph from well-known roots (UserGlobals, Globals, System); inspect instance variables, dictionary entries, and collection elements; evaluate Smalltalk expressions in the context of any object
- Symbol List Browser — browse GemStone symbol lists by user and dictionary; view key/value pairs and printStrings; add and remove dictionaries and entries
- Transaction control — Commit and Abort buttons on both tabs
- Batched GCI evaluation for fast object inspection (single
eval()per view)
- GemStone/S 64 3.x with GCI libraries accessible on
LD_LIBRARY_PATH/DYLD_LIBRARY_PATH - Python 3.11+
- gemstone-py
git clone https://github.com/unicompute/python-gemstone-database-explorer
cd python-gemstone-database-explorer
python3 -m venv .venv
.venv/bin/pip install -e .Set the following environment variables before starting:
| Variable | Description | Example |
|---|---|---|
GEMSTONE |
Path to GemStone installation | /opt/gemstone/GemStone64Bit3.7.5-arm64.Darwin |
GS_USERNAME |
GemStone login username | DataCurator |
GS_PASSWORD |
GemStone login password | swordfish |
GEMSTONE_NRS |
Network Resource String for the Stone | !tcp@localhost#server!gemstone |
See docs/configuration.md for full details.
.venv/bin/python-gemstone-database-explorer
# → GemStone Database Explorer running at http://127.0.0.1:9292/Options:
--host HOST Bind host (default: 127.0.0.1)
--port PORT Port (default: 9292)
--debug Enable Flask debug mode
Open http://127.0.0.1:9292/ in a browser.
MIT
