Viper Documentation¶
Version 1.2.0 | GitHub
Welcome to the Viper Runtime documentation. Viper is the core runtime for Digital Substrate, providing a powerful data modeling and persistence framework.
Quick Links¶
- Getting Started - Learn the fundamentals of DSM
- Viper Guide - Comprehensive technical guide
- Domains - Explore 13 specialized domains
- API Reference - Python API documentation
What is Viper?¶
Viper is the core runtime for Digital Substrate, providing a powerful foundation for building data-driven applications.
Key Features¶
- DSM Language - A domain-specific modeling language for defining data structures with rich semantics.
- Code Generation - Kibo generator produces type-safe C++ and Python code from your DSM models.
- Persistence - Multiple storage backends: in-memory database, commit-based, blob storage.
- Serialization - Stream codec for efficient binary serialization and JSON support for interchange.
- Distributed Systems - Built-in RPC framework and remote object support.
- Extensible - Function pools, path system, and HTML generation for custom workflows.
Documentation Structure¶
| Section | Description |
|---|---|
| Getting Started | Tutorials, quickstart guides, and fundamentals |
| Concepts | Deep dive into DSM language and Kibo generator |
| Domains | 13 detailed domain documentations |
| Internals | C++ and Python architecture for contributors |
| Migration | Version upgrade guides and breaking changes |
| Tools | VS Code extension and Blender add-on |
| API Reference | Complete Python API documentation |
Installation¶
Using pip¶
pip install dsviper
From Source¶
git clone https://github.com/digitalsubstrate/viper.git
cd viper
pip install -e .