CCL can be installed from pip, conda, or directly from source. It is configured to install most of its requirements automatically. However, if you want to use CCL with Boltzmann codes like CLASS or CAMB, you will need to make sure the Python wrappers for these packages are installed as well. See the instructions for Getting a Boltzmann Code below.

Once installed, you can take CCL for a spin by following the Quickstart instructions.

With conda

Installing CCL with conda will also install a copy of pycamb, the Python wrapper for CAMB in your environment.

$ conda install -c conda-forge pyccl

With pip

The PyPi installation will actually build a new copy of CCL from source as the code is installed. In order to do this, you will need CMake installed on your system. See the instructions below for Getting CMake.

Once you have CMake, simply run:

$ pip install pyccl

Getting a Boltzmann Code

In order to use CCL with a Boltzmann code, you will need the Python wrappers for either CLASS or CAMB.


In order to use CCL with CLASS, you need to install the CLASS Python wrapper classy. See their instructions here. Note that you may need to edit the Makefile in the CLASS repo to work with your system. Please report any installation issues to the CLASS developers on their issues tracker.


If you are working in a conda environment, then CAMB is available via

$ conda install -c conda-forge camb

An installation with pip should work as well. See the CAMB repo for more details. Note that if you installed CCL with conda, camb should already be in your environment.

Getting CMake

The pip installation of CCL requires that CMake is installed on your system. CMake is available from package managers like apt-get and homebrew. You need version 3.2 or higher.


$ sudo apt-get install cmake


On MacOS X you can either install with a DMG from this page or with a package manager such as homebrew, MacPorts, or Fink.

For instance with homebrew, you can run

$ brew install cmake

Known Installation Issues

  1. For some Mac OSX versions, the standard C headers are not in the usual spot, resulting in an error of fatal error: 'stdio.h' file not found. This can be resolved with the command:

    $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

    which will install all the required headers into /usr/include.

Uninstalling CCL

CCL can be uninstalled using the uninstallation functionality of the package manager (i.e., conda or pip) you used to install it. When in doubt, first try with conda and then try with pip. In either case, the command is

$ [conda|pip] uninstall pyccl