See Recent changes for a list of recent updates to SKIRT and PTS.
SKIRT and the Python Toolkit for SKIRT (PTS) can be installed on any recent 64-bit version of Unix, macOS, and Microsoft Windows (for more details, see System requirements below). Your approach will depend on your usage intentions and computer system. We can distinguish two main types of environment:
The installation instructions in this guide are structured in topics as listed below. The procedure for a specific scenario and operating system can hopefully be inferred by picking and choosing from these instructions.
SKIRT and PTS can be installed on any recent 64-bit version of Unix, macOS, and Microsoft Windows.
The SKIRT code is intended to be truly cross-platform. It is written in standard C++14, which is supported by all recent C++ compilers, and it uses the CMake build system, which is widely available. The source code for SKIRT is hosted on GitHub. You can download the code as a ZIP archive, but the recommended method is to use a git client, which is widely available. The source code is formatted using clang-format and the documentation on this web site is generated from the source code through Doxygen. You don't need to install these documentation tools unless you are a substantial contributor to the SKIRT project.
The default and most basic build configuration includes a fully-functional version of the SKIRT command-line program with support for multiple parallel threads in a single process. In this configuration, the code has no external dependencies other than the C++ compiler and the CMake build tool. Additional capabilities that may depend on external components can be enabled through user-configurable build options:
PTS is written in Python 3 and requires a Python distribution for language version 3.7 or later to be installed on the host computer. In addition to the functionality offered by the Python standard library packages, PTS also depends on some non-standard but commonly available packages. Usually, these packages can be easily obtained through the Python package manager included with the installed Python distribution. The table below lists the non-standard packages that are used at the time of writing. Note that each of these packages may have additional dependencies, requiring other packages to be installed as well.
Package | Description |
---|---|
python | Python language environment |
numpy | General-purpose array-processing and math |
scipy | Mathematics and scientific library |
matplotlib | Plotting |
astropy | Community python library for astronomy |
lxml | Support for XML and XSLT |
pillow (PIL) | Basic image processing |
reportlab | Direct PDF file generator |
ipywidgets | Interactive widgets for Jupyter notebook |
Once PTS has been properly installed, you can obtain a list of the current (direct) package dependencies by entering the following terminal command:
pts list_dependencies