Python Guide

This manual covers the dsviper Python API — the Python binding of the Viper runtime. You will learn how to use the type and value system, work with databases, and leverage the full power of Viper from Python.

The Metadata Everywhere Principle

Viper carries its type information as runtime metadata, and every subsystem draws on the same source: types, values, functions, serialization, database persistence, and RPC. You describe your data once — either through the static API generated from a DSM model, or directly through the dynamic API — and the runtime handles conversion, validation, and cross-language interoperability for you. This is why Python natives (list, dict, tuple) can be passed directly to typed dsviper functions: the metadata drives the bridge, so there is nothing to register and nothing to glue by hand.