Skip to main content

Rust-powered WRF post-processing — fixes CAPE, SRH, adds 65+ variables, 5-30x faster than wrf-python

Project description

wrf-rust

Rust-powered WRF post-processing with Python bindings. 83 diagnostic variables, built-in plotting, and parallel computation.

Install

pip install wrf-rust

Pre-built wheels for Python 3.10-3.13 on Linux, macOS, and Windows. No Rust toolchain, no system libraries, no conda required.

Usage

from wrf import WrfFile, getvar

f = WrfFile("wrfout_d01_2024-06-01_00:00:00")

# Basic fields
temp = getvar(f, "temp", units="degC")
slp  = getvar(f, "slp",  units="hPa")
wspd = getvar(f, "wspd", units="knots")

# CAPE with parcel selection
sbcape = getvar(f, "sbcape")
mlcape = getvar(f, "mlcape")
mucape = getvar(f, "mucape")
sb3cap = getvar(f, "sbcape", top_m=3000)           # 0-3 km CAPE

# Custom parcel
cape = getvar(f, "cape", parcel_pressure=850,
              parcel_temperature=20, parcel_dewpoint=15)

# SRH with Bunkers storm motion
srh1 = getvar(f, "srh1")                            # 0-1 km
srh3 = getvar(f, "srh3")                            # 0-3 km
srh  = getvar(f, "srh", depth_m=1500, storm_motion=(12, 8))

# Effective inflow layer
eff_srh  = getvar(f, "effective_srh")
eff_cape = getvar(f, "effective_cape")

# Severe composites
stp     = getvar(f, "stp")                           # fixed-layer
stp_eff = getvar(f, "stp", layer_type="effective")   # effective-layer
scp     = getvar(f, "scp")
ehi     = getvar(f, "ehi", depth_m=3000)             # 0-3 km EHI

# Configurable layers
shear = getvar(f, "bulk_shear", bottom_m=1000, top_m=6000)
mw    = getvar(f, "mean_wind",  bottom_m=0, top_m=6000)
lr    = getvar(f, "lapse_rate", bottom_p=700, top_p=500)
lr_v  = getvar(f, "lapse_rate", bottom_m=0, top_m=3000, use_virtual=True)

# Lake interpolation (removes 2m artifacts over water bodies)
cape = getvar(f, "sbcape", lake_interp=1000)         # interp lakes < 1000 km2

# All timesteps
slp_all = getvar(f, "slp", timeidx=None)             # shape (nt, ny, nx)

Also accepts netCDF4.Dataset directly:

from netCDF4 import Dataset
slp = getvar(Dataset("wrfout_d01..."), "slp")

Note: dataset inputs are reopened by filepath under the hood. On Windows, do not keep a netCDF4.Dataset open while calling wrf-rust on that same file, especially in subprocesses. Close the dataset first or pass a file path / WrfFile instead.

Plotting

from wrf import plot_field, plot_wind, plot_skewt, panel

plot_field(f, "sbcape")                               # auto colormap + cartopy
plot_field(f, "sbcape", style="solar7")               # Solarpower07 colormaps
plot_wind(f)                                           # wind barbs
plot_skewt(f, point=(35.0, -97.5))                    # Skew-T with hodograph
panel(f, ["sbcape", "srh1", "stp", "shear_0_6km"])   # multi-panel

# Multi-timestep with consistent scale + GIF
from wrf.plot import render_timesteps
render_timesteps(f, "sbcape", timesteps=[0,1,2,3],
                 gif=True, fixed_scale=True)

CLI

python -m wrf info  wrfout_d01_2024-06-01_00:00:00
python -m wrf stats wrfout_d01_2024-06-01_00:00:00 sbcape slp temp
python -m wrf plot  wrfout_d01_2024-06-01_00:00:00 slp -o slp.png
python -m wrf panel wrfout_d01_2024-06-01_00:00:00 sbcape srh1 stp -o severe.png

Benchmark vs wrf-python

Tested on a 199x199x79 WRF grid. All values match exactly (rel_err=0.00).

