# Installing Cyclus Using the GitHub Repository¶

Installing Cyclus is a two step process. First get and compile the Cyclus core, then get and compile the Cyclus Additional Modules (Cycamore), which provides nuclear fuel cycle facilities such the reactor, fuel fabrication facility, storage, etc.

## Dependencies¶

In order to facilitate future compatibility with multiple platforms, Cyclus is built using CMake. A full list of the Cyclus package dependencies is shown below:

Package Minimum Version
CMake 2.8
boost 1.46.1
libxml2 2
libxml++ 2.36
python 2.7 or 3.3+
sqlite3 3.7.10
HDF5 1.8.4
Coin-Cbc 2.5

Instructions on how to install those dependencies on the major platforms can be found here.

## Install Cyclus¶

### Get the Source Code from the Git Repo¶

git clone https://github.com/cyclus/cyclus .
git fetch
git checkout master


### Compiling Cyclus¶

Before going further with the installation procedure be sure you have installed all the required dependencies listed above. We have provided detailed instructions for installing dependencies for the major supported systems.

#### Default Installation¶

Run the install script:

python install.py


If you successfully followed the instruction above, the cyclus binary has been generated and placed in the ~/.local/ in your home directory. You need to add ~/.local/bin to the front of your $PATH: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc  On MacOSX you also need to add ~/.local/lib/pythonX.Y/site-packages to your $PYTHONPATH:

echo "export PYTHONPATH=\"\$HOME/.local/lib/pythonpython -c 'import sys; \ print(".".join(map(str, sys.version_info[:2])))'/site-packages:\$PYTHONPATH\"" >> ~/.bashrc
source ~/.bashrc


If you were successful then Cyclus has been installed and you can skip down to Installing Cycamore!

Alternative instructions are also available for doing a Custom Installation.

## Install Cycamore¶

### Get the Source Code from the Git Repo¶

git clone https://github.com/cyclus/cycamore .
git fetch
git checkout master


### Compiling Cycamore¶

Before going further with the installation procedure, be sure you have installed Cyclus.

#### Default Installation¶

Run the install script:

python install.py


If you successfully followed the instructions above, then the Cycamore library has been generated and placed in .local/ in your home directory.

## Run the Unit Tests¶

To ensure the proper installation of Cyclus and Cycamore, you can run the Cyclus and Cycamore unit tests, they should report that all tests have passed (or been disabled):

$cyclus_unit_tests$ cycamore_unit_tests