GWFrames
Manipulate gravitational waveforms — changing frames, and so on.
The code in this project extends code written for the paper "Angular velocity of gravitational radiation from precessing binaries and the corotating frame", giving an explicit implementation of the methods discussed in it. The first commit of this project is the last commit of the paper's project.
The license for using this software is basically open (see the LICENSE file in this directory), though citations to the original paper are appreciated, where relevant. Also, if your work depends on features found in this module that have not been described in a separate publication of mine, I would appreciate the opportunity to be a coauthor.
Note that this code is not optimized. In many cases, obvious optimizations were rejected in favor of clearer or simpler code, or code that simply reflected the discussion in the paper more directly. The code is generally more than fast enough for interactive use on individual waveforms, but there is plenty of room for improvement. In particular, rotations may be painfully slow for large data sets.
Installation
GWFrames requires Python 3.11 or newer, on Linux or macOS.
With uv or pip
Binary wheels for Linux and macOS (x86_64 and arm64) are published on PyPI, so the simplest installation is
uv add GWFrames # in a uv project
uv pip install GWFrames # or in any virtual environment
pip install GWFrames # or with pip
To install the latest code from GitHub, or on any platform without a wheel, GWFrames is compiled from source. That needs a C++ compiler, GSL, and FFTW, which are available from most package managers:
sudo apt-get install libgsl-dev libfftw3-dev # Debian or Ubuntu
brew install gsl fftw # macOS with Homebrew
after which
uv pip install "git+https://github.com/moble/GWFrames"
builds and installs it. (The submodules are fetched automatically.) If GSL or
FFTW is installed somewhere unusual, set CMAKE_PREFIX_PATH to its prefix.
With mamba or conda
All of the build requirements are available from conda-forge:
mamba create -n gwframes -c conda-forge python numpy scipy h5py gsl fftw \
cxx-compiler cmake ninja pkg-config pybind11 scikit-build-core
mamba activate gwframes
python -m pip install --no-deps --no-build-isolation "git+https://github.com/moble/GWFrames"
Checking the installation
python -c 'import GWFrames; W = GWFrames.PNWaveform("TaylorT4", 0.0, [0., 0., 0.9], [0.0, 0.0, 0.9], 0.01); print("That worked!")'
Usage
The primary objects are Waveform and PNWaveform, with various methods
defined for each; quaternions and functions of arrays of quaternions are in
GWFrames.Quaternions. Detailed documentation of most functions may be found
through Python's help function, as in help(GWFrames.Waveform). A Jupyter
notebook in the Docs directory contains extensive examples, following the
outline of the paper.
Changes from the SWIG-based versions
Version 2 replaces the SWIG bindings with pybind11,
and the old setup.py with CMake and
scikit-build-core. The Python
interface is almost entirely unchanged, apart from these differences:
- The separate
Quaternionsmodule is nowGWFrames.Quaternions, soimport Quaternionsbecomesfrom GWFrames import Quaternions, andGWFrames.Quaternionis also available. - Methods that modify a
Waveformin place and return it (such asTransformToCorotatingFrame) return the very same Python object, including forPNWaveform.
Several bugs were fixed along the way, notably that Quaternion objects
compared equal exactly when they were not equal, and that Hybridize read
past the end of an array and could not handle waveforms in an inertial frame.
Development
Clone the repository with its submodules, then build and test it with uv:
git clone --recursive https://github.com/moble/GWFrames.git
cd GWFrames
uv sync --no-editable
uv run --no-sync pytest
The C++ code is in cpp/, the pybind11 bindings in cpp/bindings/, and the
Python package in src/GWFrames/. The submodules Quaternions,
SphericalFunctions, SpacetimeAlgebra, and PostNewtonian, along with a
vendored copy of spinsfast, are in
extern/. The tests include a comparison with results recorded from the last
SWIG-based build; see tests/reference/generate_swig_reference.py.
Releases are published to PyPI automatically when a GitHub release is created.
Note on licensing: spinsfast, GSL, and FFTW are licensed under the GNU GPL, and the binary wheels link all three statically, so the wheels as a whole are covered by the GPL.
Contributions
The code is primarily written by me (Mike Boyle). Dan Hemberger helped by porting some of my older code from Triton to perform noise-weighted overlap calculations, and with numerous bug reports and helpful suggestions. Serguei Ossokine also helped substantially by cross-checking the post-Newtonian formulas and results. Dante Iozzo has done his best to keep things working as this code enters its dotage.
Other contributions are entirely welcome. If you have a bug report, just go to the issues page for this repo, check for related issues, and if this is new click "New Issue". If you want to contribute code, please open a pull request.
Metadata
Release files for GWFrames 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gwframes-2.0.0.tar.gz | 2.1 MB | With provenance | Details for gwframes-2.0.0.tar.gz |
Built distributions (wheels)
Total release size: 28.1 MB
Release files / gwframes-2.0.0.tar.gz
| Download URL | gwframes-2.0.0.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aef964b1013ac9da3f8ca0845561e45c8cca2a69b9da6f2dbe1e24ceec1b407a
|
|
BLAKE2b-256 checksum How to use checksums |
916700087766a7692bbfc813139144dcdfa0faf4608dde47cb1544cf2c594c50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | gwframes-2.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
10eee644a6b226139db3c0cf73c53733267e103f02180914164cb18d7b2e1544
|
|
BLAKE2b-256 checksum How to use checksums |
a3305091c1370b534dad4f491b50e75cc6020ca204343996ff711a59309cb5d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | gwframes-2.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
827ee263a3af91e1c16db1ff983d581ef9cc616842c2a4f6e5215147d003c3ee
|
|
BLAKE2b-256 checksum How to use checksums |
1f192fb015505e341e45f1cde57a501174e090bead5b2770a7e2ec51f3b3cc93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp314-cp314-macosx_11_0_x86_64.whl
| Download URL | gwframes-2.0.0-cp314-cp314-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.14 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
8cf8481499597362cc71be14a4fcbc5784106d2a58d5a39200a30b328be8aca4
|
|
BLAKE2b-256 checksum How to use checksums |
aecb8c722c282cef507cb0232e20a87c3fc5044e51bd690663ff21a7e9fbf659
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | gwframes-2.0.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c628059a836884a3dd5733ba04c4facb817f04b5d1ed99bf092f1dd3c97e7d12
|
|
BLAKE2b-256 checksum How to use checksums |
aa72d2848c0b80cb8c538aad81df1e30a7b3e43b644ff8ec4ba622cd98ae338c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | gwframes-2.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fb2409e35ce751450ffb6982595e90f4b921bcfe1966bdf6b537fe3b739a3db4
|
|
BLAKE2b-256 checksum How to use checksums |
23365e3eecb5399f6f96b1852cec3a807fe77cca5b3983fcf9e926fa1e485204
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | gwframes-2.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
26bf53f2fc46e0bb9127842f8b66396de18c4832ec8d28b88d4ff6c7299435ec
|
|
BLAKE2b-256 checksum How to use checksums |
78431d5b506e21befb074fc17ad5639457a6890335f87eda4890accd3ab88b26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp313-cp313-macosx_11_0_x86_64.whl
| Download URL | gwframes-2.0.0-cp313-cp313-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.13 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0de11f779c094661f8c7e53a49cf81d8cebf38e951dea6e6e8b783b2ce663c1
|
|
BLAKE2b-256 checksum How to use checksums |
1485d3751ee6d556733e4c9c8395c2690f2024e4ab749ba0313295dde6c74bac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | gwframes-2.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
70771dfac8824baeed6963a28161ee7945686e909ee4c1336cbc65b29dc70ebb
|
|
BLAKE2b-256 checksum How to use checksums |
116d4dfff412f6897b2fec54fec83ce0cce11c941495c6eb6d289295dd3b8324
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | gwframes-2.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b6b2ab6c1db11885304e1d374489a8451446785ce7084c10212d0ea84f7eb1e2
|
|
BLAKE2b-256 checksum How to use checksums |
ec2ecd0a91ad172a4239b2cbd6ea21a360b4bd11a146c43f0fc0ce42286af114
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | gwframes-2.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
dfada109c806498aab63e0754524eeeae14abe768b99207a9c4fedac8361c21c
|
|
BLAKE2b-256 checksum How to use checksums |
2cc5065bcb63e7299a36328d5c900ee0442e49886383850be7e64dbd5f007166
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp312-cp312-macosx_11_0_x86_64.whl
| Download URL | gwframes-2.0.0-cp312-cp312-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
51c35c580307b9d051b391c47639e17632541e30ac0a70c4cdb8843a08468f1d
|
|
BLAKE2b-256 checksum How to use checksums |
3329db349d74e645b391c2183b3180dbe367b5d799c295fa4cc29d21b11f7ce6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | gwframes-2.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6187111effd1ef30f17a65403d7a334751641473c43530fe682a951113893d86
|
|
BLAKE2b-256 checksum How to use checksums |
e5c786b26e7b9914646569c198c07da64e98319916bc89d7a51c2c400237e060
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | gwframes-2.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5750141f9d195061f349c2a4fb059908595066d4f64d5fac67667da5794542b7
|
|
BLAKE2b-256 checksum How to use checksums |
26bcb3860fc2fa909f613987a3c454f293d40a8370527b0b6a28fd97b04d19cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | gwframes-2.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
bdb31e521cf2f269256910fede4fa57542253fe92019883c943180c36bda8e34
|
|
BLAKE2b-256 checksum How to use checksums |
607a9021ebb6900b6f10909f41047746b423f97b47841ea3b0ec3ae97dac4e3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | gwframes-2.0.0-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
b0bfe9dfc5130a551ce72abfbcdd4dcc734e75f355f0e80dd51b3fd09a72c5aa
|
|
BLAKE2b-256 checksum How to use checksums |
ac987f6a8347beb2aaedf2bc6afa263289cd9e35206f60875b793c20a289ab28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logRelease files / gwframes-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | gwframes-2.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
99be3974574801d99544d0fc70e5a1d1aac6de1caf9747be7327b9bf77593205
|
|
BLAKE2b-256 checksum How to use checksums |
497a0ec357827e7cb9de69c9a15ea775163361dc4c071e3db50d979c9bbf0a5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 27, 2026.
Transparency logSecurity for GWFrames 2.0.0
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.
Full provenance
All 17 files in this release have been uploaded with provenance metadata.
Attestation for gwframes-2.0.0.tar.gz
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 27, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.