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