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
|