Skip to main content

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.

Source Distribution

gravtools-0.1.3.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

gravtools-0.1.3-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file gravtools-0.1.3.tar.gz.

File metadata

  • Download URL: gravtools-0.1.3.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for gravtools-0.1.3.tar.gz
Algorithm Hash digest
SHA256 70c75c4dd70b23935a511a0bb39e1607737e37110a62d5704ff8f9d2b602a9bf
MD5 056ae63bea7f0a970fe881ca28a3c453
BLAKE2b-256 d2679c45005d8e3f0b16d984097ccdd1632cf67163dc4c92cf143e7492fda720

See more details on using hashes here.

File details

Details for the file gravtools-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: gravtools-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for gravtools-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dff0b8b0d58fd0aeef40336da562942248dffa2cdd17d45cf2ee78595a19adbb
MD5 09be8b485d831b5638c0e9d4f9a3c2c0
BLAKE2b-256 177cee51676df3c3e8eb77c0de5bbd852a69ed4ee3cd96176633a1ab4dec702d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page