igwn-ligolw
Python LIGO Light-Weight XML I/O Library
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python ≥3.9; depends on igwn-segments, numpy, python-dateutil, pyyaml, and tqdm.
- 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.
License · maintenance · safety
GPL-3.0-or-later (copyleft) — 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.
last release 2026-01-19 (207 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 97,992 downloads/mo, #13,117 on PyPI
Alternatives
Verify before relying
pip install igwn-ligolw
import igwn.ligolw
# Load and parse a LIGOLW XML document
doc = igwn.ligolw.load('data.xml')- 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.
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 on it.
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
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.
Requires Python ≥3.9; depends on igwn-segments, numpy, python-dateutil, pyyaml, and tqdm.
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')
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 packagesigwn-segmentsnumpypython-dateutilpyyamltqdm |
| 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 |
| Classifiers | 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 |
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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “LIGO XML format I/O”
- igwn-ligolwReads, writes, and manipulates LIGO Light-Weight XML documents used…
- dttlibdttlib provides frequency-domain analysis tools for LIGO…
- lscsoft-glueLSCSoft-GLUE provides utilities and grid access tools for running…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also dttlib · igwn-segments · lalsuite · igwn-auth-utils · lscsoft-glue · python-didl-lite · pygexf · parsel · xml-python · pykml