igwn-ligolw
Python LIGO Light-Weight XML I/O Library
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-ligolwuv
uv add igwn-ligolwpoetry
poetry add igwn-ligolwInstalling 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
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
dttlibdttlib provides frequency-domain analysis tools…
unclear · top 15,000 on PyPI
igwn-segmentsProvides segment, segmentlist, and…
copyleft · top 15,000 on PyPI
lalsuiteLALSuite provides data analysis routines for…
copyleft · top 15,000 on PyPI
igwn-auth-utilsDiscovers and deserializes X.509 credentials…
permissive · top 15,000 on PyPI
lscsoft-glueLSCSoft-GLUE provides utilities and grid access…
copyleft · top 15,000 on PyPI
python-didl-liteReads and writes DIDL-Lite XML documents, a…
permissive · top 15,000 on PyPI
pygexfPygexf writes network graph data to GEXF (Graph…
unclear · top 15,000 on PyPI
parselParsel extracts data from HTML, JSON, and XML…
permissive · top 5,000 on PyPI
xml-pythonConverts XML documents into Python objects,…
copyleft · top 5,000 on PyPI
pykmlpyKML parses and creates KML documents using a…
permissive · top 15,000 on PyPI