Installation¶
This page describes the several ways of using crestdsl. Additionally to the local execution here, you can try crestdsl in your browser using Jupyter and Binder, as described on the crestdsl - Welcome page.
Docker¶
crestdsl is built upon various Python packages. The probably easiest way to start using crestdsl is via Docker. The crestdsl image contains the latest release of crestdsl and all dependencies. The image is based on Jupyter’s docker stacks, so you develop right in your browser.
docker run -p 8888:8888 crestdsl/release
Remember to map the image’s port 8888 to one of your host machine’s ports (here 8888 too).
Local file storage
If you want to your persist files, you should look into mounting a volume using docker’s -v directive, like this:
docker run -p 8888:8888 -v $(pwd):/home/jovyan/my_notebooks crestdsl/release
Note
The docker image is quite large to download (~2GB). Make sure to have a good internet connection (or go grab a coffee).
Local Installation¶
pip install crestdsl
Alternatively, to install from sources, clone the repository and install locally.
git clone https://github.com/crestdsl/CREST.git
cd CREST
pip install -e .
Note
crestdsl was developed using Python 3.6. You will certainly have problems using any version of Python 2. For versions < 3.6, you might run into issues, I haven’t tested it.
Required: Patched Z3 Prover
crestdsl makes heavy use of Microsoft Research’s Z3 Solver. In order to increase usability, we added some minor improvements. The sources of this custom Z3 fork can be found at https://github.com/stklik/z3.git
To install it, you will need Python, make, and a compiler such as GCC or Clang, as explained on the official Z3 repository. If you have all these dependencies, you can run the following code to automatically install it.
bash <(curl -fsSL http://github.com/crestdsl/CREST)
Optional: Jupyter
crestdsl has been developed to work well inside Jupyter notebooks. However, by default it will not install it. To make use of this very interactive Python engine, install it verification .. code-block:: none
pip install jupyter
For other means of installation or further information, visit the Jupyter installation page directly.
Optional: Graphviz
Some crestdsl modules require additional installed resources. For example, the crestdsl.ui.dotter module allows the plotting of system models using the graphviz package. Use your system’s package manager / Homebrew to install the following package on Linux / OS X:
graphviz
libgraphviz-dev
dvipng
For Windows users: I honestly have not tried it, but please let me know if you made it work.