dsviper API

This reference documents all public classes in the dsviper module, organized by functional domain.

Overview

Domain

Description

Type System

Type system (Type, TypeVector, TypeMap, etc.)

Values

Value instances (Value, ValueString, ValueVector, etc.)

Attachments

Attachments (Attachment, AttachmentGetting, AttachmentMutating, etc.)

Database

Persistence (Database, DatabaseSQLite, etc.)

Commit Database

Versioned persistence (CommitDatabase, CommitState, AttachmentMutating, etc.)

Merge Reconciliation

Merge reconciliation (CommitMergeAnalyzer, CommitMergeConflict, etc.)

Database Transfer

Database ↔ CommitDatabase transfer (DatabaseCopier, CommitDatabaseFlattener, etc.)

Remote Services

Service client surface (ServiceRemote, dynamic introspection, typed-proxy entry)

Binary Data (Blobs)

Binary data (BlobArray, BlobPack, BlobLayout, etc.)

Serialization

Encoding/decoding (Codec, StreamEncoder, etc.)

DSM Introspection

Model introspection (DSMBuilder, DSMDefinitions, etc.)

HTML Rendering

HTML rendering (DocumentNode, Html, etc.)

Core Utilities

Core utilities (Definitions, NameSpace, Path, etc.)

Working examples

To see this API in action, the two GUI editors shipped with dsviper-tools exercise complementary parts of the surface:

  • cdbe.py (Commit Database Editor) — covers the Commit Database side: CommitDatabase, CommitMutableState, CommitStore, CommitSynchronizer, undo/redo, and sync.

  • dbe.py (Database Editor, plain CRUD) — covers the non-versioned Database side and the read/inspection surface (definitions, blobs, HTML rendering).

Between them they cover the table below:

Capability

API Used

Type System

Type, TypeVector, TypeMap for schema definition and validation

Value Handling

Value, ValueStructure, ValueKey for typed data manipulation

Versioned Persistence

CommitDatabase, CommitState for DAG-based history

Mutation Context

CommitMutableState, AttachmentMutating for isolated evaluation

Path-Based Mutations

Path, AttachmentMutating.update() for field-level writes that converge when disjoint

Undo/Redo

CommitStore for application-level undo with full state restoration

Synchronization

CommitSynchronizer for fetch/push/sync with remote servers

Change Notification

CommitStoreNotifying to observe state changes (including after sync)

Binary Assets

BlobGetting, ValueBlobId for large binary data management

Schema Introspection

DSMDefinitions, Definitions for runtime type discovery

HTML Rendering

Html.dsm_definitions(), Html.value() for visual inspection

Error Handling

ViperError, Error.parse() for structured error reporting

Logging

Logging, LoggerConsole for operation tracing