gwexpy: GWpy Expansions for Experiments
gwexpy is an extension library for GWpy for experimental physics and gravitational-wave data analysis. It adds matrix-aware containers, field operations, fitting workflows, expanded I/O, and interoperability layers while preserving the default finite numerical results, sample selection, and axis behavior of corresponding GWpy APIs. Intentional divergence from these guarantees requires explicit user opt-in, except for a named, human-approved safety exception that satisfies every compatibility-policy gate.
GWexpy is an independent package built on top of GWpy. It is not an official component of the GWpy project.
Read the project-wide GWpy behavioral compatibility policy or its Japanese translation.
Install
GWexpy v0.2.0 is available from both PyPI and conda-forge.
python -m pip install gwexpy
# or
conda install -c conda-forge gwexpy
The experimental GUI app is not part of the supported package surface.
For optional extras, external dependencies, and environment-specific setup, use the official installation guides:
- English: https://tatsuki-washimi.github.io/gwexpy/docs/tutorials/installation.html
- 日本語: https://tatsuki-washimi.github.io/gwexpy/docs/ja/tutorials/installation.html
Documentation
The full documentation is maintained in the docs site and is the source of truth for usage details.
- Documentation hub: https://tatsuki-washimi.github.io/gwexpy/docs/
- ドキュメントハブ: https://tatsuki-washimi.github.io/gwexpy/docs/ja/
- Installation: https://tatsuki-washimi.github.io/gwexpy/docs/tutorials/installation.html
- Tutorials: https://tatsuki-washimi.github.io/gwexpy/docs/tutorials/
- How-to guides: https://tatsuki-washimi.github.io/gwexpy/docs/how-to/
- API reference: https://tatsuki-washimi.github.io/gwexpy/docs/reference/
Why gwexpy?
- Matrix-native analysis:
TimeSeriesMatrix,FrequencySeriesMatrix, andSpectrogramMatrixsupport batch processing, transfer functions, and multichannel workflows. - Physics-oriented containers:
ScalarField,VectorField, andTensorFieldextend analysis beyond simple series into structured field data. - Practical workflows: fitting, noise hunting, time-frequency analysis, and interoperability are exposed as user-facing workflows rather than isolated utilities.
- Broad interoperability and I/O: gwexpy bridges scientific Python tools and extends format coverage beyond core GWpy workflows.
Where gwexpy Fits
gwexpy occupies the layer between GWpy and the workflow packages built on top of it. GWpy provides the standard gravitational-wave data objects; gwexpy adds matrix-aware containers, typed analysis results, broad I/O, and external-tool conversion; detector-characterization, search, and inference pipelines consume those products.
It is complementary to, not a replacement for, packages such as spicypy (signal processing and control systems) and GWDama (HDF5-first data preparation). Site-specific operational pipelines, operator-facing reports, job orchestration, and trigger generation are deliberately out of scope.
For the full comparison, the ecosystem map, and the third-party code policy, see:
- Ecosystem positioning: https://tatsuki-washimi.github.io/gwexpy/docs/explanation/ecosystem.html
- エコシステムにおける位置付け: https://tatsuki-washimi.github.io/gwexpy/docs/ja/explanation/ecosystem.html
Quick Start
import numpy as np
import gwexpy
from gwexpy.timeseries import TimeSeries, TimeSeriesList
gwexpy.register_all()
ts1 = TimeSeries(np.arange(8.0), dt=1.0, name="A")
ts2 = TimeSeries(np.arange(8.0) * 2.0, dt=1.0, name="B")
matrix = TimeSeriesList([ts1, ts2]).to_matrix()
asd = matrix.asd(fftlength=2.0)
print(matrix.shape)
This example explicitly registers the full supported surface. Supported public I/O entry points can register their required handlers on demand.
For fitting, I/O, interoperability, and notebook-based workflows, start from the docs hub or the tutorial index above.
More Resources
- Migration notes for GWpy users: https://tatsuki-washimi.github.io/gwexpy/docs/how-to/migration.html
- Known limitations: https://tatsuki-washimi.github.io/gwexpy/docs/about/known_limitations.html
- Citation: https://tatsuki-washimi.github.io/gwexpy/docs/about/citation.html
- Reproducibility notes: docs/repro/README.md
- Supported I/O matrix: SUPPORTED_IO_MATRIX.md
Support
- Lightweight bug reports and feature requests: https://forms.gle/Ewx5K69KqDvzrJp57
- Security reports: see SECURITY.md; do not use the form or public issues for vulnerability details.
- Issues: https://github.com/tatsuki-washimi/gwexpy/issues
- Discussions: https://github.com/tatsuki-washimi/gwexpy/discussions
- Contributions: pull requests are welcome on GitHub
Metadata
Release files for gwexpy 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gwexpy-0.2.5.tar.gz | 826.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gwexpy-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / gwexpy-0.2.5.tar.gz
| Download URL | gwexpy-0.2.5.tar.gz |
|---|---|
| Size | 826.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88af712a54214ed4ecfec7eecc6084c7ec07c552bec029a5e62c4787647a6094
|
|
BLAKE2b-256 checksum How to use checksums |
ab259c40fed6f835c82290c0591a9147b760ec8fe227dc3dd631b6284436255d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / gwexpy-0.2.5-py3-none-any.whl
| Download URL | gwexpy-0.2.5-py3-none-any.whl |
|---|---|
| Size | 929.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc00f1d50075f089b8fd7b262940056793fb9e17229b1d5edf992f20081c4385
|
|
BLAKE2b-256 checksum How to use checksums |
151cb958ba6410ff803970023b1f06077fcb2780fbb986dc15a582fcf7980a69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log