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.4
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.4.tar.gz | 4.2 MB | Details |
Built distributions (wheels)
Total release size: 310.8 MB
Release files / gwframe-0.8.4.tar.gz
| Download URL | gwframe-0.8.4.tar.gz |
|---|---|
| Size | 4.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ad8b57692f7a294cf687b1d853adcc073a26dda7ac1311a7473e14eee8c706e
|
|
BLAKE2b-256 checksum How to use checksums |
649201bd896ebf90cd3e69efe10d1b0fdfd79daee57117fc56df435337aab554
|
| 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.4-cp314-cp314t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
f3d143bd865dfcdecb5443890eba6fb120c90e6057ef538daa2e1cccf554c478
|
|
BLAKE2b-256 checksum How to use checksums |
6db105680e03431424933848b85f71ac7033f62a54991fefdd9ff8942aa21170
|
| 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.4-cp314-cp314t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
55a27326afdeea60ca982c60e839f92822d0d7e396c392f316ff0ec40fc9d1d1
|
|
BLAKE2b-256 checksum How to use checksums |
9668aa44675d0c7e75377cf18692b21429af6b9013ed06ea1f0415e97d91f59c
|
| 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.4-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
4b62c351bd23b030967652bf3daf6a51ae2b1f67748427e45357eb2bd44305f5
|
|
BLAKE2b-256 checksum How to use checksums |
b4d05e7907dc91e47bed1482c4a70628a75719a67fb600080fb076685de7c637
|
| 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.4-cp314-cp314-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
9404dfcb47705db2b88b664099c02084beca56848cdbf3f70d09a004cd768578
|
|
BLAKE2b-256 checksum How to use checksums |
2101d6226f1c8c31580928a26cc9c3266d06eaabb62040fd1cbec9fbadf2317d
|
| 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.4-cp314-cp314-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.4-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 |
5b43cfce68e48654926f5fc5cd4248da939adcdf2f74dccaa260127952ea9926
|
|
BLAKE2b-256 checksum How to use checksums |
cad3c67d262d511aef7805cdae8adefc13b1a9f449c7992c77fd50784bc282f7
|
| 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.4-cp314-cp314-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
00ab98f3590b8b13eec4bd2155d2ce5ff5f48034bbb16639446deb50e244f7e7
|
|
BLAKE2b-256 checksum How to use checksums |
1df497d75b120c3c2af754833dbb848cb164a45cffb77b393f96b67b190dd9f8
|
| 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.4-cp313-cp313t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
e2ade1cf5f232f5a33f2d9517c648e4906b1eba4da58d82ae48a6ea6be7c98e1
|
|
BLAKE2b-256 checksum How to use checksums |
1201434111d2f72effefbf588ae1fee62a34acd2be009cfb9290435bc57209ef
|
| 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.4-cp313-cp313t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
bc5efea670b3d29ba4962558a2ab4ccddb61efd3a10a45ca55e4546a22191fe8
|
|
BLAKE2b-256 checksum How to use checksums |
0941fd59214bfc6fbb301dafc78b3b8c412fd26789ab368b5ce0e23c717f4135
|
| 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.4-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
922cfd648bd90c196ff9fe6f52dcc5bf2f469f3e7f5ce2a6d23e1e1d490ddbec
|
|
BLAKE2b-256 checksum How to use checksums |
0a45072aa9878444565f5b9d49d7193f577a0edec784d2fb5242444b12fc8f27
|
| 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.4-cp313-cp313-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
e1972ae465108ff7554bc422c4f0de09e1a1d77bc48eb93a549adbfb608b7606
|
|
BLAKE2b-256 checksum How to use checksums |
d6f98b33fc76bed2aeaf9046d6c824d8c9e7c6ec58784a587d9fc7b1a120edf1
|
| 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.4-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.4-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 |
7226a6391f1ef32863ddaf0b3c92232fa2a15a78a74862b08e2762213f6dcaaa
|
|
BLAKE2b-256 checksum How to use checksums |
c13293662e4063631f83fe87c688594e395e35403e0fcf8518aeae9b82d04f2c
|
| 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.4-cp313-cp313-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
5d6d8d4a62a75cc0592be07d971889d9ebe77e8d870cb27e2fdbdf0c37d26a73
|
|
BLAKE2b-256 checksum How to use checksums |
8782b6f1db72a5cc353fb45f1546f6f658a9af83893b6cf78ff819c3b68e4042
|
| 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.4-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
682b0046620efcfc699900f23f22bab42bb6ca4b054d17c936e10fa110b8574c
|
|
BLAKE2b-256 checksum How to use checksums |
344cf505ba93796c7488d029a4d88a33b06177f034e87b2cf392a20d47f53a9b
|
| 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.4-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
ab6436379cfd98255c09584945f23737180cd01ace8a31dd50fc6bb4a3b940ae
|
|
BLAKE2b-256 checksum How to use checksums |
47baf344b74db0a88649c469adb39aed80030884d55a3a98535266b658bdb683
|
| 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.4-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.4-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 |
57f5cfdd674a854e4d70b5dd5369034dc1b7ab7b55e841753b3afed0a6401e7e
|
|
BLAKE2b-256 checksum How to use checksums |
98e5a0071debf1689df596e4d97ed371989418814a6c1b4ef1d674d23a594619
|
| 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.4-cp312-cp312-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
c88d965438833148033d3cdfbeea73759052437c9d72b88cacf5a5cc7d47018c
|
|
BLAKE2b-256 checksum How to use checksums |
720142688f9fe21fdf3e3bd0ca6acb48ac2b0629cdc25faf28469b8e6837ddf2
|
| 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.4-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
b94b56ba47693048a11ad764a3eca5a206763999d5542eb7e81a455b7dca17a1
|
|
BLAKE2b-256 checksum How to use checksums |
14d0b86cc1d1c55ef68d4732bba639c924505c0875198e3d03f0249f64fd491a
|
| 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.4-cp311-cp311-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
632e916080da00ed34415f5397677d5d577a5cef9a44c1da309386564e83d79c
|
|
BLAKE2b-256 checksum How to use checksums |
8c04a477529f9b98b039d7caa1490c8f8771c10c97201381501d6c9012b1cbdf
|
| 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.4-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.4-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 |
60d8387738b10dee51a11c87ce06153fc9033b6cf1b05f4e58f5f337847cb249
|
|
BLAKE2b-256 checksum How to use checksums |
15ed0233d8d86c7cf4f466aa975e1246318408e9f30b9713b0ab1a042b78a078
|
| 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.4-cp311-cp311-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
650c5bbd250e44d938e00548f688fc8c2b9460183ad5b9807aafc55b9c58d23e
|
|
BLAKE2b-256 checksum How to use checksums |
0499506012426518cf933f2777c6e5a52a28cea3c05c5d3c3619f43e876143df
|
| 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.4-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
ec0e08d191c5704484d64fc34878da668f4c9bd886594c0f943af702173f50d8
|
|
BLAKE2b-256 checksum How to use checksums |
c98c9eef831ca8d37f9a56ea2b52c5d80d5524a3c220b0f51173c663a7f2466b
|
| 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.4-cp310-cp310-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.4-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 |
93c132361c09fdf60464c8c065eb8d3e2c3ef23d164baa84380386f18f95e7b4
|
|
BLAKE2b-256 checksum How to use checksums |
2638ce6096083a70ef9318b2329d11cf7a946e6857480eee5f70db7e92db3ae3
|
| 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.4-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.4-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 |
9dd9cd170b0dbecac9bd033e274086e2d814068acc461a4c2732f2310950728e
|
|
BLAKE2b-256 checksum How to use checksums |
f51bfa3811d5a4e69ce35686e6675be5cf0a6545c61057fca215555bdd3a4e5e
|
| 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.4-cp310-cp310-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.4-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 |
c6c392a798f602451af32fbe12d798ad420f1dccb1ae9cdd84d1ab257ee27010
|
|
BLAKE2b-256 checksum How to use checksums |
f6ecdc4ffba4490b9a4052437248d56389fb249ed78432784531c40201ea94a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|