Skip to main content

Tests Wheels

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. Binary wheels for Linux and macOS (x86_64 and arm64) are published on PyPI.

The HDF5 functions (ReadFromH5, OutputToH5, ReadFromNRAR, and OutputToNRAR) and the GWFrames.Extrapolation module need h5py. PyPI has no h5py wheels for Python 3.15, and there may never be any, so on Python 3.15 and newer GWFrames is installed without h5py; everything else works without it. If you need those functions, either use Python 3.14 or older with uv or pip, or get h5py from conda-forge with pixi or mamba, which do build it for Python 3.15.

With uv or pip

uv add GWFrames          # in a uv project
uv pip install GWFrames  # or in any virtual environment
pip install GWFrames     # or with pip

With uv, adding --python 3.14 to uv init or uv venv selects a Python for which h5py is available.

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 pixi

pixi can take NumPy, SciPy, and h5py from conda-forge and GWFrames itself from PyPI:

pixi init my-project
cd my-project
pixi add python numpy scipy h5py
pixi add --pypi GWFrames
pixi run python -c 'import GWFrames; print(GWFrames.__version__)'

With mamba or conda

Similarly, the dependencies can come from conda-forge and GWFrames from PyPI:

mamba create -n gwframes -c conda-forge python numpy scipy h5py
mamba activate gwframes
python -m pip install GWFrames

To build the latest code from GitHub instead, 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"

On Apple Silicon, make sure that the environment is native: mamba info should show platform : osx-arm64. Older instructions for GWFrames recommended Intel environments (with CONDA_SUBDIR=osx-64 or a subdir: osx-64 setting), which run under Rosetta. The first build in such an environment can fail with "Accessing CMake timed out" while Rosetta translates CMake; running the same command again works.

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 Quaternions module is now GWFrames.Quaternions, so import Quaternions becomes from GWFrames import Quaternions, and GWFrames.Quaternion is also available.
  • Methods that modify a Waveform in place and return it (such as TransformToCorotatingFrame) return the very same Python object, including for PNWaveform.

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.

Every push to main that passes the wheel builds and tests is released automatically: the version is bumped, tagged, released on GitHub, and published to PyPI. The bump is a patch release unless a commit message in the push contains #minor or #major; adding #dev makes a development release (such as 2.1.0.dev0), and a later plain push completes it. A head commit message containing [no release] builds and tests without releasing, and [skip ci] skips CI entirely.

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 helped to keep things working as this code entered its dotage. Claude (Opus 5.5) resuscitated the package for Python 3.

Metadata

Release files for GWFrames 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for GWFrames 2.0.1
File Size Uploaded Provenance Actions
gwframes-2.0.1.tar.gz 2.1 MB With provenance Details for gwframes-2.0.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for GWFrames 2.0.1
File Actions
gwframes-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for gwframes-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
gwframes-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details for gwframes-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
gwframes-2.0.1-cp315-cp315-macosx_11_0_x86_64.whl CPython 3.15 CPython 3.15 macOS 11.0+ x86-64 Details for gwframes-2.0.1-cp315-cp315-macosx_11_0_x86_64.whl
gwframes-2.0.1-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for gwframes-2.0.1-cp315-cp315-macosx_11_0_arm64.whl
gwframes-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for gwframes-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
gwframes-2.0.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for gwframes-2.0.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
gwframes-2.0.1-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details for gwframes-2.0.1-cp314-cp314-macosx_11_0_x86_64.whl
gwframes-2.0.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for gwframes-2.0.1-cp314-cp314-macosx_11_0_arm64.whl
gwframes-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for gwframes-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
gwframes-2.0.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for gwframes-2.0.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
gwframes-2.0.1-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details for gwframes-2.0.1-cp313-cp313-macosx_11_0_x86_64.whl
gwframes-2.0.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for gwframes-2.0.1-cp313-cp313-macosx_11_0_arm64.whl
gwframes-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for gwframes-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
gwframes-2.0.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for gwframes-2.0.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
gwframes-2.0.1-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details for gwframes-2.0.1-cp312-cp312-macosx_11_0_x86_64.whl
gwframes-2.0.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for gwframes-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
gwframes-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for gwframes-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
gwframes-2.0.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details for gwframes-2.0.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
gwframes-2.0.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details for gwframes-2.0.1-cp311-cp311-macosx_11_0_x86_64.whl
gwframes-2.0.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for gwframes-2.0.1-cp311-cp311-macosx_11_0_arm64.whl

