Skip to main content

Modern Black-Scholes-Merton pricing, Greeks, and implied volatility for Python. Rust core. Drop-in py_vollib replacement.

Project description

pyvolr

PyPI Python versions Wheel OpenSSF Scorecard CI License

Modern Black-Scholes-Merton pricing, Greeks, and implied volatility for Python. Rust core. Vectorized. Drop-in replacement for the abandoned py_vollib.

from pyvolr import bs

bs.price("c", S=100, K=105, T=0.5, r=0.05, sigma=0.2) # 4.581680167540007

⚡ Performance

BSM call pricing throughput: pyvolr vs py_vollib, log-log scaling by array size
Scenario pyvolr py_vollib speedup
bs.price, scalar 4.1 µs 2.2 µs 0.5×
bs.price, 1k strikes 29.3 µs 2.32 ms 79×
bs.price, 10k strikes 188 µs 23.32 ms 124×
bs.price, 100k strikes 1.67 ms 234.91 ms 141×
bs.price, 1M strikes 17.46 ms 2,350 ms 135×
bs.greeks (all 5), 10k 671 µs 89.95 ms 134×
bs.implied_vol, scalar 4.4 µs 15.0 µs 3.4×
black76.price, scalar 3.7 µs 2.2 µs 0.6×
black76.price, 10k strikes 177 µs 23.19 ms 131×
black76.implied_vol, scalar 4.0 µs 14.7 µs 3.7×

Vectorize anything you can — that's where pyvolr wins. For a single scalar price call, py_vollib's pure-Python path edges out pyvolr because the PyO3 FFI roundtrip + numpy broadcasting setup costs a few microseconds; even a 2-element array call already favors pyvolr. Black-76's profile tracks BSM's exactly because the Rust core delegates to bsm::price with q=r rather than duplicating math.

Reproduce with python bench/compare_py_vollib.py. Numbers above: Apple M4 Pro / Python 3.10.20 / numpy 2.2.6 / pyvolr 0.1.2 vs py_vollib 1.0.1.

📦 Install

pip install pyvolr

Or via uv:

uv pip install pyvolr

Pre-built wheels are published for Linux (x86_64, aarch64), macOS (Intel, Apple Silicon), and Windows (x86_64) across Python 3.10–3.14, plus free-threaded builds for 3.13t and 3.14t.

Tested on

3.10 3.11 3.12 3.13 3.14
Linux
macOS
Windows

Every push and PR runs the full pytest + cargo test suites across the matrix above. Windows × {3.10, 3.11} are skipped intentionally to keep CI minutes reasonable — the wheels themselves still build for those combinations and are published. Free-threaded wheels (3.13t, 3.14t) are built and exercised through cibuildwheel's in-wheel test pass on every release across Linux/macOS/Windows.

From source (requires Rust):

git clone https://github.com/yipjunkai/pyvolr
cd pyvolr
uv venv --python 3.12 && source .venv/bin/activate
uv pip install -e ".[dev,test]"
maturin develop --release

🚀 Quick start

import numpy as np
from pyvolr import bs

# Scalar
bs.price("c", S=100, K=105, T=0.5, r=0.05, sigma=0.2)

# Vectorized — broadcast over any combination of inputs
strikes = np.linspace(80, 120, 41)
prices = bs.price("c", S=100, K=strikes, T=0.5, r=0.05, sigma=0.2)

# All five Greeks in one call
greeks = bs.greeks("c", S=100, K=strikes, T=0.5, r=0.05, sigma=0.2)
# {"delta": [...], "gamma": [...], "theta": [...], "vega": [...], "rho": [...]}

# Implied volatility from a market price
bs.implied_vol(price=5.20, flag="c", S=100, K=100, T=0.25, r=0.05)

# Broadcasting works in any dimension
strike_grid = np.linspace(80, 120, 5).reshape(-1, 1)
vol_grid = np.linspace(0.10, 0.40, 4).reshape(1, -1)
surface = bs.price("c", S=100, K=strike_grid, T=0.5, r=0.05, sigma=vol_grid)
# shape (5, 4)

# Black-76 for options on futures / forwards — same API, F replaces S, no q.
from pyvolr import black76
black76.price("c", F=100, K=105, T=0.5, r=0.05, sigma=0.2)

