Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 2.07 KB

sciunit.md

File metadata and controls

40 lines (30 loc) · 2.07 KB

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

  • Applies to any scientific domain
  • Makes no assumptions about model implementation
  • Implementation satisfied by modular Capabilities
  • Flexible, drop-in scoring framework
  • Rich test score visualizations
  • Model parameter optimization
  • Contingent test parameterization and execution
  • Tight Jupyter integration
  • Command line tools for headless systems

Source Code

SciUnit GitHub Repository

Community participation is encouraged!

Documentation

Jupyter Tutorials

API Documentation

Reproducible Research ID

RRID:SCR_014528