How can a wide variety of scientific disciplines, modeling technologies, and data types be engaged in systematic testing?

We provide SciUnit, a Pythonic framework for data-driven unit testing that separates the interface from the implementation, respecting the diversity of conventions for modeling and data collection.

SciUnit is a discipline-agnostic framework for model validation, handling all of the testing workflow by using a implementation-independent interface to models. SciUnit also contains code for visualization of model results, and command line tools for incorporating testing into continuous integration workflows.

Overview

The conference paper

Basic Usage

my_model = MyModel(**my_args) # Instantiate a class that wraps your model of interest.  
my_test = MyTest(**my_params) # Instantiate a test that you write.  
score = my_test.judge() # Runs the test and return a rich score containing test results and more.  

Key features

Source Code

SciUnit GitHub Repository

Community participation is encouraged!

Documentation

Jupyter Tutorials

Chapter 1 / Chapter 2 / Chapter 3 /

Developer Reference

API Documentation