Skip to main content

gwframe

High-level Python library to work with gravitational-wave frame (GWF) files, based on framecpp

ci license documentation pypi version conda version


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

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gwframe-0.5.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gwframe-0.5.0-cp314-cp314t-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp314-cp314t-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp314-cp314-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp314-cp314-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp314-cp314-macosx_15_0_arm64.whl (4.6 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

gwframe-0.5.0-cp314-cp314-macosx_13_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.14macOS 13.0+ x86-64

gwframe-0.5.0-cp313-cp313t-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp313-cp313t-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp313-cp313-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp313-cp313-macosx_15_0_arm64.whl (4.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

gwframe-0.5.0-cp313-cp313-macosx_13_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gwframe-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp312-cp312-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp312-cp312-macosx_15_0_arm64.whl (4.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

gwframe-0.5.0-cp312-cp312-macosx_13_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gwframe-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp311-cp311-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp311-cp311-macosx_15_0_arm64.whl (4.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

gwframe-0.5.0-cp311-cp311-macosx_13_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gwframe-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl (18.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

gwframe-0.5.0-cp310-cp310-manylinux_2_34_aarch64.whl (18.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

gwframe-0.5.0-cp310-cp310-macosx_15_0_arm64.whl (4.6 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

gwframe-0.5.0-cp310-cp310-macosx_13_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

File details

Details for the file gwframe-0.5.0.tar.gz.

File metadata

  • Download URL: gwframe-0.5.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for gwframe-0.5.0.tar.gz
Algorithm Hash digest
SHA256 45f1f34f14fb2de21c10829bbd67e31c9839de0f4006f6b7c4faacb0e9691eed
MD5 d290015384b5000e929056b1e3ba0d0b
BLAKE2b-256 600775b044f74a1de19ab6582f95bbe4ea191222b68128c86e9e3e2afd4b24e9

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314t-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f86aa41bfe3c9e1237d769515207b0d801f5e86066d119b57a7f9732b4565d24
MD5 0e0135f738877e5c5147ef94447f4775
BLAKE2b-256 45ada39cb56245cfd5eb4358a9de70d05bc79ae61b15801b6d960485cfa8f982

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314t-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 14caa9740f5ab286d6becaaa69ad2120107fbdb097870c818623759e7f138732
MD5 dd425ae3177037c667c9ca2877ac55e6
BLAKE2b-256 14a05d01ed24000064a6a77916643b8204d74ede8199b5be3d5c8cee6ad302f2

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fe1903772ee0bf87cb75d2d274d758e15ec9af9b4c87c841fe231d6adc61319b
MD5 b1bb320aca66ae9ac6a4dbcc64748906
BLAKE2b-256 d7ac5f51bbab4365fd2914ce67a68187a7225d342a10a431ea288b45acc88bef

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 d02f107c11c6260fdc28402a6adb637dd5eee6a1a8f9d0faac251981324c7818
MD5 8d9bea7b80693b5dc0e9159da5989896
BLAKE2b-256 01c12326629a4386674a1e35ea1fb0da62cb386b84d38c925b1221755de9d4f0

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 824640101830481c82ec904c94e1db7531193766fda626d883590f8d7f266c28
MD5 3ec19c7384a003977da49b55e5216c9a
BLAKE2b-256 ec6f844ac7def3f93c02491a52aaa2f9663d6c136e7fac452040106546d468d4

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp314-cp314-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp314-cp314-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f3cbe6e83aa3dfeea4555ae87276ef1d8e10aaac4a1304730c4ecf2a3827bcf5
MD5 c7c1c76cd56bbd1b24dd722564e1ffa3
BLAKE2b-256 82bc83b976e92e0fba0335de30ff1940b7e30c4ca215bc5148a4516acad59715

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313t-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313t-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8657c5467d47de3d40366c9942bda18cda8b904193dc297c0f51f58bc68591c0
MD5 d9a6a426e06b173776fb9960a0005929
BLAKE2b-256 becdfa1b754212d2d3a6253ca16c8412eead621756668e16f33325170710d842

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313t-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313t-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 e1ececa8aa317743f6b6ad2e38355da424a46fa235bbd33633cd9d704cfca2cb
MD5 a3ee9cc48577cd8ff91bee5a4181b753
BLAKE2b-256 7d91a840b198743147a20542bb7dfb1c4a5800a678f4689b163a114de04b1f57

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 75e7b2a9bb632ec55bfc9c998fa86a4f8d1fbe2bfe2929f6208692ebc757b0cb
MD5 23e074ae3ef4e09c9a0e1743f2f8930c
BLAKE2b-256 9e9f5174178367fdff2399dd251e1281d3f6d8cd278c8e6b4081ac1342661162

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 7e881c8176e29c55f8b2737889315b351789115db212ea6db749a729636d2b56
MD5 728bf7ffc77bb2bfb20555841fea015b
BLAKE2b-256 03dcf53dd633598ffd733c22fdad76b863548a6e6b70803696dbe0cf18eef64d

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0091383bbda86a22f60e1cdfba370b1cb25426d3a88f45b563376fb94e20c343
MD5 067e2bb32eb98645095357d94635ae4f
BLAKE2b-256 9ec195165923b24e4785a3361be880c67ad13352bef46fc605c7f4fc79472bd1

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3072da98fe60936b4c3828d9740b7547f3e98a61221958b0318ebf0053660aae
MD5 fdf4b52a86abd3313bd50b875bdeb9f7
BLAKE2b-256 d0923a347f4d085c45625d25fd45d5937d419da334a0b62eedc41394ddb28f20

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7fa272c7130626ad56854ea95799842b26a87fdc28719a2226dac119cb6bd055
MD5 72acab6c22f2916e54bb76b5b9ba2cc1
BLAKE2b-256 4ae6be98030593b36f251eb501cfb15699f14a9c9e1417915d38968d295d32f7

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5a6acf0e279db13c7cab3d6c706686dc492716eb376cee361cf507c83597ab1b
MD5 997b7de27439af0ff26756824b34364b
BLAKE2b-256 97885661c124820d69cfc04622417cba0f8b8035bbe4c81d6c01d79ef3f9c2ff

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 af9c22102130429b2e2f5478a40d45818df1dcd3c8e422d4dd652640248e6ae3
MD5 4e8e6ec2dc601a9c9f2a9f954f59bc9a
BLAKE2b-256 f42ca1672ed83a010cdd7a58fc7afb4bda6e0f62bdd541e21fccd42437a7a44e

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a7e99974c2601c3a1aa193b871074b18ba426e9363d80b575b0b2b2cb02b7db0
MD5 f3ea0aa8fa3b0ecec05836147b02dda2
BLAKE2b-256 72c21dc66b66575b692ee87044d3e0e25ded5c5e00bebaf354422871e6b15f23

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 940d0370f1a8c5ecb530ab199cd651b7976223c68b892a42489a7dfa4a31e227
MD5 75ecd6c835032e84fbaa85a33ba0f2bd
BLAKE2b-256 123705011183a613658c8702746559769e6e0ff8194cb9f55aca652312ae5c2d

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 70ce524b2ca809376bdf8138952e204d968d15971da37af290d66a53686143ad
MD5 cc34c8ad40417f1f061b2c8e99f79fc7
BLAKE2b-256 7c0fafbd09c8753697b5a8ed89b8ace6ac9b1717008780b5b23d9bdcc0f8971c

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 55eb433911e5ee2907b1c6aa2b28722045e65b95ff09c2a84cb2ebe3538ff4cb
MD5 22d4135f1eb39f9432b45fed996f8d55
BLAKE2b-256 fb121eb142b6f8a866e1a4268d7ded259da111c27da379cb138d8e7e4a692b61

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d64ab4295a6e1aa605ad121e9d2eb57009eecf7c277f20fe90efbca42800a7f2
MD5 aeb1ef3999501b86b399561fee69a054
BLAKE2b-256 01cc5e1f0e17da8708a3679cc0623029817b3a59d09e6550faa180daf4f45cd8

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9cb131bd75f0028615ea3e40fa8f1f13c4ac73a044fd571c59f029f53c55f24f
MD5 376385af1bbe09d6af52d78d9b81e964
BLAKE2b-256 21194330d8f58cce45813d40400c67b41e347ed89ab449153f19c2fb0b4938d1

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 60addb0e0196e3433b799d898eb75113bfb112934b5bac77f8859debea455d4e
MD5 6481c378b170e48344c3f3a895be4288
BLAKE2b-256 6d9c874a77faad46e728af7a986ee9276ed970161162170a6231da79fc293fa5

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 96976906ea824b32c733877b6c813ebc8689ee2f96b96c69d44869dadd0452b1
MD5 ed74a9781a9223342149cd7768b2221e
BLAKE2b-256 393b126dea80b133022a4ae5183efeabfbcfc2822479559ceec3ed66d59ccd4d

See more details on using hashes here.

File details

Details for the file gwframe-0.5.0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gwframe-0.5.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7a632fc7b3bf69998967a19f0c98fb393e0ce29eb8f6c18f5730ef4c68e31aa6
MD5 b03a79550194c9134af8e3d6466ed944
BLAKE2b-256 f42407683602117a56d0cdbf99a6963312bcaf1b9aef939b83c95c5aedb1376c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.7.0

25 files

0.6.0

25 files

This release

0.5.0 This release

25 files

0.4.4

25 files

0.4.3

25 files

0.4.2

21 files

0.4.1

17 files

0.4.0

17 files

0.3.2

17 files

0.3.1

17 files

0.3.0

17 files

0.2.2

17 files

0.2.1

17 files

0.2.0

17 files

0.1.2

17 files

0.1.1

17 files

0.1.0

11 files

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