gwframe
High-level Python library to work with gravitational-wave frame (GWF) files, based on framecpp
Resources
Installation
With pip:
pip install gwframe
Pre-built wheels are available for:
| Platform | Architecture | Minimum Version |
|---|---|---|
| Linux | x86_64, aarch64 | glibc 2.34 (e.g., Debian 12, Ubuntu 21.10, Fedora 35, RHEL 9) |
| macOS | x86_64 | macOS 13 (Ventura) |
| macOS | ARM64 | macOS 15 (Sequoia) |
With conda:
conda install -c conda-forge gwframe
Features
- Multi-frame writing - Write multiple frames to a single file
- Multi-channel support - Read all channels or specific lists with a single call
- Masked array support - Detect and propagate invalid-data flags as NumPy masked arrays
- Self-contained wheels - No external dependencies required for pip installation
Quickstart
Reading frames
import gwframe
# Read single channel
data = gwframe.read('data.gwf', 'L1:GWOSC-16KHZ_R1_STRAIN')
print(f"Read {len(data.array)} samples at {data.sample_rate} Hz")
print(f"Time range: {data.start} to {data.start + data.duration}")
# Read all channels
channels = gwframe.read('data.gwf', channels=None)
for name, timeseries in channels.items():
print(f"{name}: {len(timeseries.array)} samples")
# Time-based slicing (automatically stitches multiple frames)
data = gwframe.read('multi_frame.gwf', 'L1:STRAIN',
start=1234567890.0, end=1234567900.0)
Writing single frames
import gwframe
import numpy as np
data = np.random.randn(16384)
gwframe.write('output.gwf', data, start=1234567890.0,
sample_rate=16384, name='L1:TEST')
Writing multiple frames
import gwframe
import numpy as np
# Write multiple frames to a single file
with gwframe.FrameWriter('multi_frame.gwf') as writer:
for i in range(20):
data = np.random.randn(16384)
writer.write(data, start=1234567890.0 + i,
sample_rate=16384, name='L1:TEST')
# Or without a context manager
writer = gwframe.FrameWriter('multi_frame.gwf')
writer.open()
for i in range(20):
data = np.random.randn(16384)
writer.write(data, start=1234567890.0 + i,
sample_rate=16384, name='L1:TEST')
writer.close()
Inspecting frames
From the command line:
gwframe inspect data.gwf # file summary
gwframe inspect -v data.gwf # + channel listing
gwframe inspect -vvv data.gwf # + sample rates, dtypes, units, validity
gwframe inspect -vvvv data.gwf # + invalid-channel report
gwframe inspect -vvvvv data.gwf # + data preview (reads all data)
Or from Python:
import gwframe
# Get frame information
info = gwframe.get_info('data.gwf')
print(f"Number of frames: {info.num_frames}")
for frame in info.frames:
print(f"Frame {frame.index}: {frame.name} at GPS {frame.start}, duration {frame.duration}s")
# List all channels
channels = gwframe.get_channels('data.gwf')
for channel in channels:
print(channel)
Advanced: Full control with Frame objects
import gwframe
import numpy as np
# Create frame with multiple channels and metadata
frame = gwframe.Frame(
start=1234567890.0,
duration=1.0,
name='L1',
run=1
)
# Add channels
strain = np.random.randn(16384)
frame.add_channel('L1:STRAIN', strain,
sample_rate=16384,
unit='strain',
channel_type='proc')
aux = np.random.randn(1024).astype(np.float32)
frame.add_channel('L1:AUX', aux,
sample_rate=1024,
unit='counts',
channel_type='adc')
# Add metadata
frame.add_history('gwframe', 'Created with gwframe')
# Write with custom compression
frame.write('output.gwf', compression=gwframe.Compression.GZIP)
Handling invalid / masked data
ADC channels in GWF files can carry a data-valid flag indicating the entire channel is suspect. gwframe surfaces this through NumPy masked arrays:
import gwframe
# By default, reading a channel flagged invalid raises an error
try:
data = gwframe.read('data.gwf', 'H1:ADC-CHANNEL')
except gwframe.InvalidDataError as e:
print(e) # suggests allow_invalid=True
# Allow invalid data — returns a masked array
data = gwframe.read('data.gwf', 'H1:ADC-CHANNEL', allow_invalid=True)
if isinstance(data.array, np.ma.MaskedArray):
print(f"{data.array.count()} valid samples out of {len(data.array)}")
# Write a masked array — ADC channels preserve the flag,
# proc/sim channels warn that the mask is discarded
masked = np.ma.MaskedArray(values, mask=quality_mask)
frame = gwframe.Frame(start=1234567890.0, duration=1.0, name='H1')
frame.add_channel('H1:ADC-CHANNEL', masked,
sample_rate=16384, channel_type='adc')
# Control behavior when mask fidelity is lost
frame.add_channel('H1:PROC-CHANNEL', masked,
sample_rate=16384, channel_type='proc',
on_mask_loss='ignore') # or 'warn' (default), 'raise'
CLI Tools
gwframe includes a command-line interface for common frame manipulation tasks:
# Inspect a frame file (add -v, -vv, -vvv for more detail)
gwframe inspect data.gwf
# Rename channels
gwframe rename input.gwf -o output.gwf -m "L1:OLD=>L1:NEW"
# Combine channels from multiple files
gwframe combine file1.gwf file2.gwf -o output/
# Keep only specific channels
gwframe select input.gwf -o output.gwf -c L1:STRAIN
# Remove unwanted channels
gwframe drop input.gwf -o output.gwf -c L1:UNWANTED
# Change frame duration
gwframe resize input.gwf -o output/ -d 4.0
# Replace NaN or sentinel values
gwframe impute input.gwf -o output.gwf --fill-value 0.0
# Update channel data from another file
gwframe replace base.gwf --update new.gwf -o output/ -c L1:STRAIN
# Change compression settings
gwframe recompress input.gwf -o output.gwf -c GZIP -l 9
# Chain stages in a single pass, e.g. raw -> curated dataset
gwframe transform raw/ -o curated/ --compression GZIP --level 9 \
rename -m "L1:GDS-CALIB_STRAIN=>L1:STRAIN" \
drop -c L1:DEBUG \
resize -d 4
gwframe transform raw/ -o curated/ --dry-run @curated.recipe # preview a recipe
# Check two files (or directories) for consistency of data and metadata
gwframe validate a.gwf b.gwf
gwframe validate dir1/ dir2/ --common # only compare what both sides have
gwframe validate a.gwf b.gwf --metadata-only # skip sample data (faster)
gwframe validate a.gwf b.gwf --atol 1e-9 # tolerate small float differences
All commands support batch processing with directories and glob patterns. See the CLI documentation for detailed usage and examples.
Metadata
Release files for gwframe 0.8.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gwframe-0.8.3.tar.gz | 4.2 MB | Details |
Built distributions (wheels)
Total release size: 310.8 MB
Release files / gwframe-0.8.3.tar.gz
| Download URL | gwframe-0.8.3.tar.gz |
|---|---|
| Size | 4.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
647a09bf4d52f294130ab2e25533ac3558c6397a24a41da36dd7d4b692267144
|
|
BLAKE2b-256 checksum How to use checksums |
f422d478fa57da125db96c4dbfe757f8bff76080f09852a67c293fec776a76e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp314-cp314t-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
1db66626a978edf81509bf757ab22c5ae01fc1a1e8f4beeb6b337cffe752d948
|
|
BLAKE2b-256 checksum How to use checksums |
185880428ce073a6f8e95181cbf81a2926791bd65f7aef90e90168d2a158f70f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp314-cp314t-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
9249b94bd21a96fe2c4ee56a5e5edfdf4ed47142c761d3fe7c31d84daa04f310
|
|
BLAKE2b-256 checksum How to use checksums |
1d6a56aaf85e29d7e1de96427103fdf7eaa25b2669dfa1540e00d239ad3ac965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
6550492f73b31c4a26f5c6a0cbbd671d46e224096b548d677c3a30a5ba28d663
|
|
BLAKE2b-256 checksum How to use checksums |
b8ce4bfd756e3c0e5876d59489097126127eb8551c5e85b9df74a6b0d5bb2616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp314-cp314-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.14 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
648d397d0b6f2198b50f5d9349efaaf21417f9d4619285b8490d2af2249710fb
|
|
BLAKE2b-256 checksum How to use checksums |
f149eb6b493ed4579fd59721f2f8401c1c2735e6fac44825643733daf1e7cc95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.3-cp314-cp314-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.14 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7983bb72baff1ca1d64bab9654754b30ba1f723d6cb9a4fc61116d26a212685
|
|
BLAKE2b-256 checksum How to use checksums |
0195841f6cee71e53395e7df1d502553666b390e6b6a42a8d97dc9a9237f50a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp314-cp314-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.3-cp314-cp314-macosx_13_0_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.14 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
f91f77250d7527589e51fb36b53c0474216c85549d3339b3a8c56db0c69d3f2f
|
|
BLAKE2b-256 checksum How to use checksums |
dfc31592c866d00d43dc0c47cfecc8966e98d30ad2fb5f0658880582d48d86b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp313-cp313t-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d3225043040d992b95665f0da91abc214300a93e317d36d8470808c39481539
|
|
BLAKE2b-256 checksum How to use checksums |
97d8c508783e74e2493b4a14eda4daf076252ab64b2ab8bf6bb271505e76cda2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp313-cp313t-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.13 CPython 3.13 free-threading Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ca9df6fee84695d7bca260c1d326709133da47a8bddf7eb3f2a8765aa717cee
|
|
BLAKE2b-256 checksum How to use checksums |
1344e0f0e0835716b13fc3989cb96bbe28010a67d7d98614461cfb7f9e1e5fe2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
dbba57bf70b40c81e09b74057c6a8cce86b4f6e23775c4a142cc7c614fff1cad
|
|
BLAKE2b-256 checksum How to use checksums |
b8d7810f1acb7c38c3bb298a47162a5076bef22be95d84e9b2c34f83c62b8fd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp313-cp313-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
c9ad20c8cb04f807e2b3b4694987ae2d3b5b8704944590b5d1cf3b66791f6b82
|
|
BLAKE2b-256 checksum How to use checksums |
e49096f28e1f38d5f827277f9a18cac908f47b8a9e27b277015bef7a95e0568c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.3-cp313-cp313-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.13 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f006cd460fd0599555deab47edf890c92891889e36f9910ae2bceb9f27408eb8
|
|
BLAKE2b-256 checksum How to use checksums |
175e154f3079c6eba3791cf0014ee59ebef67deb2836aa7bcec1706b39439431
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp313-cp313-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.3-cp313-cp313-macosx_13_0_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.13 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
45bd92bf0c8a1e155673a2bd025e42dbd8c9fe1a87d18c4ff3c11d773b74177e
|
|
BLAKE2b-256 checksum How to use checksums |
60989c5ae476d85809e5a1d87af509ad462420ed333e1eb066b17199f88a4be4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3773e722e2e3e44331436cd48118491a8d3ba4cea6ba88b28852953adc794a4
|
|
BLAKE2b-256 checksum How to use checksums |
b6ffce1d2abe3bcf819f56c6066a764b8d1362952ac5bc433be4669e5ebbb072
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp312-cp312-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
42a4f919daa434ccf6a442c72e243ef44e3d606467d50455c51236b5755b7571
|
|
BLAKE2b-256 checksum How to use checksums |
7ab4d9b7796e837d1e76e0951c1be8303bd081ac944f084212c2e09c951522cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.3-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dfa6fc01f2cd032a26e8c94f7da7a8c76d7fdd0f6778342060e71767baedcf4e
|
|
BLAKE2b-256 checksum How to use checksums |
65c60d28334ae0aac47c2ef8881f868406d1e56425a4c9574457d835634fbc96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp312-cp312-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.3-cp312-cp312-macosx_13_0_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.12 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
15f333de2787e355abac36490f11d542ed29cf54d50176704aad62cf4520218e
|
|
BLAKE2b-256 checksum How to use checksums |
aa71878347fa41609e95ca8c1fac7435e610e3a594c7a5d8d286711b094bea2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c01407d1e00bd45d53c8f12307c3b2ed9f5cfbeb6352eaa70b1dcf148bfe5a8
|
|
BLAKE2b-256 checksum How to use checksums |
654cd53ad1f6c29973b69059efe190319f48b7e47d8793d9ec417262bb4be8be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp311-cp311-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp311-cp311-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
f3640e77ebea721a20220a0a46e5ca0ac54d2a4f296f1307c69f952089e977c6
|
|
BLAKE2b-256 checksum How to use checksums |
7bd4ca4a059b9d098111815836034c00d757b531a1763adea575370be74dc058
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.3-cp311-cp311-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.11 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d874bcd1c19e1ca502cb4445c408383afbe7da1ef250edc71b4f524db8e989a6
|
|
BLAKE2b-256 checksum How to use checksums |
eb5124b851ab13bf589cb8184949d985401070aea521117667f669fa28f3a9e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp311-cp311-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.3-cp311-cp311-macosx_13_0_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.11 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
279721a9238f542307e54399df09acc7f5d4ba574edd54201f5c16fb90413d81
|
|
BLAKE2b-256 checksum How to use checksums |
93b25ce402c5d8cc10622a7d13a9de8170db01ffaac8a95f6a1116b3403342df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.3-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
0d536d89c12b8e6967aba2fe07822d86724736886b7a7c95bbc8cc324f90b1db
|
|
BLAKE2b-256 checksum How to use checksums |
265dc2fd5cc5e2d9f3046f50724e4fd2df4c8382dff0f508c65661b2379028a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp310-cp310-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.3-cp310-cp310-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 18.3 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
6d749902115651288778e4d47299f49aa4cf353b0c385553b65a688cc7fbff35
|
|
BLAKE2b-256 checksum How to use checksums |
c6bf66d832e0e7043030a97229045f8d16365ab6c78f296d78e4c326f56d2b9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.3-cp310-cp310-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.10 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
84b9c2af1cdd252f8e4fa73f2572c5c2f389d48e4992d46fb0bfac4d7ed3cf99
|
|
BLAKE2b-256 checksum How to use checksums |
f3432d49e1cda97b08f9531734ad5bcfedd0f75f2ecda7ff686870b67d9ef4ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / gwframe-0.8.3-cp310-cp310-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.3-cp310-cp310-macosx_13_0_x86_64.whl |
|---|---|
| Size | 4.7 MB |
| Tags | CPython 3.10 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
03d07396fe80be711619dc50f0ca8702c85a71f840c2a6a4e78a5d2d024f7aca
|
|
BLAKE2b-256 checksum How to use checksums |
1395df4157f6d0fa570e4ad0449418dcd8015482930074169faec4fe76f8ae77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|