Variable wrf-python wrf-rust Speedup
Temperature 0.268s 0.004s 76x
Potential temp 0.088s 0.003s 26x
Abs. vorticity 0.173s 0.015s 11x
Relative humidity 0.353s 0.097s 4x
Precipitable water 0.224s 0.077s 3x
Reflectivity 0.494s 0.234s 2x
SLP 0.517s 0.497s 1x
Wind destagger 0.089s 0.081s 1x

Plus 17 variables wrf-python doesn't have (STP, SCP, EHI, critical angle, shear, Bunkers, lapse rates, fire indices, effective inflow layer).

Variables

83 diagnostic variables. All support units= parameter.

Thermodynamics

temp tc theta theta_e theta_w tv twb td rh

Pressure & height

pressure slp height height_agl terrain geopt omega

Moisture

pw rh2m dp2m mixing_ratio specific_humidity

CAPE & convection

sbcape sbcin mlcape mlcin mucape mucin cape cin lcl lfc el effective_cape effective_inflow cape2d cape3d

All CAPE variables support top_m for truncated integration (e.g. top_m=3000 for 3CAPE). Generic cape/cin accept parcel_type or custom parcel (parcel_pressure, parcel_temperature, parcel_dewpoint).

Wind

ua va wa wspd wdir wspd10 wdir10 uvmet uvmet10

SRH & shear

srh1 srh3 srh effective_srh shear_0_1km shear_0_6km bulk_shear mean_wind bunkers_rm bunkers_lm mean_wind_0_6km

SRH uses Bunkers Internal Dynamics method. All accept storm_motion=(u,v).

Severe composites

stp stp_fixed stp_effective scp ehi critical_angle ship bri

STP supports layer_type="effective" for the 5-term formula with MLCIN.

Radar & cloud

dbz maxdbz ctt cloudfrac uhel

Vorticity

avo pvo

Lapse rates & levels

lapse_rate_700_500 lapse_rate_0_3km lapse_rate freezing_level wet_bulb_0

Generic lapse_rate accepts bottom_m/top_m or bottom_p/top_p, plus use_virtual=True.

Fire weather

fosberg haines hdw

Parameters

Parameter Description
units Output unit conversion (every variable)
parcel_type "sb", "ml", "mu" for CAPE
parcel_pressure/temperature/dewpoint Custom parcel (hPa, degC, degC)
top_m / bottom_m Layer bounds in m AGL
top_p / bottom_p Layer bounds in hPa
depth_m SRH/EHI depth (m AGL)
storm_motion Custom (u, v) in m/s
layer_type "fixed" or "effective" for STP
use_virtual Virtual temperature for lapse rates
lake_interp Interpolate 2m fields over lakes < N km2

Unit strings

Every registered variable supports units=. Raw WRF variables (RAINNC, T2, PSFC, etc.) also support conversion when their default unit is known. Case-insensitive.

Category Strings Example
Temperature K, degC, C, celsius, degF, F, fahrenheit units="degF"
Pressure Pa, hPa, mb, mbar, inHg units="hPa"
Speed m/s, knots, kt, kts, mph, kph, km/h units="knots"
Length/Height m, ft, km, mi, dam units="dam"
Depth mm, in, inches units="in"
Moisture kg/kg, g/kg units="g/kg"

Raw WRF variables

Any variable name not in the computed registry is read directly from the file. Common ones:

Variable Default unit Description
RAINNC mm Grid-scale accumulated precipitation
RAINC mm Convective accumulated precipitation
T2 K 2-m temperature (also available as t2)
PSFC Pa Surface pressure
TSK K Skin temperature
SST K Sea surface temperature
PBLH m PBL height
HFX W/m2 Sensible heat flux
LH W/m2 Latent heat flux
SWDOWN W/m2 Downwelling shortwave
GLW W/m2 Downwelling longwave
OLR W/m2 Outgoing longwave
UST m/s Friction velocity
SNOWH m Snow depth
LU_INDEX -- Land use category
U10 / V10 m/s 10-m wind components
# These all work:
rain = getvar(f, "RAINNC", units="in")     # accumulated precip in inches
tsk  = getvar(f, "TSK", units="degF")      # skin temp in Fahrenheit
pblh = getvar(f, "PBLH", units="ft")       # PBL height in feet

Building from source

Only needed for development. Users should pip install wrf-rust.

git clone https://github.com/FahrenheitResearch/wrf-rust.git
cd wrf-rust
pip install maturin
maturin develop --release

