https://github.com/cleve/lmdb-viewer
GUI to navigate over LMDB data
https://github.com/cleve/lmdb-viewer
database gui java java-11 javafx javafx-desktop-apps lmdb
Last synced: about 2 months ago
JSON representation
GUI to navigate over LMDB data
- Host: GitHub
- URL: https://github.com/cleve/lmdb-viewer
- Owner: cleve
- License: apache-2.0
- Created: 2020-05-22T14:16:25.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-03-28T21:22:19.000Z (2 months ago)
- Last Synced: 2026-03-29T00:25:20.891Z (2 months ago)
- Topics: database, gui, java, java-11, javafx, javafx-desktop-apps, lmdb
- Language: Python
- Size: 16.1 MB
- Stars: 16
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lmdb-viewer
LMDB viewer re-implemented in Python with Flet.
The app opens an LMDB directory, reads the default database, lists key/value pairs, supports refresh, and filters rows by key or value.
## Features
- Open an LMDB directory from a native folder picker
- Browse key/value pairs in a two-column table
- Search by key or value
- Refresh rows from disk without reopening the app
- Safe text decoding for non-UTF-8 LMDB content using replacement characters
## Requirements
- Python 3.11+
- An LMDB environment directory to inspect
## Install
```sh
poetry install
```
Poetry manages the project environment, so you do not need to create a separate `.venv` manually.
## Run
```sh
poetry run python app.py
```
## Package
Flet can package the app as a desktop binary. On Linux, build on Linux; on Windows, build on Windows; on macOS, build on macOS.
Basic Linux desktop build:
```sh
poetry install
poetry run flet build linux
```
Linux desktop prerequisites reported by `flutter doctor`:
```sh
sudo apt-get update
sudo apt-get install -y clang cmake ninja-build libgtk-3-dev mesa-utils
```
Or use the helper script in this repository:
```sh
bash scripts/install_linux_build_deps.sh
```
Build artifacts are written under `build/`. This repository includes a Poetry-managed `pyproject.toml` with Flet metadata, the Python entry module, and the app icon under `assets/icon.png`.
Notes:
- The first `flet build` may download Flutter automatically.
- Desktop packaging can require platform-native build dependencies.
- Packaged builds exclude `.git`, optional in-project virtualenvs, and sample data.
- A GitHub Actions workflow is included at `.github/workflows/build-linux.yml` to produce a Linux artifact in CI.
## Project Layout
- `app.py`: entry point
- `lmdb_viewer/database.py`: LMDB access and filtering
- `lmdb_viewer/app.py`: Flet user interface
- `pyproject.toml`: Poetry and Flet project metadata
- `assets/icon.png`: icon used for packaged builds
- `scripts/install_linux_build_deps.sh`: installs Linux desktop build prerequisites
## Notes
- The current implementation targets the default LMDB database, matching the original app behavior.