This is Slycat - a web-based ensemble analysis and visualization platform, created at Sandia National Laboratories.
You can try out slycat at https://myslycat.com
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.
Run from docker hub image (fastest way to start playing with slycat)
- Download and install Docker.
- Pull the Slycat image with the following command:
docker pull slycat/slycat-developer
- Get Slycat running on localhost:
docker run -p 80:80 -p 443:443 -d --name slycat slycat/slycat-developer
- Visit your local instance of Slycat at https://localhost
You can log in with any username as long as the password is the same as the username. For example:
Also, your browser will probably notify you of a privacy issue because we provide a self-signed certificate. You can proceed anyway.
- You can get into your local slycat container:
docker exec -u slycat -it slycat bash
- Once inside your container, you can update the Slycat source code like so:
Slycat will automatically restart to pick up any new changes.
- To exit your container:
- Once you're out of your container, you can stop Slycat:
docker stop slycat
- And start it back up:
docker start slycat
(don't run the
docker runcommand from step 3 again, it's only required the first time you start Slycat)
- Set up a firewall on the host machine if you are deploying Slycat. A good firewall configuration would block all ports except 80, 443, and 22 (or whichever port you use to ssh to the host).
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
- 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 and play around! https://localhost/login/slycat-login.html
- for logging into this quick container the only requirement is username = pasword
- root user:pass is slycat:slycat for the container
ssh slycat@localhost -p 2222
Ensemble analysis and Visualization
Multiple Levels of Abstraction
- Ensemble summaries (correlations or similarities)
- Individual runs relative to the group (distributions or behaviors)
- Run-specific data (numeric values, images, or videos)
- Model Understanding
- Model Validation
- Model Simplification
Parameter Space Exploration
- Results Clustering
- Design Optimization
- Model Tuning
- Unique Features
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:
- pyvirtualdisplay (also install xvfb in the OS if needed)
Unit tests are mostly using py.test. If you have coverage, you can run them from the root slycat folder with
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.
You can run behave tests by simply running behave since slycat uses the default name, features.
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
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.