Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

An Apollo entry guidance implementation in Python

This repository shows how to implement the Apollo entry guidance algorithm in Python. This is the version of the algorithm that was used by the NASA Mars Science Laboratory mission that landed the Curiosity rover on Mars. The code can be found in the notebooks folder in the form of some jupyter notebooks and associated python scripts.

This project is described in more detail in the video linked below and at this blog post.

How the Apollo Entry Guidance Algorithm Landed MSL on Mars - Simulated in Python


The Jupyter notebooks in the notebooks folder assumes that you have the packages specified in requirements.txt installed. If you do not have a working python environment installed, please use something like Anaconda to install one. Then install the dependencies in requirements.txt by running

pip install -r requirements.txt

manim animations

The source code for generating the animations that are used in the video can be found in the manim folder. The notebook in that folder was run in a Google Colab environment. Please see the manim community edition website for more information.


No releases published


No packages published