✨ Features

  • Black-Scholes-Merton pricing — calls and puts with continuous dividend yield
  • Black-76 pricing — European options on futures/forwards (pyvolr.black76), same vectorized API as bs
  • Analytical Greeks — delta, gamma, theta, vega, rho (with documented sign and unit conventions)
  • Robust implied volatility — Jäckel "Let's Be Rational" algorithm: rational-cubic initial guess plus Householder order-4 iteration converges to ~1e-13 precision in ≤2 iterations across the full no-arbitrage range
  • Full numpy broadcasting — any combination of inputs in any shape, scalar-in scalar-out
  • py_vollib drop-in shimpyvolr.compat.py_vollib mirrors the upstream module tree (including py_vollib.black) for one-import-line migration
  • Rust core, no compiler needed — abi3 wheels for Python 3.10–3.14 × {Linux, macOS, Windows}
  • Free-threaded Python ready — dedicated wheels for 3.13t and 3.14t; the Rust core releases the GIL around the math, so pricing scales across threads without a process pool
  • Typed end-to-end — pyright-strict library code, full type stubs for the Rust extension

🗺️ Coming soon

  • Drop-in compat shim for py_vollib_vectorized (vectorized_* API + price_dataframe/get_all_greeks, pandas as soft dep)
  • Bachelier (normal model, for negative rates)
  • Higher-order Greeks (vanna, vomma, charm, speed, zomma, color)
  • SIMD batch evaluation + rayon parallelism for large arrays
  • American options (CRR binomial → finite difference)
  • Volatility surface fitting (SVI, SSVI)

🔄 Migrating from py_vollib

Replace your imports — the signatures and 'c'/'p' flag convention are preserved exactly:

# Before
from py_vollib.black_scholes import black_scholes
from py_vollib.black_scholes.greeks.analytical import delta
from py_vollib.black_scholes.implied_volatility import implied_volatility
from py_vollib.black import black  # futures options

# After
from pyvolr.compat.py_vollib.black_scholes import black_scholes
from pyvolr.compat.py_vollib.black_scholes.greeks.analytical import delta
from pyvolr.compat.py_vollib.black_scholes.implied_volatility import implied_volatility
from pyvolr.compat.py_vollib.black import black  # futures options

The compat shim also preserves py_vollib's unit conventions: vega is per-1% vol, theta is per-day, rho is per-1% rate, and implied_volatility takes flag as its last argument. For new code, prefer the modern pyvolr.bs API — it accepts numpy arrays, broadcasts naturally, uses per-unit conventions consistently, and returns all Greeks in a single call.

🤔 Why pyvolr exists

py_vollib has been broken on Python 3.12+ since the release — a transitive dependency imports DBL_MIN / DBL_MAX from CPython's internal _testcapi test module, which isn't shipped with modern Python distributions. The fix is two lines (sys.float_info.{min,max} are the correct sources), but py_lets_be_rational hasn't released since 2017, py_vollib since 2020, and the maintainers are gone.

Full backstory: docs/why.md.

📁 Project structure

pyvolr/
├── crates/core/             # Rust numerical core
│   ├── src/
│   │   ├── lib.rs           # PyO3 bindings (flat-array entry points)
│   │   ├── bsm.rs           # BSM pricing, d1/d2, forward price
│   │   ├── black76.rs       # Black-76 (futures options) — delegates to BSM with q=r
│   │   ├── greeks.rs        # Delta, gamma, theta, vega, rho
│   │   ├── iv.rs            # Jäckel "Let's Be Rational" IV solver (Householder-4, ≤2 iters)
│   │   └── normal.rs        # Φ / φ, erfcx (Lentz CF), inverse CDF (Wichura AS241)
│   └── benches/             # criterion benches gating the README's perf claims
├── python/pyvolr/
│   ├── bs.py                # BSM public API (numpy-broadcast wrappers)
│   ├── black76.py           # Black-76 public API
│   ├── _wrappers.py         # Shared FFI helpers (broadcast, flag normalize)
│   ├── _core.pyi            # Type stubs for the Rust extension
│   └── compat/py_vollib/    # Drop-in shim mirroring py_vollib's tree
├── tests/                   # pytest + hypothesis property tests
├── .github/workflows/       # ci, release, release-please, differential, fuzz, perf, security, scorecard, stale
├── .github/scripts/         # CI helper scripts (perf-gate comparator)
├── Cargo.toml               # Rust workspace
└── pyproject.toml           # maturin build backend + project config

📚 API reference

