skillfed

igwn-ligolw

Python LIGO Light-Weight XML I/O Library

igwn-ligolw v2.1.1 98.0K downloads/30d#13,117 on PyPI
Copyleft license GPL-3.0-or-later AGING released

What it is and what it does

igwn-ligolw is a Python I/O library for the LIGO Light-Weight XML format, a specialized XML schema used extensively in gravitational-wave astronomy for compact object detection pipelines and associated analysis tools. The package was forked in 2024 from the original python-ligo-lw project and provides core functionality to read, write, and interact with LIGOLW documents programmatically.

The library integrates with standard scientific Python dependencies (numpy, pyyaml, tqdm, python-dateutil) and the igwn-segments package to handle time-interval logic. It is classified as Mature and supports Python 3.9 through 3.14, with prebuilt wheels available for common platforms. The copyleft GPL-3.0-or-later license means any derivative work must remain open-source.

Use it for:

  • Parse and extract event data from LIGO detector output XML files in gravitational-wave analysis workflows.
  • Serialize detector metadata and pipeline results back to LIGOLW format for archival or downstream tool consumption.
  • Integrate LIGOLW document handling into custom compact object detection or parameter estimation pipelines.
  • Convert or validate LIGOLW XML schemas as part of data quality or format migration tasks.
  • Access and manipulate time-interval metadata stored in LIGOLW documents using igwn-segments integration.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads, writes, and manipulates LIGO Light-Weight XML documents used in gravitational-wave detection pipelines and related scientific analysis.

Yes, if you work with LIGO gravitational-wave data or compact object detection pipelines. The package is mature, actively maintained (last release 207 days ago), has no known vulnerabilities, and provides the standard Python interface for LIGOLW I/O. The copyleft license is a constraint only if you need proprietary distribution. Medium install friction is acceptable for a specialized scientific library with prebuilt wheels.

Install

igwn-ligolw on PyPI

pip

pip install igwn-ligolw

uv

uv add igwn-ligolw

poetry

poetry add igwn-ligolw

Installing igwn-ligolw

Before you install

Medium install friction with prebuilt wheels for Python 3.10–3.13 across macOS, Linux, and musl platforms. Last release 207 days ago; marked as aging but classified as Mature. Requires Python ≥3.9.

License in practice

Licensed under GPL-3.0-or-later (copyleft). Any derivative work or bundled distribution must also be open-source under compatible terms; proprietary use requires explicit permission or relicensing.

Quickstart

pip install igwn-ligolw

import igwn.ligolw

# Load and parse a LIGOLW XML document
doc = igwn.ligolw.load('data.xml')

Requires Python ≥3.9; depends on igwn-segments, numpy, python-dateutil, pyyaml, and tqdm.

Verify before relying

  • Exact API surface and supported LIGOLW schema versions not detailed in excerpt.
  • Performance characteristics for large XML documents not specified.
  • Whether the fork from python-ligo-lw introduces breaking changes or maintains backward compatibility.

Package facts

License GPL-3.0-or-later (copyleft)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies 5 — igwn-segments, numpy, python-dateutil, pyyaml, tqdm
Maintenance aging — 207 days since the last release
First released
Downloads 97,992/month — #13,117 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: igwn_ligolw-2.1.1-cp310-cp310-macosx_12_0_arm64.whl; igwn_ligolw-2.1.1-cp310-cp310-macosx_13_0_x86_64.whl; igwn_ligolw-2.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; igwn_ligolw-2.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; igwn_ligolw-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl; igwn_ligolw-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl; igwn_ligolw-2.1.1-cp311-cp311-macosx_12_0_arm64.whl; igwn_ligolw-2.1.1-cp311-cp311-macosx_13_0_x86_64.whl; igwn_ligolw-2.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; igwn_ligolw-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; igwn_ligolw-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl; igwn_ligolw-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl; igwn_ligolw-2.1.1-cp312-cp312-macosx_13_0_x86_64.whl; igwn_ligolw-2.1.1-cp312-cp312-macosx_15_0_arm64.whl; igwn_ligolw-2.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; igwn_ligolw-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; igwn_ligolw-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl; igwn_ligolw-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl; igwn_ligolw-2.1.1-cp313-cp313-macosx_12_0_arm64.whl; igwn_ligolw-2.1.1-cp313-cp313-macosx_13_0_x86_64.whl

Development Status :: 6 - MatureIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)Natural Language :: EnglishOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.6Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: AstronomyTopic :: Scientific/Engineering :: PhysicsTopic :: Software Development :: LibrariesTopic :: Text Processing :: Markup :: XML

Tags

LIGO XML format I/Ogravitational wave data formatcompact object detection XMLLIGOLW document parserscientific XML serialization
gravitational-wavesxml-ioligo

More Libraries packages