Toolchain

Complete development toolkit: validation, GUI editors, server deployment, and administration.

dsm_util.py

CLI

Command-line tool for validating DSM models, creating databases, and generating Python packages.

python3 tools/dsm_util.py check model.dsm
check Validate DSM syntax
create_commit_database Create versioned database
create_database Create simple database
create_python_package Generate Python package
encode Convert DSM to binary
decode Convert binary to DSM
View Documentation

Database Editors

GUI tools for exploring and managing CommitDatabases with version history and synchronization.

Recommended

cdbe.py

CommitDatabase Editor

Full-featured GUI for versioned data with commit history, branching, and synchronization.

python3 tools/cdbe.py project.cdb
  • Browse commit history (DAG visualization)
  • Inspect documents by attachment
  • View CommitCommands in selected commit
  • Undo/Redo stack visualization
  • Synchronization with remote server
  • Blob storage browser
cdbe - Documents view
Documents Browser
cdbe - DSM Definitions
Embedded DSM Definitions
cdbe - Commit history
Commit History (DAG)

dbe.py

Database Editor

Simplified GUI for exploring Database files without commit history.

python3 tools/dbe.py project.vpr
  • Browse documents by attachment
  • Inspect binary blob content
  • View UUID, codec, definitions
  • Connect to remote Database server
dbe - Documents view
Documents Browser
dbe - DSM Definitions
Embedded DSM Definitions
View Documentation

Server & Administration

Tools for running CommitDatabase as a network service and performing administrative operations.

commit_database_server.py

RPC Server

Expose CommitDatabase over the network for multi-client synchronization.

python3 tools/commit_database_server.py project.cdb
--host Bind address (default: 0.0.0.0)
--port TCP port (default: 54321)
--socket-path Unix socket (alternative to TCP)

commit_admin.py

Administration CLI

Database administration: reset, sync, and merge heads.

python3 tools/commit_admin.py --database project.cdb reset
reset Reset to initial commit
reduce_heads Merge multiple heads
sync Sync with remote server

Multi-Client Architecture

cdbe.py cdbe.py Python app
RPC
commit_database_server
File
project.cdb
View Documentation

Start Building

Install dsviper and explore the complete toolchain for your projects.