Skip to main content

PyBird

The Python code for Biased tracers in redshift space

  • EFT predictions for correlators of biased tracers in redshift space
  • Likelihoods of galaxy-clustering data with EFT predictions

General info

Fast correlator computation

  • One-loop EFT predictions for two-point (2pt) functions:
    - dark matter or biased tracers
    - real or redshift space
    - Fourier (power spectrum) or configuration space (correlation function)
  • Additional modeling:
    - geometrical (AP) distortion
    - survey mask
    - binning
    - exact-time dependence
    - wedges / P-statistics
    - and more...
  • JAX acceleration with model-independent neural network emulators

Likelihoods with EFT predictions

Currently available:

BOSS DR12 LRG 2pt full-shape + rec. bao
BOSS-like simulations - PT|ABFG-D|patchy
eBOSS DR16 QSO 2pt full-shape

Soon available:

[BOSS DR12 LRG 3pt full-shape]

Documentation

Read the docs at https://pierrexyz.github.io/pybird.

Installation

PyBird supports multiple installation modes for different use cases:

Repository Installation

For the up-to-date master version, install directly from the GitHub repository:

git clone https://github.com/pierrexyz/pybird.git
cd pybird

Choose your installation mode:

Core PyBird

pip install -e .
  • Includes: NumPy, SciPy, H5PY, emcee, iminuit, pyyaml, fftlog + documentation + development tools

PyBird-JAX

pip install -e ".[jax]"
  • Includes: Everything in Core + JAX ecosystem (jax, jaxlib, flax, optax, numpyro, blackjax, nautilus-sampler)

Backend Control

Regardless of installation mode, you control which backend PyBird uses:

from pybird.config import set_jax_enabled

# Use NumPy backend (works with both installation modes)
set_jax_enabled(False)

# Use JAX backend (works if JAX dependencies are available)
set_jax_enabled(True)

PyPI Installation

PyBird is available on PyPI with both core and JAX installation modes:

Core PyBird (NumPy backend)

pip install --no-binary pybird-lss pybird-lss
  • Includes: NumPy, SciPy, H5PY, emcee, iminuit, pyyaml, fftlog-lss + documentation + development tools

PyBird-JAX (JAX acceleration)

pip install --no-binary pybird-lss "pybird-lss[jax]"
  • Includes: Everything in Core + JAX ecosystem (jax, jaxlib, flax, optax, numpyro, blackjax, nautilus-sampler)

Note: The --no-binary flag is required to ensure data files are included in the installation.

Testing Your Installation

After installation, if you used the repo install you can test that everything works:

cd tests
python run_tests.py

Expected output: 🎉 All tests passed!

For detailed installation instructions, troubleshooting, and testing options, see the documentation.

Getting started

Checkout our full list of tuturials here.

The algebra on which PyBird is based is computed in the mathematica notebook cbird.nb.

Attribution

  • Devs:
  • License: MIT
  • Special thanks to: Marco Bonici, Thomas Colas, Yan Lai, Zhiyu Lu, Arnaud de Mattia, Théo Simon, Luis Ureña, Henry Zheng

When using PyBird in a publication, please acknowledge the code by citing the following paper:

G. D’Amico, L. Senatore, and P. Zhang, "Limits on wCDM from the EFTofLSS with the PyBird code", JCAP 01 (2021) 006, 2003.07956

For PyBird-JAX:

A. Reeves, P. Zhang, and H. Zheng, "PyBird-JAX: Accelerated inference in large-scale structure with model-independent emulation of one-loop galaxy power spectra", 2507.20990

The BibTeX entry are:

@article{DAmico:2020kxu,
    author = "D'Amico, Guido and Senatore, Leonardo and Zhang, Pierre",
    title = "{Limits on $w$CDM from the EFTofLSS with the PyBird code}",
    eprint = "2003.07956",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    doi = "10.1088/1475-7516/2021/01/006",
    journal = "JCAP",
    volume = "01",
    pages = "006",
    year = "2021"
}

@article{Reeves:2025bxn,
    author = "Reeves, Alexander and Zhang, Pierre and Zheng, Henry",
    title = "{PyBird-JAX: Accelerated inference in large-scale structure with model-independent emulation of one-loop galaxy power spectra}",
    eprint = "2507.20990",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    month = "7",
    year = "2025"
}

We would be grateful if you also cite the theory papers when relevant:

The Effective-Field Theory of Large-Scale Structure: 1004.2488, 1206.2926

One-loop power spectrum of biased tracers in redshift space: 1610.09321

Exact-time dependence: 2005.04805, 2111.05739

Wedges / P-statistics: 2110.00016

When using the likelihoods, here are some relevant references:

BOSS DR12 data: 1607.03155, catalogs: 1509.06529, patchy mocks (for covariance estimation): 1509.06400

BOSS DR12 LRG power spectrum measurements: from 2206.08327, using Rustico

BOSS DR12 LRG correlation function measurements: from 2110.07539, using FCFC

BOSS DR12 LRG rec. bao parameters: from 2003.07956, based on post-reconstructed measurements from 1509.06373

BOSS DR12 survey mask measurements: following 1810.05051 with integral constraints and consistent normalization following 1904.08851, from fkpwin, using nbodykit

BOSS EFT likelihood: besides the PyBird paper, see also: 1909.05271, 1909.07951, 2110.07539

PT challenge blind simulations: 2003.08277, with description and submitted results here

eBOSS DR16 data: 2007.08991, catalogs: 2007.09000, EZmocks (for covariance estimation): 1409.1124

eBOSS DR16 QSO power spectrum + survey mask measurements: from 2106.06324

eBOSS EFT likelihood: 2210.14931

*** Disclaimer: due to updates in the data and the prior definition, it is possible that results obtained with up-to-date likelihoods differ slightly with the ones presented in the articles.

Metadata

Release files for pybird-lss 0.3.2

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

Source distribution (sdist)

Source distribution for pybird-lss 0.3.2
File Size Uploaded Provenance
pybird_lss-0.3.2.tar.gz 25.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pybird-lss 0.3.2
File Interpreter ABI Platform
pybird_lss-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 51.0 MB

Release files / pybird_lss-0.3.2.tar.gz

Download URL pybird_lss-0.3.2.tar.gz
Size 25.5 MB
Tags Source
SHA-256 checksum
How to use checksums
a1eedea47003bd073e4cff9eac02684ca3aac764576330465c25e21acb68891d
BLAKE2b-256 checksum
How to use checksums
f74de3e506cdcb4425ed134bc0058988d588b8e4701509631bb63914dd4cba0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Release files / pybird_lss-0.3.2-py3-none-any.whl

Download URL pybird_lss-0.3.2-py3-none-any.whl
Size 25.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d30561ab99de666f4eb78e697414860217d08e64e418c5e9ca6e484f477440b9
BLAKE2b-256 checksum
How to use checksums
df439353eb7018e6843dc6f0bd856130f4b481a4d3a503a6faf3401c0a67866a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Security for pybird-lss 0.3.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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