License

MIT

Project details


Download files

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

Source Distribution

wrf_rust-0.2.23.tar.gz (125.2 kB view details)

Uploaded Source

Built Distributions

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

wrf_rust-0.2.23-cp313-cp313-win_amd64.whl (426.1 kB view details)

Uploaded CPython 3.13Windows x86-64

wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (585.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (571.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.23-cp313-cp313-macosx_11_0_arm64.whl (526.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

wrf_rust-0.2.23-cp313-cp313-macosx_10_12_x86_64.whl (535.2 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

wrf_rust-0.2.23-cp312-cp312-win_amd64.whl (426.3 kB view details)

Uploaded CPython 3.12Windows x86-64

wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (586.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.23-cp312-cp312-macosx_11_0_arm64.whl (526.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

wrf_rust-0.2.23-cp312-cp312-macosx_10_12_x86_64.whl (535.6 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

wrf_rust-0.2.23-cp311-cp311-win_amd64.whl (426.2 kB view details)

Uploaded CPython 3.11Windows x86-64

wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (586.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (572.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.23-cp311-cp311-macosx_11_0_arm64.whl (528.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

wrf_rust-0.2.23-cp311-cp311-macosx_10_12_x86_64.whl (539.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

wrf_rust-0.2.23-cp310-cp310-win_amd64.whl (426.2 kB view details)

Uploaded CPython 3.10Windows x86-64

wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (586.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (572.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

wrf_rust-0.2.23-cp310-cp310-macosx_11_0_arm64.whl (528.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

wrf_rust-0.2.23-cp310-cp310-macosx_10_12_x86_64.whl (539.2 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file wrf_rust-0.2.23.tar.gz.

File metadata

  • Download URL: wrf_rust-0.2.23.tar.gz
  • Upload date:
  • Size: 125.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for wrf_rust-0.2.23.tar.gz
Algorithm Hash digest
SHA256 63b7876d2e53257892bd56ab3c8ae4714ba88b5ae76f40c177574760f70d93f4
MD5 39de1c2de847538f253a3b97bf463037
BLAKE2b-256 a5b108191e915393dba2f6408b8a37a0814e4ccce1cefed52f7700c035f848f3

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bb93071e66a7e5a5196f0f08e43f872a5a697a079dc68a7cb288f5b6998d1806
MD5 be89b539a8d44c5ba796951e2670b789
BLAKE2b-256 9000e8e96e13a29727c764fd89897b021026b949b3e6f0628c79448354e1f142

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd65fb4b17945ece3ecf59fbc09c823ca5e30529876f9c78ec9010af84073ad8
MD5 9bb7746da3bd4d488c2daf4a84667dd4
BLAKE2b-256 0ecf48e2a7072654f7230a16100f663fa334df04c02ef5bcb999ca29fb8d62c1

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 02578568f1d0f60bff097d517238008bc32d6291a1d7fc802b9d152a6f664fc3
MD5 dc78fec2cbdd9ffd1db3cd58418d5805
BLAKE2b-256 0c3a25b0001f95a41f9f14189d0388831b56e8a649087a768637e2cacf11527c

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4af42b1eaf79bef25381ce8b8027c5a5566ae2c72c22adb03c052ad56ce1619b
MD5 3e49ec350ddb6cd5e3ac9f66a948a741
BLAKE2b-256 c74d00becbb321f7e3f00f639d1aa9153393706c010e0a9820e0723b04f8c1bd

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b4694b4288da2143eddb0f52b5aadd48500319dc2b9e5627e6dfc8895ffefcca
MD5 f4a27c56404e13f8f62d7485880e20f5
BLAKE2b-256 28f4e2a62242f68ee858008baa382440c8272de1138573bee171b757927f83bc

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2ebfe83b7a0d050fade02ee4130ad1367a4c4731d52f450f62e78256ddfb8c59
MD5 210edc2cc21005cbb58c8388dfa1fd90
BLAKE2b-256 8ede09597c2868509d7ac71db97061be7d4b4ba9827dd52bd64f6571b9770d7a

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 012a8727bc232d1419536775e4e5662fc9fec9330240ed70a6f25ef98c52b420
MD5 71a0116011d2bb10ae9f54d486e36e07
BLAKE2b-256 e5760fb848ee7619c50135a35d2989d9eba3571395508c0ac94b9a888568f03d

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb863ed5856752d63414018943bbd47fbc1eadd5bab58f661f0e3a2366c5993d
MD5 3e70606bdf2cf1511cf74ee60ee22ee3
BLAKE2b-256 cb5b0af903c9bc191d1f5d465c4422882ec19267ad16228e9d93ecb40ea55704

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c43d14be852b06f001926c0c0741d6b44d92549b9fbdedcbb6ad76c01d4160bf
MD5 87aa6e460937b768a0f2b3b441c048a4
BLAKE2b-256 9b47379c2127aca11a7dee75bfaabff7a79354e238647330599ab7903475f266

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bbed5f3d4d1ad1c3711f43a93aa0ecdc579d58da31a9185eeb1927b9f617e4dd
MD5 ade7279e8b1af107fc12b72a80a16ebe
BLAKE2b-256 2ca03fe213cccc9b437dc7883ce1d2151382a877400bfc6904bdcafd4d12891f

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c9e20d82a22177856b3614d4471e7137b7fff897c53bd74cf339c1e455ba9a3
MD5 49cde79f947f4e4ed2a1ef73de85e53b
BLAKE2b-256 7ba9b53281e08d3c7998cb32198104f2896255417746409e8c5ae46a158e09b8

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fec7b7973babcd5f9daa2eb85994889c7024a00ed54209a5944121eb6de123b0
MD5 92d77bc28a09fd3b492328252310d209
BLAKE2b-256 56842611f5751fe22e27e8b29e1bbfa9105f77e378cc0aecea926258f20a1c34

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 13c25a998489f71acd431e3febf2ecda9afe15c8e857abdf5d9d1939f139bca9
MD5 917b124943a4ddeeedc9cee12331f75a
BLAKE2b-256 a601c5fe2571d30e8dd2de29c257d5462bcc6804f91adacb1e1a40bd64d55432

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6003383556887559ebba4e648725d31643d6f982d4b5550cc5bb8dc9038c5110
MD5 7c497b9b864caf29edc559569c6ca2f6
BLAKE2b-256 dbe634d387ac6bee471af15c35cac18119d4f9914c85415bc94bde9927e4a1a2

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1650ea276e69a895d801d774cfc952616f15f4fc6a3368e329fb92f5c9879037
MD5 87d31067b4ccd64c6409389827f227b5
BLAKE2b-256 0b1797f3410d7488a40001b957277316c2831597a6abf722da57f9b84d20a016

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c60c74ec7b98e353855391fbedb08bb423cbdb2fe6e99b4af7a7c4149eff8da5
MD5 8743c26533d2626b49ac2ff6b67902c0
BLAKE2b-256 b57363d55675a0841bd381834d829f7072321fccf77404a3bf74c10404867a96

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67430ea153f90d5e13e8703e8e9604f66af39e040ce5874446ca34ec5ce9463f
MD5 7c31a9bbe0555c2fca2dd8ad1f56bac6
BLAKE2b-256 31fa320abb83f1572d9f2390e4adffe1070e3eebf8c5bac13c903feeab514a0a

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a81b4d5589edf946ef5a4665d5f55731c27d5d9bbcd8c623f0396ef9592b5e3
MD5 5b29c462a43c430f4d9c9ab56d6aa67e
BLAKE2b-256 2c20f0d637ca5a72903a68967ff3c8746b53c6048d60f25964f503f0f28772f6

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bbc345c47e99cc4bcbf1e208c9c62e24a54b04796b62443f21361df224a848ad
MD5 edd9e9ac58d60c48b8e6970e957ab42e
BLAKE2b-256 7d7d3f1a36b057114b8901e275439768a512987d12c98e2855c26d9bee7d8ad6

See more details on using hashes here.

File details

Details for the file wrf_rust-0.2.23-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for wrf_rust-0.2.23-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b0a4ecb5eee3d3cae935ca5866d37f1e3cae8770df0c11a45b7e18ed9b8b800b
MD5 8c25dd3e3916de61baeffd0687643092
BLAKE2b-256 f800c430a445b24f1cce2138416c6c1916560c1b66e88c38fd4bcb384513e3fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page