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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gwexpy-0.2.3.tar.gz.
File metadata
- Download URL: gwexpy-0.2.3.tar.gz
- Upload date:
- Size: 796.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5e752c6a53b5c6cabf41de309ca3077534f068384425deff3b1bccc461377b2
|
|
| MD5 |
5809484db00057aeaeed83e62d792011
|
|
| BLAKE2b-256 |
db947803d5b2c3292f9073b9d745867db240a5f57e4166e341e433f045ea4ecc
|
Provenance
The following attestation bundles were made for gwexpy-0.2.3.tar.gz:
Publisher:
publish-release.yml on tatsuki-washimi/gwexpy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gwexpy-0.2.3.tar.gz -
Subject digest:
a5e752c6a53b5c6cabf41de309ca3077534f068384425deff3b1bccc461377b2 - Sigstore transparency entry: 2725835302
- Sigstore integration time:
-
Permalink:
tatsuki-washimi/gwexpy@75d3d1a89ebc8942af1f3228152fea99d2d3420e -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/tatsuki-washimi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@75d3d1a89ebc8942af1f3228152fea99d2d3420e -
Trigger Event:
push
-
Statement type:
File details
Details for the file gwexpy-0.2.3-py3-none-any.whl.
File metadata
- Download URL: gwexpy-0.2.3-py3-none-any.whl
- Upload date:
- Size: 902.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e73da65cff769615fc78e264f6f17730573472a8587031444ccef237294e1e9c
|
|
| MD5 |
b0e39ab866e7b7931036be483c11373a
|
|
| BLAKE2b-256 |
a9bdc0e01306c715bb20d0ed109f38d5934078ed0c36e7853d54dfb04208415b
|
Provenance
The following attestation bundles were made for gwexpy-0.2.3-py3-none-any.whl:
Publisher:
publish-release.yml on tatsuki-washimi/gwexpy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gwexpy-0.2.3-py3-none-any.whl -
Subject digest:
e73da65cff769615fc78e264f6f17730573472a8587031444ccef237294e1e9c - Sigstore transparency entry: 2725835326
- Sigstore integration time:
-
Permalink:
tatsuki-washimi/gwexpy@75d3d1a89ebc8942af1f3228152fea99d2d3420e -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/tatsuki-washimi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@75d3d1a89ebc8942af1f3228152fea99d2d3420e -
Trigger Event:
push
-
Statement type: