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.
Release files for gwframe 0.8.1
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.1.tar.gz | 4.2 MB | Details |
Built distributions (wheels)
Total release size: 310.8 MB
Release files / gwframe-0.8.1.tar.gz
| Download URL | gwframe-0.8.1.tar.gz |
|---|---|
| Size | 4.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d59184536a6f5f89b1ae17ff0037ebc6aacd7a483fcd9200a6fffa131a58a1d
|
|
BLAKE2b-256 checksum How to use checksums |
9f8be8ce9f49550d9c391aa52caf7b59df42f918a52857fc94e3fd65f492ed6a
|
| 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.1-cp314-cp314t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
891e4da7c45e31a9b0f9c318d31ee1f8457f896e2a0037b0ff9a7c5ab7262b16
|
|
BLAKE2b-256 checksum How to use checksums |
bcbe411d6cc064841157bb3cabdd49889dc243edc97e56cd0b032b8e55dce04b
|
| 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.1-cp314-cp314t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
84811872600f36f7138318fdc7da71b567ebd1df0cedc095145f4a92a437e933
|
|
BLAKE2b-256 checksum How to use checksums |
e0c245349bac7ca05d058e3069875c0ebaedad52d7fc5a9d1814feef0cab79f8
|
| 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.1-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
82df877a27c09891ffa87f1ee9d8d04661ab196d8957bb5b5d62a98b660cca35
|
|
BLAKE2b-256 checksum How to use checksums |
ea1cb2d5f1668bbce4c760d852cc346341dc6c63f5a6cdb5c4a004b113b7db69
|
| 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.1-cp314-cp314-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
90ab82fcb05d1629b1e417c8fcad1e2cd361bac97183e5c8fc012b269438cfab
|
|
BLAKE2b-256 checksum How to use checksums |
6f0475a51dbca6d8f4a3aafe90a80cffec42ef3b564182cda004c4a47319ed0c
|
| 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.1-cp314-cp314-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.1-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 |
e1730d2cf301ef3bce537fe4bb9b155d6c222d0acc4f93b02d151b2d946e64c3
|
|
BLAKE2b-256 checksum How to use checksums |
f60c5ffaaca4c9080d6cb0304309034f19775156a53c2d4fd756bb3e7b9b2e4c
|
| 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.1-cp314-cp314-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
082d0dbf517129448fcce2e3816e4dfc82eae789cd09bdd71c40b78f7eb8facb
|
|
BLAKE2b-256 checksum How to use checksums |
4c89232da3a7d1d814d882a051e707e73036eb00b4c6cd2f673b313437540979
|
| 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.1-cp313-cp313t-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
6e3f9f734de35d27662919cc2e3ac07344d4dd69b7c84dd5979528c664e1e8d9
|
|
BLAKE2b-256 checksum How to use checksums |
db54e083dd0a7921b1f1cb0dce2a51977138131fbba118d25ea6e685fa772af1
|
| 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.1-cp313-cp313t-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
a789adad76497764bb844bfe9275457973ecb7fbfd68e2f803ad545eeda57238
|
|
BLAKE2b-256 checksum How to use checksums |
5f12f3945c1c987eadb19048108508148adfb46610a8d37a3b1acb2caf702918
|
| 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.1-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
59215511b147886728c39e5a5508cbf3c6a17563e69bdbac909b2759f5b0f9af
|
|
BLAKE2b-256 checksum How to use checksums |
2be60840f06dcc30c6d3d062c6b77f3893c6f2ed4ec88288940f5e056b6f9e19
|
| 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.1-cp313-cp313-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
11f73b27a4d482e6e50c96b1af7b73b2e3f772636effcaf682c943d2acf05335
|
|
BLAKE2b-256 checksum How to use checksums |
534d5008ca441a8372285b554ade9ebc7d998e073aaad3cca6bf6a8ec9c788c7
|
| 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.1-cp313-cp313-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.1-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 |
e418529479af0dc2a8a0f03d866955b34f2f698076e38dabc4a093683ffffb4f
|
|
BLAKE2b-256 checksum How to use checksums |
314032e2e14394c76c41d16dce7c46963c76bd483b277d2c5635032cd2913a9a
|
| 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.1-cp313-cp313-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
b76e2f5aa8379be8b6180f9882e49aeb17c4d2141ca787647ae61e5b095e2b62
|
|
BLAKE2b-256 checksum How to use checksums |
766b21e67f1aed1c6a650a9d8467c7d6ecfa02465b121301e07155355222f4b5
|
| 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.1-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
0e6fdc4f4af99495de6dab61ff92f76888beb5316c224810e79f6ebd1862ae6c
|
|
BLAKE2b-256 checksum How to use checksums |
78eaa56ecdc60dc200755ce0992742e26513fc54ca0c7472b97ee21dd80085ac
|
| 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.1-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
6d2cec561a4141ca2e92803ffa9a6080ee603ce5aff32242baf631d74ac43aee
|
|
BLAKE2b-256 checksum How to use checksums |
97a93f9553f96d41df1ffe0cf179f71e74d72e6bbf0274263f897118340fdcae
|
| 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.1-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.1-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 |
27a54af9bcb5b01ef75ae52acdbfab42934b589dd63a0125f2accc20eaa23ace
|
|
BLAKE2b-256 checksum How to use checksums |
bd2b05086600431ec48d0b9061af44099ff58afd54a684e8dd49f46cf7e9090b
|
| 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.1-cp312-cp312-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
2b05a154591c6d0b7c41563e37eb5bebf9231cfd9e0f7bd77f2e09dacf9754c3
|
|
BLAKE2b-256 checksum How to use checksums |
315c352fa46678448477ec297a1ab3f3c406c05799ef2d05f974e374d5eaf106
|
| 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.1-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
e086df772eea346bbe42c4158857e320802361c75d5076598ffac18a9cea59ed
|
|
BLAKE2b-256 checksum How to use checksums |
3704ff43f163c58603e93ce5322a23a2ab9f45f38c0dacc8f60b2e749b695305
|
| 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.1-cp311-cp311-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
cef7c3874c0571cda54fe4c47d6fb33c62b3704599cedc90309c92919660dff0
|
|
BLAKE2b-256 checksum How to use checksums |
6ca4fb0f39908ce020717ee36ebb795c8da9eea02d502783524ebd93c4b5e5a9
|
| 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.1-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.1-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 |
f5e18d9a87df94cd3a8fd2948b0a782df5f0fd56f5f240011eba190443dacf4b
|
|
BLAKE2b-256 checksum How to use checksums |
6dbfaeed49ccaee77735e64579542d327ffaccff3c6b5fa6976f2f754581c7dd
|
| 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.1-cp311-cp311-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
1e56810ae0f03de66e2d2bd49e00bab7e5744b5f2801aa4317cbbe097ea65160
|
|
BLAKE2b-256 checksum How to use checksums |
ef65eaab2d952027148ec1f243cc576dbb3cbfc20083964288b81e5de18fee0f
|
| 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.1-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
4520022289502089d3f243d3e85e866c94a70559775ced51294f5341c1fed96d
|
|
BLAKE2b-256 checksum How to use checksums |
f762dda58edd9d4a7418a4919d57ed5b916f5f22d33ae6e3a8306f842b9af094
|
| 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.1-cp310-cp310-manylinux_2_34_aarch64.whl
| Download URL | gwframe-0.8.1-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 |
b641f05bd74450d4d23ba7d82c292fc61eb8e291e46458f0053cda0f5a57fed4
|
|
BLAKE2b-256 checksum How to use checksums |
5b8e2abbe5658cc2a591a0ef23c673fcced6fb04ace5ccd07f4933fac0fe0f54
|
| 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.1-cp310-cp310-macosx_15_0_arm64.whl
| Download URL | gwframe-0.8.1-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 |
d84ea1385aafb25478000b8af56239576cc677e2178a03a11fc8fdfda0873aad
|
|
BLAKE2b-256 checksum How to use checksums |
d9d41dfd8ba9690c3635726fc51c6fceb633c8cd0ffe8ff47190c0d819d9aa63
|
| 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.1-cp310-cp310-macosx_13_0_x86_64.whl
| Download URL | gwframe-0.8.1-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 |
5778ac785ab734059dcf9ab414c4f982d792f1e710d11b33da03938d8dfb80ad
|
|
BLAKE2b-256 checksum How to use checksums |
2611dd0bc9140e3f3f96c0b85779da6ba0b978dd432f428817a82abc0723e02c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|