Function Returns Vectorized over
bs.price(flag, S, K, T, r, sigma, q=0) option price all numeric inputs
bs.delta(flag, S, K, T, r, sigma, q=0) ∂Price/∂S all numeric inputs
bs.gamma(S, K, T, r, sigma, q=0) ∂²Price/∂S² all numeric inputs
bs.vega(S, K, T, r, sigma, q=0) ∂Price/∂σ (per unit vol) all numeric inputs
bs.theta(flag, S, K, T, r, sigma, q=0) −∂Price/∂T (per year) all numeric inputs
bs.rho(flag, S, K, T, r, sigma, q=0) ∂Price/∂r (per unit r) all numeric inputs
bs.greeks(flag, S, K, T, r, sigma, q=0) dict of all five Greeks all numeric inputs
bs.implied_vol(price, flag, S, K, T, r, q=0) σ (NaN on bound violation) price + numeric inputs
black76.price(flag, F, K, T, r, sigma) option price on a forward all numeric inputs
black76.{delta,gamma,vega,theta,rho}(...) Greeks for Black-76 all numeric inputs
black76.greeks(flag, F, K, T, r, sigma) dict of all five Greeks all numeric inputs
black76.implied_vol(price, flag, F, K, T, r) σ (NaN on bound violation) price + numeric inputs
pyvolr.compat.py_vollib.… py_vollib-shaped scalars n/a (scalar API)

flag accepts 'c'/'C' (call), 'p'/'P' (put), or an array thereof.

🛡️ Sustainability

py_vollib died because nobody was paid to maintain it. pyvolr is engineered to outlive its maintainer:

  • One-click releases via release-please + PyPI Trusted Publishing — PyPI publication needs no stored credentials (OIDC), and release-please authenticates as a repo-scoped GitHub App rather than a user PAT, so the credential survives a maintainer handoff
  • Nightly differential tests against py_vollib on a Python 3.10 sidecar to catch numerical drift
  • Wide CI matrix (Python 3.10–3.14 × Linux/macOS/Windows) — the specific failure mode that killed the predecessor
  • All GitHub Actions pinned with weekly Dependabot bumps, hardening against supply-chain attacks
  • Hand-off plan documented in GOVERNANCE.md

Commercial sponsorship channels will be added if demand warrants. For now the best support is real-world use, good bug reports, and PRs.

🤝 Contributing

See CONTRIBUTING.md. Particularly welcome: new pricing models (Bachelier, American), higher-order Greeks, SIMD/vectorization work, and property tests for edge cases.

📄 License

Dual-licensed under MIT or Apache 2.0, at your option.

Algorithms are reimplemented from published references (Hull, Merton, Jäckel); no third-party source code is incorporated.

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

pyvolr-0.1.2.tar.gz (51.7 kB view details)

Uploaded Source

Built Distributions

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

