Welcome to the dsviper documentation ==================================== **Viper** is a runtime designed with a strong usage of metadata to implement many features like Type, Value, Function, Collection, Serialization, Function Call, Database Persistence, Plugins, Remote Procedure Call, Network Service, RemoteDatabase, Scripting in Python and Web interoperability with Json and Bson. **Viper** was designed to simplify the way scripting language and C++ work together through metadata. The dynamic aspect of a script interpreter use the dynamic aspect of the metadata defined in Viper for Type, Value and Function to implement a strong typed data access and function call in a fast and lazy way. **P_Viper** (the Python C/API binding of Viper) is like a safe strong-typed layer over python required for C++ interoperability. **P_Viper** raise exception immediately when you use the wrong type, but **P_Viper** is smart enough to use native python value and collection as input since the metadata drives everything in Viper. All markdown documentations are located in the repository com.digitalsubstrate.viper/doc. .. note:: This project is under active development. Contents -------- .. toctree:: usage api