Web-based data science analysis and visualization platform.
Jupyter Notebook JavaScript Python CSS HTML Gherkin
Permalink
Failed to load latest commit information.
Sample-Images adding sample images for #543 Jan 26, 2016
agent added column index name check Feb 22, 2017
artwork Update the system diagram. Dec 23, 2014
data removing data as it is too big for our code repo, new repo will have … Jan 26, 2016
design Implement the grammar for membership comparisons. Apr 21, 2015
docs Revert "Revert "Merge branch 'master' of github.com:sandialabs/slycat"" Mar 17, 2016
end-to-end-tests chore: pull server for end-to-end tests from env var Sep 26, 2016
features more ffmpeg Nov 11, 2016
feed-server added some logging info for the feed session Jan 11, 2016
munin-plugins Merge branch 'hdf5-storage' of github.com:sandialabs/slycat into hdf5… Jan 24, 2014
open-source-docker playing with travis Oct 27, 2016
packages/slycat reformatted remotes Feb 21, 2017
test chore: pull server for end-to-end tests from env var Sep 26, 2016
travis-ci updated the travis config file Nov 3, 2015
ubuntu oops too much for the ubuntu setup Oct 1, 2014
web-client updated traversal script to not take old map file Jun 3, 2016
web-server Relabeling Timeseries Parameter tab labels. Addresses #700 Feb 24, 2017
.codeclimate.yml updated ignores May 25, 2016
.gitignore Wrote web service to parse cvs file and get time series names for tim… Feb 10, 2017
.travis.yml come on Travis... Oct 27, 2016
CHANGELOG.md updated change log Jun 30, 2016
LICENSE Initial open-source release. Jul 12, 2013
README.md chore: pull server for end-to-end tests from env var Sep 26, 2016
regression.py Ongoing work on hyperchunks. Mar 18, 2015
setup.cfg Enable coverage for the top-level regression tests. Jul 30, 2014
setup.py Move some documentation-specific config into the docs directory. Jul 30, 2014

README.md

Slycat

TravisCI Coverage Status Documentation Status Code Climate

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

For installation, tutorials, and developer documentation, go to http://slycat.readthedocs.org

Slycat-data

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

Quick Start

Run from docker hub image (fastest way to start playing with slycat)

docker run -p 2222:22 -p 80:80 -p 443:443 -p 5984:5984 -d --name slycat slycat/slycat-developer
  • log into slycat @ (https:/192.168.99.100 for mac/windows and localhost for linux) and play around!
  • for logging into this quick container the only requirement is username = pasword
  • root user:pass is slycat:slycat for the container

Slower Start

Build/Run slycat image from scratch command line

  • install Docker
  • clone the slycat repo
git clone https://github.com/sandialabs/slycat.git
  • in a terminal shell move into the /open-source-build directory inside the repo
cd /open-source-docker/docker/open-source-build/
python build.py slycat-developer-image
  • load the newly built images into docker
docker load -i slycat-developer-****-****.image
  • make the container
docker run -p 2222:22 -p 80:80 -p 443:443 -p 5984:5984 -d --name slycat-developer sandialabs/slycat-developer
  • log into slycat @ (https:/192.168.99.100 for mac/windows and localhost for linux) and play around!
  • for logging into this quick container the only requirement is username = pasword
  • root user:pass is slycat:slycat for the container

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

Tests

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.