Total release size: 34.6 MB

Release files / gwframes-2.0.1.tar.gz

Download URL gwframes-2.0.1.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
6297c26eeb4c6bdb5273b1e4647eedfe7076528666be7e48c4a6554ed86bdff9
BLAKE2b-256 checksum
How to use checksums
43bae00e9272b2c2ecb6e82746b7386316eca09e5a415f68a83252c2ea87e577
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gwframes-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dc414995b2e47098a5c98c52be762bec47981ecacfd4c6362fa408510c3d6a9b
BLAKE2b-256 checksum
How to use checksums
0adc5d00832f3c2f52e1d52b79eb9cefb2cdf4c5c3d311d49ee9ed687965c860
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL gwframes-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.15 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
38a0f50acc14cbe0ff101dde30a4f2c743a2c2cfcceae6f3a5bbac806b2aab82
BLAKE2b-256 checksum
How to use checksums
112dd585d411617dbbc51a18607ff682a1887f986db150ee87e67af84df13d9c
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp315-cp315-macosx_11_0_x86_64.whl

Download URL gwframes-2.0.1-cp315-cp315-macosx_11_0_x86_64.whl
Size 1.7 MB
Tags CPython 3.15 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8c34c44c7e71732b1e6d3d831ee515185b061eca3408f163e608b5b5ea0fc172
BLAKE2b-256 checksum
How to use checksums
31973be4b3f224799b467aa29be612ebf3b65fc7e6155823944e0c9be80c01c5
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp315-cp315-macosx_11_0_arm64.whl

Download URL gwframes-2.0.1-cp315-cp315-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bdb643f0a4ca15de0f0e65b98f9e6885acd5fe26c6b0c7e540042afb3f9fb871
BLAKE2b-256 checksum
How to use checksums
5d7f953462c3e9c20518186c0a20e26acc77f926d2b2878dee182bfe854474f9
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gwframes-2.0.1-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
3ee632760a3ab369b3fd9525a111736ac96faee3b47a9ead3ac94d0df72fed18
BLAKE2b-256 checksum
How to use checksums
160a497db841194b21edd222b3172a4e2314e2575bfbb7f6423780eeedaf27b0
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL gwframes-2.0.1-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
bb46b2cdb7cb85658b73da6c6696dc121b531929d1601e3e3c41df825a8d46f2
BLAKE2b-256 checksum
How to use checksums
5784a1fed0bfc5bf801bf04a670a1cca7dafb90f166221e74800066e348af055
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp314-cp314-macosx_11_0_x86_64.whl

Download URL gwframes-2.0.1-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
01ea4e70af902ce68199210ab2fe503880b954079916a5d2def5f61d4a834a15
BLAKE2b-256 checksum
How to use checksums
4b5a71c91bb585df3aa719646f57c053c5c5022561a28db4fccba064182e07bd
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL gwframes-2.0.1-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
39ee34585ef40e58695944a30ff0c3fa8c25e3a33706a57dfd7479f8141f2fee
BLAKE2b-256 checksum
How to use checksums
bde0785105ae4a6718daecc291d46fac436de6494917e00665ec77015e3ec5cc
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gwframes-2.0.1-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
312b8f21368b26ccb215a30e5af811296f4464481db63d24321a706adce68737
BLAKE2b-256 checksum
How to use checksums
b24a6f0bb981a3497cd27c4cf66ad62999108d0efd65c42dcf422c987d71e401
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL gwframes-2.0.1-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
550e8f9bf02c10d2e3707a0b7269d43c41a73739a3c9018df00f4deb7326d69e
BLAKE2b-256 checksum
How to use checksums
96398a63c1f3ee20246a707cb571270975a1d6391bc23b13a6a84b7c8524991c
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp313-cp313-macosx_11_0_x86_64.whl

Download URL gwframes-2.0.1-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
eae09d48302436063ad8fa0c24106c97f5d7529ba3a77c45cc1b14606e67427e
BLAKE2b-256 checksum
How to use checksums
73630c528d115bf7daf6accd93e3d41eff09a6acc468599f0c5fc3e82c90a10f
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL gwframes-2.0.1-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
824c06cf7574ce8a318b34694634f970723f625796a4e901fa3df4d630f0cdf4
BLAKE2b-256 checksum
How to use checksums
5d16206136321623f56d480923e15b9a5b073cbc39722e8b3ce65a7a5cca865c
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gwframes-2.0.1-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
b88fb57a264daa447b3b31d3bfeecb62237cd84bc3c752068a87890f4d49f5cd
BLAKE2b-256 checksum
How to use checksums
a9f2da5ea34e1ed41ff491af3875d522af266fa321de59e201b68c3710b018e1
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL gwframes-2.0.1-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
52b804ede0be732932321568832d4a7415257c2862a442ad4f35daa91412ff0e
BLAKE2b-256 checksum
How to use checksums
090ac5be6077515673acfa76d2124d622b83b2232b209f598408ea2dd8aa9277
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp312-cp312-macosx_11_0_x86_64.whl

Download URL gwframes-2.0.1-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
1dcdb4469b9d1dec35090260cb9bb80f402094f34723c485c3dad9fe65d992c7
BLAKE2b-256 checksum
How to use checksums
dc87b6e159a61f6483b8c8a8e499fb297f7dc5a1b4b512806a7d0377d2ad4e20
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL gwframes-2.0.1-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
21182fdd1030de978db6f5728b4c12e19881093fcdf04eae5559d405a52522b3
BLAKE2b-256 checksum
How to use checksums
bae88bf54069a0c5c8ecddcd236bbbb522f4d14fd7c223787fa0255e113e1c37
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL gwframes-2.0.1-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
89c9a3a0ade9d7761906b3d2ad5ebab65e9c66e459a20553244bfd6f51041efb
BLAKE2b-256 checksum
How to use checksums
6b59cbff8bb9610964a122fefc0ab1e274e42a343662dcba550b84c6cf22557d
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL gwframes-2.0.1-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
1ba885b5890c97e6233937eb73d92880fc5d1e6e1fd6470421d9729c8ae66163
BLAKE2b-256 checksum
How to use checksums
637d98bb967a27bb0fd549b4141d4d3530ec3756d3b4a430dad2449e2baeeb54
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp311-cp311-macosx_11_0_x86_64.whl

Download URL gwframes-2.0.1-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
47b16bbb57a04f7ddd78c606a90704a807bd2d49e2da49d9c18681e9a24baab6
BLAKE2b-256 checksum
How to use checksums
711a0b9e56a53a0d437fe70cd34ebc0b8717766f59d480ade337999ef9890fcb
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 28, 2026.

Transparency log

Release files / gwframes-2.0.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL gwframes-2.0.1-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
8293cb748fbd5e1942dd711f7982dd1312285bc75951e699ea3238a25ca8e0cc
BLAKE2b-256 checksum
How to use checksums
9dbb14cb238f27316e9a47bf67c3b09d8861549b62595c6a9d1c3d63d90f7833
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 28, 2026.

Transparency log

Security for GWFrames 2.0.1

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 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for gwframes-2.0.1.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 28, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page