Skip to main content

holodeck

build codecov Documentation Status

Massive Black-Hole Binary Population Synthesis for Gravitational Wave Calculations ≋●≋●≋

holodeck logo

This package provides a comprehensive framework for MBH binary population synthesis. The framework includes modules to perform population synthesis using a variety of methodologies from semi-analytic models, to cosmological hydrodynamic simulations, and even observationally-derived galaxy merger catalogs.

Getting Started

(1) Read the getting started guide.
(2) Install holodeck following the Installation instructions below. (3) Explore the package demonstration notebooks.

Installation

The holodeck framework is currently under substantial, active development. Stable versions are now available with pip install holodeck-gw (see holodeck on pypi). However, recent versions and many development tools will not generally be available with pip or conda install.

holodeck requires python >= 3.11 (with support for: 3.11, 3.12). The recommended installation is:

(0) OPTIONAL & recommended: create and activate a new anaconda environment to isolate your build:

conda create --name holo311 python=3.11; conda activate holo311

Note that you will need to activate this environment every time you want to use holodeck. If you're not familiar with anaconda, take a look at their official Getting started guide. To use your anaconda environment with jupyter notebooks, make sure to add this environment to your ipython kernels:

conda install -c conda-forge ipykernel
python -m ipykernel install --user --name=holo311

(1) Clone the holodeck repository, and move into the repo directory:

git clone https://github.com/nanograv/holodeck.git; cd holodeck

(2) Install the required external packages specified in the requirements file:

pip install -r requirements.txt

OPTIONAL: install development requirements::

pip install -r requirements-dev.txt

(3) Build the required c libraries from holodeck cython code:

python setup.py build_ext -i

(4) Perform a development/editable local installation:

python setup.py develop

The 'editable' installation allows the code base to be modified, and have those changes take effect when using the holodeck module without having to rebuild/reinstall it. Note that any changes to the cython library files do still require a rebuild by running steps (3) and (4) above.

MPI

For some scripts (particularly for generating libraries), an MPI implementation is required (e.g. openmpi), along with the mpi4py package. This is not included as a requirement in the requirements.txt file as it significantly increases the installation complexity, and is not needed for many holodeck use cases. If you already have an MPI implementation installed on your system, you should be able to install mpi4py with anaconda: conda install mpi4py. To see if you have mpi4py installed, run python -c 'import mpi4py; print(mpi4py.__version__)' from a terminal.

macos users: if you are using homebrew on macos, you should be able to simply run: brew install mpi4py which will include the required openmpi implementation.

Quickstart

(1) Read the Getting Started Guide.
(2) Explore the package demonstration notebooks in holodeck/notebooks.

Documentation

Full package documentation for holodeck is available on readthedocs.

Contributing & Development

Contributions are not only welcome but encouraged, anywhere from new modules/customizations to bug-fixes to improved documentation and usage examples. Please see Development & Contributions.

Copyright (c) 2024, NANOGrav

The holodeck package uses an MIT license.

Attribution & Referencing

A dedicated paper on holodeck is currently in preparation, but the package is also described in the recent astrophysics analysis from the NANOGrav 15yr dataset.

@ARTICLE{2023ApJ...952L..37A,
      author = {{Agazie}, Gabriella and {et al} and {Nanograv Collaboration}},
      title = "{The NANOGrav 15 yr Data Set: Constraints on Supermassive Black Hole Binaries from the Gravitational-wave Background}",
      journal = {\apjl},
         year = 2023,
      month = aug,
      volume = {952},
      number = {2},
         eid = {L37},
      pages = {L37},
         doi = {10.3847/2041-8213/ace18b},
archivePrefix = {arXiv},
      eprint = {2306.16220},
primaryClass = {astro-ph.HE},
      adsurl = {https://ui.adsabs.harvard.edu/abs/2023ApJ...952L..37A},
}

Metadata

Release files for holodeck-gw 1.6

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

Source distribution (sdist)

Source distribution for holodeck-gw 1.6
File Size Uploaded
holodeck_gw-1.6.tar.gz 72.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for holodeck-gw 1.6
File
holodeck_gw-1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
holodeck_gw-1.6-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
holodeck_gw-1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
holodeck_gw-1.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 365.5 MB

Release files / holodeck_gw-1.6.tar.gz

Download URL holodeck_gw-1.6.tar.gz
Size 72.4 MB
Tags Source
SHA-256 checksum
How to use checksums
440767f35d43a90a49f302cbf652f793998a38b3e32f440adc57d16f5794b741
BLAKE2b-256 checksum
How to use checksums
4d353db8123d69374c0567fb8de56ff4553bce408fc63aa2c64b26b037ea8c65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / holodeck_gw-1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL holodeck_gw-1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 73.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bd32e11bcc50509aa2649d0240f4357cf665ec8e0d0a6987ca58fce5376506d8
BLAKE2b-256 checksum
How to use checksums
cb6831311f8e1af2799be37d7f362423e9c6251b84c60592dc726ee6156e75f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / holodeck_gw-1.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL holodeck_gw-1.6-cp312-cp312-macosx_11_0_arm64.whl
Size 72.7 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
633c371c05d2c42f62865e34bf656eaf996eac512cecbc4ccd519926a4daf5f5
BLAKE2b-256 checksum
How to use checksums
a85b07f3034cacb2e8cafeb7d760607cdd2afa31429935d55b3da39a20e99dea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / holodeck_gw-1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL holodeck_gw-1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 73.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5eb6fe484bfbb8b420db60f2e13624e75471a60b8fd71e8201b8067f5cd41e3a
BLAKE2b-256 checksum
How to use checksums
72f99a7f0320e3c40105d7e877534f12ef9f70df23b56854d9a209083831303f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / holodeck_gw-1.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL holodeck_gw-1.6-cp311-cp311-macosx_11_0_arm64.whl
Size 72.7 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0532d5e0f598ee5f8096e5b455ab1e14d64fd41c11bc2754be7858cf1471e913
BLAKE2b-256 checksum
How to use checksums
9f05ccae0bdbab9df97515093462d3715689a85fb458cb996cdda04fdee80421
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.6 This release

5 release files

1.5.2

7 release files

1.3

7 release files

1.0

2 release files

0.0.0

5 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