kessler

⚠️ We are in the process of updating Kessler. Because of this, Kessler is now in maintenance mode and not all functionalities might be working for a few days ⚠️


Build Status Documentation Status codecov

Kessler is a Python package for simulation-based inference and machine learning for space collision avoidance and assessment. It is named in honor of NASA scientist Donald J. Kessler known for his studies regarding space debris and proposing the Kessler syndrome.

Developed by the FDL Europe Constellations team in collaboration with European Space Operations Centre (ESOC) of the European Space Agency (ESA).

Documentation and roadmap

To get started, follow the Jupyter notebooks in the notebooks folder.

The upcoming version of Kessler will inclue the probabilistic programming model of conjunctions, which is excluded from this initial release.

Authors

Kessler was initially developed by the Constellations team at the Frontier Development Lab (FDL) Europe 2020, a public–private partnership between the European Space Agency (ESA), Trillium Technologies, and University of Oxford.

Constellations team members: Giacomo Acciarini, Francesco Pinto, Sascha Metz, Sarah Boufelja, Sylvester Kaczmarek, Klaus Merz, José A. Martinez-Heras, Francesca Letizia, Christopher Bridges, Atılım Güneş Baydin

License

Kessler is distributed under the GNU General Public License version 3. Get in touch with the authors for other licensing options.

More info and how to cite

If you would like to learn more about or cite the techniques Kessler uses, please see the following papers:

Installation

Prerequisites

Note: Python 3.9 is currently not supported due to one of our dependencies (pykep) not supporting it. You might get things working with Python 3.9 if you install pykep using conda (not tested).

How to install

To install kessler, do the following:

git clone https://github.com/kesslerlib/kessler.git
cd kessler
pip install -e .

Optional: how to run it in Docker

Build the Docker image

In the root folder of this repository, run:

docker build -t kessler .

Run Jupyter inside Docker

If you’re using Linux:

docker run --rm -it -v $PWD:/workspace --net=host kessler jupyter notebook --allow-root

If you’re using MacOS:

docker run --rm -it -v $PWD:/workspace -p 8888:8888 kessler jupyter notebook --ip 0.0.0.0 --no-browser --allow-root