Py-Vollib
raw JSON → 1.0.7 verified Fri May 01 auth: no python deprecated
Deprecated transition package for vollib, a Python library for pricing and calculating option implied volatility using Black-Scholes, Black (1976), and Garman-Kohlhagen models. Version 1.0.7 is the final release; users should install 'vollib' (the canonical package) instead. py_vollib is published as a stub that depends on vollib and provides deprecated compatibility imports. Release cadence is low; actively maintained on GitHub under the vollib organization.
pip install vollib Common errors
error ModuleNotFoundError: No module named 'py_vollib' ↓
cause Cannot import py_vollib after installing py-vollib (some environments break due to package name mismatch).
fix
Install the canonical package: pip install vollib, then import vollib.
error ImportError: cannot import name 'black_scholes' from 'py_vollib' ↓
cause py_vollib compatibility shim missing or outdated.
fix
Switch to vollib: from vollib.black_scholes import black_scholes
Warnings
deprecated py-vollib is deprecated. The canonical package is 'vollib'. Install and import 'vollib' instead. ↓
fix pip uninstall py-vollib && pip install vollib, then change imports from py_vollib to vollib.
breaking Stale dependency path: py_vollib==1.0.7 pins an old vollib version. Avoid installing py_vollib directly. ↓
fix Do not install py-vollib; use vollib directly.
gotcha Flag argument 'c'/'p' is case-sensitive; lower case only. Also, all numeric inputs must be floats (ints may cause type errors in some versions). ↓
fix Always use 'c' or 'p' (lowercase) and pass floats: e.g., S=100.0, not 100.
Install
pip install py-vollib Imports
- black_scholes wrong
from py_vollib.black_scholes import black_scholescorrectfrom vollib.black_scholes import black_scholes - black wrong
from py_vollib.black import blackcorrectfrom vollib.black import black - implied_volatility
from vollib.black_scholes import implied_volatility
Quickstart
from vollib.black_scholes import black_scholes, implied_volatility
# Option parameters
S = 100.0 # underlying asset price
K = 105.0 # strike price
t = 0.5 # time to expiration in years
r = 0.02 # risk-free rate
sigma = 0.2 # implied volatility
flag = 'c' # 'c' for call, 'p' for put
# Price using Black-Scholes
price = black_scholes(flag, S, K, t, r, sigma)
print(f"Option price: {price:.4f}")
# Implied volatility from observed price
observed_price = 5.0
iv = implied_volatility(observed_price, S, K, t, r, flag)
print(f"Implied volatility: {iv:.4f}")