# GRALE2: pygrale¶

GRALE is a project to allow you to simulate and invert gravitational lenses. The first generation of GRALE consisted of C++ libraries and an interactive program called GRALESHELL with which many useful commands could be executed without having to write a program yourself using the C++ libraries.

The new generation GRALE2 consists of a trimmed down set of core libraries that are still written in C++, together with Python bindings to provide the same functionality: pygrale. The idea is that the core code is still written in the fast low-level C++ language, but to make everything more easily useable and flexible, a Python interface is provided. The link between the C++ code and Python could be provided thanks to the Cython project.

This documentation is about the Python bindings only.

## Installation¶

The easiest way to install pygrale is using the conda tool of the Anaconda Python distribution. To create a separate environment (recommended) for GRALE, just run the command:

conda create -n grale -c jori pygrale grale2modules


This then creates the environment called grale, in which all of the necessary components are installed. This should work on all platforms.

For instructions on how to compile everything yourself, take a look at the GitHub page.

## Tutorial¶

Continue to the Tutorial.