pyvolr-0.1.2-cp314-cp314t-win_amd64.whl (162.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

pyvolr-0.1.2-cp314-cp314t-win32.whl (160.5 kB view details)

Uploaded CPython 3.14tWindows x86

pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl (342.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl (310.9 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_x86_64.whl (260.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_aarch64.whl (245.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

pyvolr-0.1.2-cp314-cp314t-macosx_11_0_arm64.whl (229.5 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

pyvolr-0.1.2-cp314-cp314t-macosx_10_15_x86_64.whl (245.8 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

pyvolr-0.1.2-cp313-cp313t-win_amd64.whl (165.8 kB view details)

Uploaded CPython 3.13tWindows x86-64

pyvolr-0.1.2-cp313-cp313t-win32.whl (160.5 kB view details)

Uploaded CPython 3.13tWindows x86

pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl (344.4 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl (313.1 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_x86_64.whl (263.1 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ x86-64

pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_aarch64.whl (247.8 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.28+ ARM64

pyvolr-0.1.2-cp313-cp313t-macosx_11_0_arm64.whl (229.6 kB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

pyvolr-0.1.2-cp313-cp313t-macosx_10_13_x86_64.whl (245.7 kB view details)

Uploaded CPython 3.13tmacOS 10.13+ x86-64

pyvolr-0.1.2-cp310-abi3-win_amd64.whl (166.3 kB view details)

Uploaded CPython 3.10+Windows x86-64

pyvolr-0.1.2-cp310-abi3-win32.whl (163.6 kB view details)

Uploaded CPython 3.10+Windows x86

pyvolr-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl (344.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

pyvolr-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl (314.4 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

pyvolr-0.1.2-cp310-abi3-manylinux_2_28_x86_64.whl (263.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

pyvolr-0.1.2-cp310-abi3-manylinux_2_28_aarch64.whl (249.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

pyvolr-0.1.2-cp310-abi3-macosx_11_0_arm64.whl (233.0 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

pyvolr-0.1.2-cp310-abi3-macosx_10_13_x86_64.whl (249.4 kB view details)

Uploaded CPython 3.10+macOS 10.13+ x86-64

File details

Details for the file pyvolr-0.1.2.tar.gz.

File metadata

  • Download URL: pyvolr-0.1.2.tar.gz
  • Upload date:
  • Size: 51.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d9b6a1118974bedaf5e91acb81af646f4c9b053800574e66b46a05ff748619d8
MD5 ae3610a3154de2fc3be9e8e3f56f730e
BLAKE2b-256 b4603e17c914f3cf84ca0b108381ec0fa83006b25e016bf3ce63019cd8de9cd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2.tar.gz:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 162.9 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 766c653ecc16467c994312229f6e415456ee7ad15cd2558435a91eef93ef3434
MD5 542d47da261e4183960af59d9d851742
BLAKE2b-256 8764b4777dba55b1fec08fd0b8b9ba8ccfc47db2f708d5a8837240f0a739b058

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-win_amd64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-win32.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 160.5 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 d2a7129300887d6c71ed5532846ef0dd4a01c067ec2b207cb080c34398ef662d
MD5 450abb0af90830bd6ce4338987a3797c
BLAKE2b-256 492dd2ec96f82e25da310389a3dd88970402c46533a5e6a9d3d09d2f025d7cd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-win32.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 667cd28290de722137754093581c28eb71bf7c5ff8fa2918150d2907202d664b
MD5 6d6939c5fad44402d787a61b40736ec1
BLAKE2b-256 6cfc0771c5b8f80ca877f7910d43ff3d734262f97cd195441cc465c7e01a3f35

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf7b79272e7b96b601778019d1a8e6d3658adacdfd1ca5982c95ae37566daf74
MD5 01c9f2a1e0cbf466357a249e71068eaf
BLAKE2b-256 f628f114a04a2ee39cdc3d9e094a504c395c08fbea3ea6ee00d4a35282d0359f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab71f8bcd1e5381400398978799ae891a505312ced6da49cb0e1fb096b0796ab
MD5 1f0cff02aa2f64142cd3364ac355dc78
BLAKE2b-256 37dc0d7c4a001100d75298cb7954399b200a377d63d767c1f24be18cf456c5b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5d7bbcf5c0514256852820b04d006602048745ddc111f58556424d4b05075fc3
MD5 bc6a3b2539be2db020f0b90943f6c2d5
BLAKE2b-256 b759f77893df90b7a120117a460f42804e467c690ef16b3306e6d2515dab9790

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-manylinux_2_28_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86b188fba8a754c42a07e9b94ddc7e993e4c887385814cfc4f32b9e03e0f62ac
MD5 ecfa37c04be02635543a9256dcec1727
BLAKE2b-256 2e03726d1321dcf1efbbd5fd7e1b5a351a3483391801a5ddae8b9be05e204ef0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6ace910a3b455feb2ea6d3a33cb28590926020260ef1210b6e86b790e29148ed
MD5 ceca2e5df3b6c0a73210a93a31a9a8b1
BLAKE2b-256 d117ee9f73c593911dcf244cb46ed5f4131cdd234f3a2841f94fc3ec6aeb9193

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 165.8 kB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 e3ef47988cea4ce7b2d73b90131699ea3179421bddda3d54f0462175b7839370
MD5 2c6ec3ad3300767362c5bbf05490b6d2
BLAKE2b-256 37ee153024a5d27a42effe3dfd475a62bba6a85e644b42624060bede6e578125

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-win_amd64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-win32.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 160.5 kB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 1df00140aaded7f8e476e459234f17d1205db86c7f48526a613d68c654101fd1
MD5 e0d5d0d14f64dae454b19de920de7ce9
BLAKE2b-256 e11c588b4bd5851b960a7d21294214910166a7aa6eb1d9d1c5b9d6d876d2311b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-win32.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0392277c1e3ed761507b284a9b8ae2dd9ebd888223868ea790cfa51d58f30bb5
MD5 c62a8065b4cf9794738c4c8750f68b8e
BLAKE2b-256 11694c1e760063c8de89ebc0713bf1cd004231df5b7fc8908fc0b76bd0753780

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3c30b2b13bd4dd41dcbc95cd42d413b45ef7f181a46d1a64b4e55d3eb3e80427
MD5 36879d6eeb40933458e51c8b75078307
BLAKE2b-256 b4671d66941b57ea01e95a271f87c2dacaf749f854b767df7678b71cb75f7e7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8f44176204f15db6f72b183f388114ed41384fef37d7a8aaac25e5f7d450612
MD5 f67ff4e77836f7f80172a1b74f2e3253
BLAKE2b-256 0c1546fe9873ef85dd6de945f33def849245f74c696f455939c770d6edc8d740

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 76f07421636214ba7b06e45cbdd83896bd6a3fd91ab4e4d10eb037f9b14d9368
MD5 bbbd4c18f905c7cb43c3100d6f1e24c9
BLAKE2b-256 302528326b00a27058d26b4b4178edd354151c1e3d70d5e6823d27ecf6fcc3f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-manylinux_2_28_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6aed7824c59ecf5b02dff162cc813eee1f8b489d5d4dc6db45bb3c03b82e1973
MD5 5d4e1d3bb993569428f680321bfe8461
BLAKE2b-256 fb5d08432fd19a968e5ac5299cb8f3b5adef485cfdc019f5b9e80471044b776a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-macosx_11_0_arm64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp313-cp313t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fb4a1aa11ca8666bb632d1b6235178694ff1dab0ab28149b784d5a8a5e362eb9
MD5 5a5229a93a32d155ddda63f6cb173307
BLAKE2b-256 93788ad1893fc32155490815b3f12c8fec328850f4a75cbd858b92d184f3c40d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp313-cp313t-macosx_10_13_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 166.3 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7839f55cc1ad6839750a1dd8a18151a8227e3cef5c2067235fa29c86e70eaad2
MD5 248595757fbea34261ef5db1511a3546
BLAKE2b-256 b7822c477150dad9b9c7a2d608925f4fd4975fa7d2096a43ebf935a35ecfcd3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-win_amd64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-win32.whl.

File metadata

  • Download URL: pyvolr-0.1.2-cp310-abi3-win32.whl
  • Upload date:
  • Size: 163.6 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 b776f554a876836bd184e9c30a6203ae202de0accc4b6d4d6815eca255f80f87
MD5 47201a04f4cd88d747b0c36763cc8dc8
BLAKE2b-256 d47e638a33d159000c67d5586e70b58a9ef3b72f3404f8eb7cc14731ccb17339

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-win32.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 788785c7921420f545eba564fa7417c3a79d49c164b7a1be896b111a1625fb95
MD5 d507a0e0dcd61778f431fd18573a840d
BLAKE2b-256 2ec4e3142d06e6fde218f76ce06b4e0edf84336401f7a4b8d49b4cdb7868696a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 87b30edd46e15a410eedb3e97e1dfef236872d4ed08547090bda8e50f983ad67
MD5 9593b1576132da59f1e0e9ad6c506b80
BLAKE2b-256 76e24dffcc1ad79d4819a6507f039be814dcd708572bc2b548081f3c766c602a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 747db742c8821b25f07f6109e814da0b024b718e1db0e3ce351c7a4b8a2bb484
MD5 01908484a1dce98e66e0998c309d11ac
BLAKE2b-256 9b43f71ef939049ff6da29c6de37020bd5fe0ddf0e8d3524305efc7b0326ef7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6cfa0f7d6da4178d0cfb6f3f1681b4f4b942f229bc8e3023d85ef18588ad4450
MD5 235766abe9dab0f7bcec5428e6915841
BLAKE2b-256 d17a05fa63aab1841483d8eb158f3dd3548267d78861032b3ae369faa2b43b7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6acd39d8668f0f580103629f6208323c9beb17d9adc6db8a2abdf24c5a3fac12
MD5 85e9fea0e7b81dbe41ecfdb34bb6ab26
BLAKE2b-256 0c519a031dc952b331c315c4783f894bff655bc89f7ec7a4aff336e1e0926b60

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvolr-0.1.2-cp310-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyvolr-0.1.2-cp310-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b3fa1e66ca99110faa8f9e5b0a07980f28eb683d49c48cc88e77d74bcdb7d26c
MD5 83b9483241253b50f2a4dea8ecf8c758
BLAKE2b-256 dc315afc34054d36ba60cfe5ec299d89d54b7a1b9b6483f855e3f090b3c0c810

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvolr-0.1.2-cp310-abi3-macosx_10_13_x86_64.whl:

Publisher: release.yml on yipjunkai/pyvolr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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