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 0.0.0

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 0.0.0
File Size Uploaded
holodeck_gw-0.0.0.tar.gz 72.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for holodeck-gw 0.0.0
File
holodeck_gw-0.0.0-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-0.0.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
holodeck_gw-0.0.0-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-0.0.0-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-0.0.0.tar.gz

Download URL holodeck_gw-0.0.0.tar.gz
Size 72.4 MB
Tags Source
SHA-256 checksum
How to use checksums
4ef735f9df08bd9981925bffdb931d633cdb25214722aaeb5312d49506c9d3b7
BLAKE2b-256 checksum
How to use checksums
7a8f412cdbf3c3e2c17c3495594dfbfec6704655ff363e4005a09a92a15eaf41
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-0.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL holodeck_gw-0.0.0-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
edbfc2031d95d638dcf00a5cfe9fa2f732abf08562ae4fa63aee9b89cd871cdb
BLAKE2b-256 checksum
How to use checksums
45028ac4fdbc5a599cdb7ad29a776db83cb91064f7265a126879ed96aa3dc4bf
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-0.0.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL holodeck_gw-0.0.0-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
fd77b9acccc4daef5a31fb560a8e0870705df193bf8530c260c025ad47aec639
BLAKE2b-256 checksum
How to use checksums
1d185750cbe5aedf6e05fbaebdec9444b85fee2ed84d10bdc41fccac7b6e1a67
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-0.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL holodeck_gw-0.0.0-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
923224a5a677247f968ba18e743efe28214d3c99e71f49506b3c197dd6272a1f
BLAKE2b-256 checksum
How to use checksums
d85bb24fc6a3d5471de873b51eaf931063daa35a791267baa574d85a12b5448c
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-0.0.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL holodeck_gw-0.0.0-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
1e6000081a41f113b693b780195b839b796f5ab515c0853f440fb864b6667a35
BLAKE2b-256 checksum
How to use checksums
65e020b7b84bb7e7e1d0f1fd6db2b1b7363c3572f08784eb83531b1bacd4fe87
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

1.6

5 release files

1.5.2

7 release files

1.3

7 release files

1.0

2 release files

This release

0.0.0 This release

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