Peregrine software GNSS receiver.
Python Jupyter Notebook Shell
Switch branches/tags
Nothing to show
Clone or download



Build status of the master branch on Unix

Peregrine is a fast and flexible open-source software GNSS receiver. It can be used as a standalone application to post-process GNSS data all the way to PVT solutions or as from within IPython <> as a toolkit for GNSS data exploration.

Peregrine is written in Python <> for flexibility and ease of development and uses the libswiftnav C library for speed.

Full documentation available online at



You can automatically install dependencies using:

$ ./

Peregrine makes use of the following packages:

Peregrine can also be used interactively with IPython and requires an additional two packages:

  • [Optional] progressbar to display a progress indication in the terminal whilst running.
  • [Optional] matplotlib to support generation of plots.

On Ubuntu these can be installed from the repositories:

$ sudo apt-get install python-numpy python-fftw python-matplotlib libfftw3-dev
$ pip install git+


Peregrine makes use of some extensions to the progressbar library that are not yet merged upstream. For now you can install our development version as shown in the command above.

Additionally, Peregrine depends on the libswiftnav libraries and Python bindings, see each of the packages for installation instructions:

Installing Peregrine

Obtaining the source

The peregrine source are available from GitHub,

The latest development version of peregrine can be cloned from GitHub using this command:

$ git clone git://

Building and Installing


pyFFTW requires FFTW3 which should be available through your operating system package manager. For Mac OS X we recommend using Homebrew.

To install Peregrine (from the root of the source tree):

$ python install

This will download and install any required python modules from PyPI.

Peregrine also supports a developer mode that creates a symbolic link from the source location to the install location. This enables you to modify Peregrine without having to install it every time. It can be installed by:

$ python develop

Building documentation


The latest version of Peregrine's documentation should be available online at

Building the documentation requires the Peregrine source code and some additional packages:

These packages can be installed on Ubuntu 12.04 or later:

$ sudo apt-get install python-sphinx python-matplotlib ipython texlive-full dvipng
$ sudo pip install numpydoc

To build the Peregrine documentation, execute the following commands:

$ cd docs
$ make html

The documentation will be built in the docs/_build/html directory, and can be read by pointing a web browser to docs/_build/html/index.html.