Skip to main content

asimov-lalinference

LALInference pipeline integration for Asimov.

This package provides a plugin for Asimov 0.7+ that enables integration with the LALInference parameter estimation pipeline for gravitational wave data analysis.

[!WARNING] LALInference has been superseded by newer sampling pipelines (bilby, RIFT) and this integration is not fully reviewed. It must not be used for collaboration parameter estimation analyses. It remains useful for cross-checks and for replicating older analyses.

Features

  • 🔌 Plugin Architecture: Seamlessly integrates with Asimov via entry points
  • 🚀 Scheduler-agnostic: Automated DAG generation and job submission via Asimov's HTCondor/Slurm scheduler API
  • 📈 Result Collection: Automatic collection of posterior samples and results
  • 🧪 Well Tested: Unit tests plus a genuine end-to-end test (real lalinference_pipe DAG generation and HTCondor execution against LALInference's own simulated noise)

Installation

LALInference itself is only distributed via conda-forge — there is no PyPI wheel for it — so installing this plugin is a two-step process:

conda install -c conda-forge lalinference
pip install asimov-lalinference

From Source

conda install -c conda-forge lalinference
git clone https://github.com/transientlunatic/asimov-lalinference.git
cd asimov-lalinference
pip install -e .

For Development

pip install -e ".[docs,test]"

Quick Start

Once installed (alongside a working lalinference_pipe, from the conda-forge lalinference package), the LALInference pipeline is automatically available in Asimov via its entry-point registry — no further configuration is required beyond a normal Asimov production blueprint. See the documentation for a full example blueprint.

Requirements

  • Python >= 3.10 (the conda-forge lalinference feedstock does not build for older Pythons)
  • asimov >= 0.7.0
  • conda-forge::lalinference — install separately with conda install -c conda-forge lalinference (there is no asimov[gw] extra in asimov core today that would pull this in automatically; each GW pipeline plugin, including this one, currently needs to be installed explicitly)

Operational notes

HTCondor pools without an IGWN-style job wrapper

lalinference_pipe generates a small lalinf_touch_output placeholder script per engine node and wires it in via custom +PreCmd/+PreArguments job classads, so that any declared output file the real executable doesn't happen to write for a given run (e.g. the SNR summary file, which isn't always produced) still exists as an empty placeholder by the time HTCondor transfers job outputs — otherwise the transfer hard-fails with something like:

Transfer output files failure ... Details: 1 total failures: first failure: reading from
file .../lalinferencenest-...-1.hdf5_snr.txt: (errno 2) No such file or directory

+-prefixed classads aren't a native HTCondor pre-exec hook — real IGWN/LIGO condor pools apparently have a USER_JOB_WRAPPER configured site-wide that interprets this convention, but a vanilla HTCondor install (e.g. the htcondor/mini test image this repo's own CI uses, or your own self-hosted pool) does not, and lalinf_touch_output silently never runs. If you hit the error above on a pool you control, configure a USER_JOB_WRAPPER that reads PreCmd/PreArguments off the job ad (available via the $_CONDOR_JOB_AD file HTCondor provides to every job) and runs it before the real executable — see .github/workflows/e2e.yml in this repo for a working example.

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Download files

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

Source Distribution

asimov_lalinference-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asimov_lalinference-0.1.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file asimov_lalinference-0.1.0.tar.gz.

File metadata

  • Download URL: asimov_lalinference-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for asimov_lalinference-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8c4e1d019d9bab024a916bc49351fb232375f8353f90f1b065af530354101d93
MD5 3b9949a1e9bdb380f034b628766d375a
BLAKE2b-256 c89c99fe9f57958b2320e1ea7c72845e38bdf644591f43ae6065ed3df16963ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for asimov_lalinference-0.1.0.tar.gz:

Publisher: publish.yml on etive-io/asimov-lalinference

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asimov_lalinference-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for asimov_lalinference-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa5455da2db8e3c905512ad640effa3606bbc1078a01e194d847d7e03a178b0d
MD5 1aed6eae8cc10614ceda533c86ed16a1
BLAKE2b-256 6c8d0ea2c3eddeb66f59e2e6d6687bd630d501fc55959863529fabf55b3544f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for asimov_lalinference-0.1.0-py3-none-any.whl:

Publisher: publish.yml on etive-io/asimov-lalinference

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page