Downloads

The DevKit all-in-one ZIP, plus the underlying tools and demo applications as standalone repositories.

dsviper 1.2.7 DevKit

Kibo code generator, CLI tools, and templates. Pulls dsviper from PyPI via requirements.txt. Documentation is published separately (see below).

Download

dsviper Runtime

Pre-built wheels for macOS, Linux, Windows across Python 3.10–3.14.

Kibo Code Generator

Java-based code generator (kibo-1.2.7.jar) with C++ and Python templates for DSM models.

CLI Tools

Database Editor (dbe.py), Commit Database Editor (cdbe.py), DSM utility, and commit admin.

Templates

StringTemplate files for C++ and Python code generation from your DSM definitions.

The DevKit ZIP is the all-in-one bundle — runtime, generator, GUI tools, and templates in one download. Individual GUI tools are also distributed as standalone repositories (see Qt Widgets Stack and QML Stack below). IDE plugins (VS Code, JetBrains) and DSM reference samples (dsm-samples) are distributed via their respective Marketplaces and public GitHub repositories.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6 (for GUI tools: dbe, cdbe)
  • Java 17+ (for Kibo code generator)

DevKit 1.2 Documentation

Sphinx documentation for DSM, dsviper, Kibo, and the CLI tools. Also available online.

Versioned by API line (1.2) — independent of the runtime patch. The PDF is suitable for printing or archival; the ZIP unpacks to a multi-page HTML site with full navigation and search.

Two parallel implementations are provided. The Qt Widgets stack is the stable, production-ready path. The QML stack is an experimental port that validates dsviper against a declarative UI tier — useful for evaluation, not yet recommended for production.

Database Tools

Database Editor (dbe) and CommitDatabase Editor (cdbe) — practical utilities for inspecting and editing Viper databases.

dsviper-tools Qt Widgets Stable

Database Editor (dbe) and CommitDatabase Editor (cdbe) — Qt Widgets

Qt Widgets implementations of the two database editing tools: dbe for raw document inspection and blob browsing, cdbe for commit-level inspection. Also bundled in the all-in-one DevKit ZIP — this repository tracks them standalone for development and CI.

dbe

cdbe

dbe — Database Editor

Browse documents, inspect metadata, navigate blobs. Direct access to the underlying database tier.

cdbe — Commit Database Editor

Inspect commits, programs, and DSM definitions. Visualize commit-level transformations.

Cross-Platform

Tested on macOS, Linux, and Windows via PySide6.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6

dsviper-tools-qml QML Experimental

dbe and cdbe — declarative QML port

QML port of the same two tools, using PySide6/QML and the Fusion style. Functionally equivalent to dsviper-tools but built on a declarative UI tier.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6

Component Libraries

Shared Python models and UI components used by the tools and demo applications. Optional — relevant if you want to fork an application or build your own dsviper-backed UI.

dsviper-components Qt Widgets Stable

Shared Python models and Qt Widgets

View-models bridging dsviper data structures to Qt — documents, commits, DSM, blobs — and reusable Qt Widgets (panels, dialogs, item delegates, list and tree views) shared by Graph Editor and the database tools.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6

dsviper-components-qml QML Experimental

Shared Python models and QML components

QML counterpart to dsviper-components — Python view-models plus reusable QML components, dialogs, and an SF Symbol icon set with light/dark variants. Used by Graph Editor QML and the QML database tools.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6

Graph Editor — Demonstrator

Graph Editor is not a business application. It is a demonstrator built to exercise the principles of dsviper — the commit DAG, the DSM-driven model, the CommitStore pattern — and to validate the runtime across multiple UI tiers. Use it as a reference implementation when building your own dsviper-backed application; treat it as a lab tool, not a product.

ge-py Qt Widgets Stable

Graph Editor — Qt Widgets implementation

Qt Widgets port of the native AppKit/C++ laboratory application built with PySide6. Visual interface for creating, editing, and inspecting Viper commit databases with full undo/redo via the commit DAG. Vendors dsviper-components in-tree (no extra install).

Graph Visualization

Interactive node-edge graph with selection, positioning, and random graph generation.

Commit Engine

Full commit DAG: forward, merge heads, push, sync. Undo/redo with commit-level granularity.

Data Inspection

Documents browser, metadata viewer, DSM definitions inspector, and commit program trace.

Python Editor

Integrated code editor with syntax highlighting and script execution against the live database.

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6

ge-qml QML Experimental

Graph Editor — declarative QML port

Pure QML port of Graph Editor with PySide6 and the Fusion style. Same dsviper runtime, third UI tier — declarative bindings replace imperative widget code. Vendors dsviper-components-qml in-tree (no extra install).

Requirements
  • Python 3.10–3.14
  • dsviper
  • PySide6