Skip to main content

A Pulsar Timing Package, written in Python from scratch

Project description



Actions Status Coverage Documentation Status PINT Paper on arXiv PINT on ASCL License:BSD Code of Conduct

PINT is not TEMPO3

PINT is a project to develop a new pulsar timing solution based on python and modern libraries. It is still in active development, but it can already produce residuals from most “normal” timing models that agree with Tempo and Tempo2 to within ~10 nanoseconds. It can be used within python scripts or notebooks, and there are several command line tools that come with it.

The primary reasons we are developing PINT are:

  • To have a robust system to check high-precision timing results that is completely independent of TEMPO and Tempo2

  • To make a system that is easy to extend and modify due to a good design and the use of a modern programming language, techniques, and libraries.


PINT has a naming conflict with the pint units package available from PyPI (i.e. using pip) and conda. Do NOT pip install pint or conda install pint! See below!

PINT requires longdouble arithmetic within numpy, which is currently not supported natively on M1 Macs (e.g., with the ARM64 conda build). So it may be better to install the standard osx-64 build and rely on Rosetta.


Conda Version PyPI PyVersions

PINT is now available via PyPI as the package pint-pulsar, so it is now simple to install via pip. For most users, who don’t want to develop the PINT code, installation should just be a matter of:

$ pip install pint-pulsar

By default this will install in your system site-packages. Depending on your system and preferences, you may want to append --user to install it for just yourself (e.g. if you don’t have permission to write in the system site-packages), or you may want to create a virtualenv to work on PINT (using a virtualenv is highly recommended by the PINT developers).

PINT is also available for Anaconda python under the conda-forge channel:

$ conda install -c conda-forge pint-pulsar

The above two options install the latest released version. If you want access to the latest development version, the source code, example notebooks, and tests, you can install from source, by cloning the source repository from GitHub, then install it, ensuring that all dependencies needed to run PINT are available:

$ git clone
$ cd PINT
$ pip install .

Complete installation instructions are available here.


See the online documentation. Specifically:

Are you a NANOGrav member? Then join the #pint channel in the NANOGrav slack.

If you have tasks that aren’t covered in the material above, you can email or one of the people below:

Want to do something new? Submit a github issue.

And for more details, please read and cite(!) the PINT paper.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pint-pulsar-0.9.3.tar.gz (11.6 MB view hashes)

Uploaded source

Built Distribution

pint_pulsar-0.9.3-py3-none-any.whl (11.6 MB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page