Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Gravitational tools for Python

Project description

Gravitational Wave utilities in Python

The gravtools module is a complementary module to the existing, well-written libraries pycbc and gwpy. This package began as a few simple utilities, such as constants and date conversion helper functions.

Build Status

Useful Constants

The gravtools package includes some human-readable, enumerated constants for key components of the PyCBC module structure, such as Detector names and Merger parameter names. This is made necessary since PyCBC often relies on a lazy-loading pattern for attributes, using the setattr function to assign attributes to primary classes like Merger. Unfortunately, this makes these attributes uninspectable by most IDEs. Also the names of these attributes are occasionally less-than-legible.

>>> from gravtools import MergerParameters, Observatory
>>> Observatory.LIGOHanford
'H1'

>>> MergerParameters.RadiatedEnergy, MergerParameters.FinalSpin
('E_rad', 'a_final')

Time Conversion

Gravitational wave data uses GPS time format, which is a float number of seconds since the GPS era. The time module in gravtools contains a utility function to convert from GPS time to the builtin datetime.

>>> from gravtools import time
>>> time.gps_to_datetime(1187529241)
datetime.datetime(2017, 8, 23, 13, 14, 20)

Merger Formatting

The Merger class in the PyCBC module doesn't have a clean repr by default. The merger module in the gravtools package includes formatting utilities for Merger objects, mostly for quick inspection and display purposes (for example, in a Jupyter notebook).

>>> from gravtools import merger
>>> from pycbc import catalog
>>> m = catalog.Merger('GW150914')
>>> merger.summary(m)
'Merger[GW150914](Mass1=35.6, Mass2=30.6, FinalSpin=0.69)'

The parameters displayed are configurable as well, using the parameters argument

>>> merger.summary(m, parameters=[MergerParameters.Redshift])
'Merger[GW150914](Redshift=0.09)'

Project details


Download files

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

Files for gravtools, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size gravtools-0.1.3-py3-none-any.whl (7.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size gravtools-0.1.3.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page