Skip to content
Web-based data science analysis and visualization platform.
JavaScript Python HTML TypeScript CSS Dockerfile Other
Branch: master
Clone or download

Latest commit

Latest commit fd56db4 Jun 1, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
agent changing where the log file lives for VS May 1, 2020
docker Added version numbers to docker-compose requirements.txt to match Sly… Apr 3, 2020
docs Updating resource dependency list Jun 1, 2020
packages/slycat Update May 22, 2020
travis-ci removed feed server from proxy config #738 Aug 10, 2017
web-client Cleaning up repo by removing old files and moving others. Oct 17, 2019
web-server fix job run time May 21, 2020
.babelrc added ts compilation to our build May 3, 2019
.codeclimate.yml Cleaning up repo by removing old files and moving others. Oct 17, 2019
.eslintrc Adding linting libraries. Adding html-loader to load Knockout html te… Oct 17, 2018
.gitignore Ignoring many more file types, mostly images and text files that can … Oct 10, 2019
.travis.yml Update .travis.yml Sep 19, 2019 adding contribution and developing guides Oct 17, 2018 adding contribution and developing guides Oct 17, 2018
LICENSE Update LICENSE Nov 13, 2018
ThirdPartyLicenses.xlsx Spreadsheet of Third Party Licensing Info Oct 31, 2019 Spelling Oct 17, 2018
jest.config.js adding tests Mar 26, 2020
package-lock.json Small update to packages Apr 24, 2020
package.json Adding config May 8, 2020
setup.cfg Enable coverage for the top-level regression tests. Jul 30, 2014 Changing copyright symbol to ascii equivaldent to prevent slycat from… Apr 17, 2018
tsconfig.json cleanup Jun 5, 2019
webpack.common.js Disabling removing comments by html loader to stop knockout from brea… May 12, 2020 Merge branch 'master' into 3d Apr 23, 2020 Adding prod and dev full configs May 8, 2020 Removing reference to missing plugin May 6, 2020 Adding webpack-dev-server and its configuration. Addresses #819 Oct 17, 2018


This is Slycat - a web-based ensemble analysis and visualization platform, created at Sandia National Laboratories.

Quick Start

Build Your own local slycat environment with docker-compose


Latest documentation can be found here

Slycat Demo

You can try out slycat at

Username: demo
Password: demo

The data in this demo instance of Slycat is erased on a regular basis, so please don't upload anything you intend to keep.


A github repo of sample data that can be used by slycat.

Ensemble analysis and Visualization

Multiple Levels of Abstraction

  • Ensemble summaries (correlations or similarities)

alt tag

  • Individual runs relative to the group (distributions or behaviors)

alt tag

  • Run-specific data (numeric values, images, or videos)

alt tag

##Sensitivity Analysis

  1. Model Understanding
  2. Model Validation
  3. Model Simplification

alt tag alt tag

Parameter Space Exploration

  1. Results Clustering
  2. Design Optimization
  3. Model Tuning

alt tag alt tag alt tag

Anomaly Detection

  1. Unique Features
  2. Bugs

alt tag alt tag alt tag alt tag alt tag alt tag alt tag alt tag


If you use the development container, shell into it and run the tests as described in the below sections.

If you aren't using the development container, here are some tips on getting your environment set up for testing.

Make sure your PYTHONPATH is set correctly. You may need to add the slycat packages directory for the unit tests to work:

PYTHONPATH=(path to slycat src)/packages

Also, you should install the same modules as slycat uses (e.g. CherryPy, pillow, etc). For some tests, you'll also need testing modules imported by the current tests in the codebase. At present these are:

  • nose
  • selenium
  • pyvirtualdisplay (also install xvfb in the OS if needed)

Unit Tests

Unit tests are mostly using py.test. If you have coverage, you can run them from the root slycat folder with

py.test test/

If you have the coverage package, you can run the tests and generate both stdout and html coverage output with

coverage run --source . -m py.test ; coverage html

You can leave off the coverage html if you don't want the html output. By default, the output will generate in the htmlcov directory.

Integration Tests

You can run behave tests by simply running behave since slycat uses the default name, features.

End-to-end Tests

Install and run the slycat-developer image as described above. Set the SLYCAT_TEST_SERVER environment variable to the uri of your test server being used for these tests. Then from the host (not inside the container), run

behave end-to-end-tests

A new browser instance will open up and will try to load slycat. You may need to accept the https exception. Once you get to the login page, enter the default username/password for the container (slycat:slycat). The tests should run, and you may see the test suite interacting with the browser as it carries out its tests.

You can’t perform that action at this time.