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.


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!


Jupyter Tutorials

API Documentation

Reproducible Research ID