Skip to main content
PINT Logo

PINT

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

PINT is not TEMPO3

PINT is a project to develop a pulsar timing solution based on python and modern libraries. It is still in active development, but it is in production use by the NANOGrav collaboration and it has been demonstrated 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 PINT was developed are:

  • To have a robust system to produce 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.

IMPORTANT Notes!

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 (80- or 128-bit floating point) arithmetic within numpy. On native macOS ARM Python builds, numpy.longdouble is usually just float64, which is not enough for high-precision timing. Prefer one of:

  • Linux containers on Apple Silicon (recommended): a multi-arch image such as nanograv/ng20:cpu provides a native linux/arm64 environment with true IEEE binary128 longdouble — full PINT precision at native speed (no Rosetta). See the installation docs for short usage examples, including optional pintk GUI setup.

  • Rosetta / osx-64 conda or Pixi: an x86_64 Python stack under Rosetta also works (80-bit longdouble), but is slower than a native arm64 Linux container. See conda-forge tips for Apple Intel packages on Apple silicon.

Installing

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 https://github.com/nanograv/PINT.git
$ cd PINT
$ pip install .

Complete installation instructions are available on readthedocs.

Using

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 pint@nanograv.org 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_1 and paper_2.

Articles that cite the PINT paper can be found in an ADS Library. A list of software packages that use PINT can be found here.

Metadata

Release files for pint-pulsar 1.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pint-pulsar 1.1.7
File Size Uploaded
pint_pulsar-1.1.7.tar.gz 66.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pint-pulsar 1.1.7
File Interpreter ABI Platform
pint_pulsar-1.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 68.3 MB

Release files / pint_pulsar-1.1.7.tar.gz

Download URL pint_pulsar-1.1.7.tar.gz
Size 66.9 MB
Tags Source
SHA-256 checksum
How to use checksums
f5cd2050512b4d4b8dd1f118e48df7b80d732c0df958154bafbbf79b085665df
BLAKE2b-256 checksum
How to use checksums
af0a153e2e6681c29b563190776d2e3a91ed38406484020afaa2549d2324e2c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / pint_pulsar-1.1.7-py3-none-any.whl

Download URL pint_pulsar-1.1.7-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2c982deba59d2d8a6376f1af5cee40f97c9df8fa2fe65e419fd68e61da52c275
BLAKE2b-256 checksum
How to use checksums
6a88e4e36af2609bac0c87c8f407ec297f754f585d299273c89e2716b4f8c5ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release history Release notifications | RSS feed

1.1.8

2 release files

This release

1.1.7 This release

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8

2 release files

0.7

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.5.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page