py-lets-be-rational
Pure python implementation of Peter Jaeckel's LetsBeRational.
Decision gist · record as of 2026-08-14
Yes. The package solves a well-defined, computationally intensive problem with a proven algorithm. It has low installation friction, active maintenance, MIT licensing, no known vulnerabilities, and broad Python version support (3.9–3.14). The pure Python fallback ensures it works immediately; optional Numba acceleration is available for users willing to handle system-level dependencies. Suitable for production use in option analytics workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Optional Numba acceleration requires LLVM 3.9 and llvm-lite installation, which is OS-dependent; pure Python mode works without it but runs slower.
- Low friction installation with a pure Python fallback; the package is actively maintained (last commit 2026-05-29) and supports modern Python versions 3.9–3.14.
- Optional Numba dependency can improve speed but requires separate system-level LLVM installation, which the documentation acknowledges as OS-dependent.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) allows free use, modification, and distribution with minimal restrictions. The original algorithm carries a historical copyright notice from Peter Jäckel with a simple warranty disclaimer.
last release 2026-05-30 (76 days) · last repo commit 2026-05-29 · 73 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 120,919 downloads/mo, #12,004 on PyPI
Alternatives
Verify before relying
pip install py-lets-be-rational
import numpy
# Implied volatility computation via the package's algorithm- What functions or classes the package exports for computing implied volatility.
- Whether the package's pure Python implementation is sufficiently fast for production use without Numba in typical workflows.
- Current status and compatibility of the Numba optional dependency (documentation references numba==0.31.0, which is very old).
- What cody-special and piecewise-rational runtime dependencies contribute to the package.
What it is and what it does
py-lets-be-rational is a Python implementation of Peter Jaeckel's LetsBeRational algorithm for computing implied volatility from option prices. It solves the inverse problem of Black's model—given an observed option price, it calculates the volatility that would produce that price—using a highly efficient numerical method. The package provides a pure Python implementation that works out of the box, with an optional Numba dependency for JIT compilation and faster execution.
The package depends on numpy for numerical operations and maintains backward compatibility with the historical py_lets_be_rational import path. Installation is straightforward on modern Python (3.9–3.14), though users seeking Numba acceleration must handle OS-specific LLVM setup separately. It is actively maintained and carries a permissive MIT license.
Use it for
- Computing implied volatility from observed option market prices for Greeks and risk calculations.
- Building implied volatility surfaces across strikes and maturities from option quotes.
- Calibrating option pricing models by extracting market-implied volatility parameters.
- Backtesting trading strategies that depend on fast, accurate volatility inference.
- Constructing volatility indices or term structures for portfolio analysis.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package solves a well-defined, computationally intensive problem with a proven algorithm. It has low installation friction, active maintenance, MIT licensing, no known vulnerabilities, and broad Python version support (3.9–3.14). The pure Python fallback ensures it works immediately; optional Numba acceleration is available for users willing to handle system-level dependencies. Suitable for production use in option analytics workflows.
Install
py-lets-be-rational on PyPI
Before you install
Low friction installation with a pure Python fallback; the package is actively maintained (last commit 2026-05-29) and supports modern Python versions 3.9–3.14. Optional Numba dependency can improve speed but requires separate system-level LLVM installation, which the documentation acknowledges as OS-dependent.
Optional Numba acceleration requires LLVM 3.9 and llvm-lite installation, which is OS-dependent; pure Python mode works without it but runs slower.
License in practice
MIT license (permissive) allows free use, modification, and distribution with minimal restrictions. The original algorithm carries a historical copyright notice from Peter Jäckel with a simple warranty disclaimer.
Quickstart
pip install py-lets-be-rational
import numpy
# Implied volatility computation via the package's algorithm
Verify before relying
- What functions or classes the package exports for computing implied volatility.
- Whether the package's pure Python implementation is sufficiently fast for production use without Numba in typical workflows.
- Current status and compatibility of the Numba optional dependency (documentation references numba==0.31.0, which is very old).
- What cody-special and piecewise-rational runtime dependencies contribute to the package.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0,>=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagescody-specialnumpypiecewise-rational |
| Maintenance | Actively maintained 76 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 120,919 / month, #12,004 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: py_lets_be_rational-1.1.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “implied volatility calculation”
- py-lets-be-rationalComputes implied volatility from option prices using Peter Jaeckel's…
- py-vollibCalculates option prices, implied volatility, and Greeks using Black,…
- vollibvollib calculates option prices, implied volatility, and Greeks using…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also py-vollib · vollib · volatility3 · cody-special · piecewise-rational · pyportfolioopt · arch · glicko2 · antropy