Skip to main content

asimov-bayeswave

Tests Documentation Status PyPI version License: MIT

BayesWave pipeline integration for Asimov.

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

Features

  • 🔌 Plugin Architecture: Seamlessly integrates with Asimov via entry points
  • 📊 PSD Generation: Automatic power spectral density estimation and collection
  • 🔄 Format Conversion: Converts PSDs to XML format for use with other pipelines
  • 🚀 HTCondor Integration: Automated DAG generation and job submission
  • 📈 Result Collection: Automatic collection of megaplot outputs and visualizations
  • 🎯 PSD Suppression: Support for suppressing frequency bands in PSDs
  • 🧪 Well Tested: Comprehensive unit test coverage

Installation

Via Asimov (Recommended)

If you have asimov 0.7+, you can install gravitational wave pipelines including bayeswave with:

pip install asimov[gw]

This will automatically install asimov-bayeswave and other GW analysis plugins.

From PyPI (when released)

pip install asimov-bayeswave

From Source

git clone https://github.com/transientlunatic/asimov-bayeswave.git
cd asimov-bayeswave
pip install -e .

For Development

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

Quick Start

Once installed, the BayesWave pipeline is automatically available in Asimov. To add a new bayeswave analysis you can create a blueprint YAML file like the following:

kind: analysis
pipeline: bayeswave
comment: PSD generation with BayesWave
likelihood:
  sample rate: 2048
  segment length: 8
data:
  channels:
    H1: H1:GDS-CALIB_STRAIN
    L1: L1:GDS-CALIB_STRAIN
quality:
  minimum frequency:
    H1: 20
    L1: 20

Usage

Via Asimov CLI

# Build the DAG
asimov manage build --production Prod0

# Submit the job
asimov manage submit --production Prod0

# Monitor progress
asimov manage monitor

Via Python API

from asimov_bayeswave import BayesWave

# Create pipeline instance
pipeline = BayesWave(production)

# Build and submit
pipeline.build_dag()
pipeline.submit_dag()

# Collect results after completion
assets = pipeline.collect_assets()
psds = assets["psds"]
xml_psds = assets["xml psds"]

Requirements

  • Python >= 3.9
  • asimov >= 0.7.0
  • numpy
  • BayesWave (must be installed separately)

Documentation

Full documentation is available at asimov-bayeswave.readthedocs.io.

Building Documentation Locally

cd docs
make html

The built documentation will be in docs/build/html/.

Testing

Run the test suite with:

pytest

For coverage reporting:

pytest --cov=asimov_bayeswave --cov-report=html

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure:

  • All tests pass
  • New features include tests
  • Documentation is updated
  • Code follows PEP 8 style guidelines

Migration from Asimov 0.6

If you're upgrading from Asimov 0.6 which included BayesWave support natively:

  1. Install this plugin: pip install asimov-bayeswave
  2. The plugin will be automatically discovered by Asimov 0.7+
  3. No changes to your configuration files are required

License

This project is licensed under the MIT License - see the LICENSE file for details.

Authors

Acknowledgments

  • The LIGO Scientific Collaboration
  • The BayesWave development team
  • The Asimov development team

Citation

If you use this software in your research, please cite:

@software{asimov_bayeswave,
  author = {Williams, Daniel},
  title = {asimov-bayeswave: BayesWave integration for Asimov},
  url = {https://github.com/transientlunatic/asimov-bayeswave},
  year = {2026}
}

Support

For issues, questions, or contributions, please use the GitHub issue tracker.

Download files

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

Source Distribution

asimov_bayeswave-0.2.0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

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

asimov_bayeswave-0.2.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file asimov_bayeswave-0.2.0.tar.gz.

File metadata

  • Download URL: asimov_bayeswave-0.2.0.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for asimov_bayeswave-0.2.0.tar.gz
Algorithm Hash digest
SHA256 966f694dc9ef4d146ee796ad8fba9857ff999931a42ee3da935dd78b00c13b23
MD5 77171b9ea10ed493d45b2dfee71b9861
BLAKE2b-256 8b1b6b3835e3c7ac3685553711085793c689a429da60aea35406b5e3533a62df

See more details on using hashes here.

File details

Details for the file asimov_bayeswave-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for asimov_bayeswave-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89234c782b554908235d2a7033af709c9909f84faeb1b8c0c2ccc10ede766ccd
MD5 1d023f388fec29cf90c5d01998a9c4c3
BLAKE2b-256 6a7b9376636904ebcaa55d3446357ce3808b42af097d2259ee9f1c3b6472c285

See more details on using hashes here.

Supported by

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