Skip to main content

RiskPY

A risk and actuarial engine: a C++ core with no Python dependencies, and a modelling layer in readable Python that covers Monte Carlo with dependence, life contingencies, claims reserving, yield curves and short-rate models, credit risk, option pricing, and twenty-two charts — with a verification suite that checks every identity the library claims on every push.

📖 Documentation → slimboi34.github.io/RiskPY

pip install open-riskpy            # core, zero dependencies
pip install "open-riskpy[sim]"     # + NumPy: simulation and the numeric layers
pip install "open-riskpy[viz]"     # + Matplotlib: the charts
from riskpy.mc import Model, Poisson, LogNormal, Normal

model = Model(
    claim_count = Poisson(mean=140),
    severity    = LogNormal.from_moments(mean=18_000, sd=42_000),
    inflation   = Normal(mean=0.043, sd=0.012),
)
model.correlate("claim_count", "inflation", 0.3)

@model.formula
def annual_loss(claim_count, severity, inflation):
    return claim_count * severity * (1 + inflation)

result = model.run(200_000, seed=42, sampling="lhs")
print(result.summary())          # mean, VaR, TVaR at every level
result.plot("dashboard")         # distribution, exceedance, convergence, tornado

CI Verify Docs PyPI Python License: MIT

v0.5.2 — a pickled error keeps its value and notes across processes, riskpy-tools trace no longer crashes on a broken trace file, and an overflowing aggregate_loss says which argument to fix. No result changes.

v0.5.1 — fixes from black-box testing 0.5.0: parametric value_at_risk reports the normal expected shortfall (it returned the historical one), bornhuetter_ferguson refuses a loss ratio typed as a percentage, errors name the tool's own argument, the wheels no longer drop OpenXLSX's headers and libraries into site-packages, and macOS x86_64 wheels ship again. See RELEASE_NOTES.md.

v0.5.0 — RiskPY tells you (and your agent) exactly what went wrong. Every error has a stable code, names the parameter and says how to fix it (riskpy-explain RP105); the tools and the MCP server return {"error": {code, message, param, hint}} instead of tracebacks and refuse percentages where decimals belong (r=5, sigma=20) rather than compute a confident wrong answer. riskpy-doctor checks an installation end to end, a call trace shows what an agent has been doing (riskpy-tools trace, riskpy_status), and eleven more verified calculators are tools (27 in all). On a scripted set of 19 agent mistakes the share of failures that come back with a code, the parameter, a fix and structured JSON goes from 4% (0.4.0) to 100%. Ships the unpublished 0.4.1 security fixes. No numerical result changes. See RELEASE_NOTES.md.

v0.4.0 — for AI agents: sixteen verified calculators as tools with JSON schemas (riskpy-tools, riskpy.tools.call), an MCP server (riskpy-mcp, pip install "open-riskpy[mcp]") so Claude Code and friends can price, reserve and simulate with numbers the verification suite stands behind, and riskpy-context, a description of the library generated from the installed package for the model about to use it. It builds on v0.3.x: four fields of risk (life, reserving, rates, credit), a rewritten Monte Carlo engine, twenty-two charts and the verification suite. See RELEASE_NOTES.md.


What is in the box

Module What it does Needs
riskpy.mc Generic Monte Carlo — any formula, twenty distributions with pdf/cdf/ppf/moments, mixtures and truncation, Latin hypercube, Iman–Conover rank correlation, a copula hook, and a Result that answers VaR, TVaR, sensitivity and convergence NumPy
riskpy.viz Twenty-two charts, one theme, light and dark, palettes validated for contrast and colour-vision deficiency Matplotlib
riskpy.quant Black–Scholes, Greeks, implied vol (pure Python); GBM and jump-diffusion paths; historical, parametric and expected-shortfall VaR; Heston by Fourier inversion — / NumPy
riskpy.life Life tables (Gompertz, Makeham, the AMLCR standard table), insurances, annuities, premiums, reserves, joint lives, commutation functions —
riskpy.reserving Chain ladder, Mack standard errors, Bornhuetter–Ferguson, Cape Cod, ODP bootstrap, tail fitting — reproduces R's ChainLadder on GenIns to the unit NumPy
riskpy.rates Yield curves (bootstrap, Nelson–Siegel, Svensson), bonds with duration, convexity, DV01, z-spread; Vasicek and CIR with closed-form bonds and simulated paths — / NumPy
riskpy.credit Merton, hazard rates and CDS, Vasicek / Basel ASRF with IRB capital, one-factor copula portfolio simulation, rating transition matrices — / NumPy
riskpy.verify The verification suite: 111 checks against closed forms, published tables and identities — 125 with SciPy installed as an oracle — plus benchmarks. riskpy-verify on the command line NumPy
Compiled core FactorModel, MonteCarloSimulator, LossTriangle, FourierTransform, ExperienceRating, ExposureRating, RateAnalyzer, ActuarialMath, RiskEngine, ExcelExporter, the optional Tkinter UnderwritingApp —

Every layer is imported lazily, so import riskpy on a machine with nothing but the wheel installed works and gives you the compiled core.


A taste of each

from riskpy import life, reserving, rates, credit, quant, viz

# Life: the textbook's own numbers
sult = life.LifeTable.sult()
life.whole_life_annuity_due(sult, 40, i=0.05)        # ä_40 = 18.457757 (AMLCR Table D.3)
life.net_premium_reserve(sult, 40, t=10, i=0.05, kind="endowment", n=20)

# Reserving: the GenIns triangle, with uncertainty
tri = reserving.genins()
mack = reserving.mack_chain_ladder(tri)
mack.total_reserve, mack.total_se                     # 18,680,856 ± 2,447,095
boot = reserving.bootstrap_chain_ladder(tri, n=5000, seed=1)
viz.exceedance(boot.result())                         # a reserve distribution, charted

# Rates: a bond on a bootstrapped curve
curve = rates.YieldCurve.bootstrap([0.020, 0.025, 0.028, 0.030], [1, 2, 3, 4])
bond = rates.Bond(face=100, coupon=0.05, maturity=4, frequency=2)
bond.z_spread(bond.price(0.045), curve)

# Credit: Basel capital and a correlated portfolio
credit.basel_irb_capital(pd=0.01, lgd=0.45, ead=1e6).risk_weight    # 92.32%
pds, lgds, eads = [0.01] * 500, [0.45] * 500, [1e6] * 500             # 500 identical loans
credit.credit_portfolio_loss(pds, lgds, eads, rho=0.2, trials=100_000, seed=1).var(0.999)

# Quant: still pure Python for the closed forms
quant.black_scholes(S=100, K=100, T=1, r=0.05, sigma=0.2)           # 10.4506
quant.heston_price(S=100, K=100, T=1, r=0.03, v0=0.04, kappa=2, theta=0.04, xi=0.5, rho=-0.7)

For AI agents

riskpy-tools                         # 27 verified calculators as tools, with JSON schemas
riskpy-tools call black_scholes '{"S": 100, "K": 100, "T": 1, "r": 0.05, "sigma": 0.2}'   # 10.4506
riskpy-mcp                           # the same tools over MCP  (pip install "open-riskpy[mcp]")
riskpy-context                       # the library described for the model about to use it
riskpy-doctor                        # is this installation healthy? (--json; exit 1 on a failure)
riskpy-explain RP104                 # what an error code means and how to fix the call
riskpy-tools trace                   # the recent tool calls, with durations and error codes

A call that goes wrong comes back as data an agent can act on, never a traceback:

$ riskpy-tools call black_scholes '{"S": 100, "K": 100, "T": 1, "r": 5, "sigma": 0.2}'
{"error": {"code": "RP104", "param": "r",
           "message": "r = 5 looks like a percentage: rates are decimals, so |r| must be at most 1",
           "hint": "Divide by 100 — 5% is 0.05.", "docs": "https://slimboi34.github.io/RiskPY/errors/#rp104"}}

from riskpy import tools; tools.manifest() is the list as data and tools.call(name, {...}) runs one; every tool wraps a public function the verification suite checks, takes plain numbers (rates as decimals, times in years) and returns JSON. riskpy-mcp --config prints the client configuration for Claude Code, Claude Desktop or Cursor. riskpy-context generates the conventions that bite, every module's public signatures and the tool list from the installed package, so it cannot go stale. Over MCP, riskpy_status, riskpy_doctor and riskpy_explain let the agent see its recent calls, check the installation and look up a code or a tool's formula. See the docs, diagnostics and the error codes.

Verification

riskpy-verify              # 111 checks (125 with SciPy), ~1 second
riskpy-verify --bench      # plus timings
riskpy-verify -m life      # one module; a module whose extra is missing is skipped, not failed

A test suite says the code does what it did yesterday. The verification suite says it is right: put–call parity, A_x = 1 − d·ä_x, Mack's standard error on the reference triangle, the Basel risk-weight table, Φ⁻¹(Φ(x)) = x, the contrast ratio of every palette colour — each computed and compared to a source the library had no hand in. It runs in CI on every push, nightly with the SciPy oracle, and the docs site publishes the latest report.


Install (developers)

git clone https://github.com/slimboi34/RiskPY.git
cd RiskPY
make install    # pip install -e ".[dev]"
make test       # pytest — 522 test cases
make verify     # the verification suite

Without Make:

pip install -e ".[dev]"
pytest tests/
python -m riskpy.verify

From source you need a C++17 compiler and CMake ≥ 3.15 (pulled automatically by the build backend when missing). Pre-built wheels ship for Python 3.10–3.14 on Linux, macOS and Windows.


The compiled core

from riskpy import FactorModel, FourierTransform, MonteCarloSimulator, LossTriangle

model = FactorModel(initial_base_rate=1000.0)
model.add_multiplier("state", "FL", 3.0)
model.add_numeric_band_multiplier("age", 16, 25, 2.0)
model.calculate({"state": "FL", "age": 19.0})          # 6000.0

# Severity always 1 → aggregate is Poisson(λ), with no sampling error at all
pmf = FourierTransform.compound_poisson_pmf([0.0, 1.0], expected_frequency=2.0, grid_size=64)

sim = MonteCarloSimulator(trials=200_000, seed=7)
losses = sim.simulate_aggregate_loss(5.0, 8.0, 0.5)

import riskpy is headless-safe; the Tkinter GUI (UnderwritingApp) loads only when you use it.


Releasing (maintainers)

# After merging to main and bumping version in pyproject.toml:
make release   # tags vX.Y.Z and pushes — that is the whole release

The tag push checks the tag against the version, builds the sdist and wheels and smoke-tests their imports, uploads to PyPI via Trusted Publishing, and cuts the GitHub Release with artifacts attached. Details in docs/PUBLISHING.md.

Workflow When What
CI every push/PR to main build + pytest + verification on Linux/macOS/Windows, Python 3.10–3.13
Verify nightly verification with the SciPy oracle, benchmarks, JSON report as an artifact
Docs push to main regenerate the gallery and the verification report, build and publish the site
Publish push of a v* tag version guard → sdist + cp310–cp314 wheels (import-tested) → PyPI → GitHub Release

License

RiskPY is Copyright © 2026 Joshua Harty and is released under the MIT License — see LICENSE. Free for personal and commercial use, modification and redistribution; keep the copyright and permission notice with any copy.

Metadata

Release files for open-riskpy 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-riskpy 0.5.2
File Size Uploaded
open_riskpy-0.5.2.tar.gz 340.3 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for open-riskpy 0.5.2
File
open_riskpy-0.5.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
open_riskpy-0.5.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
open_riskpy-0.5.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
open_riskpy-0.5.2-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
open_riskpy-0.5.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
open_riskpy-0.5.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
open_riskpy-0.5.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
open_riskpy-0.5.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
open_riskpy-0.5.2-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
open_riskpy-0.5.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
open_riskpy-0.5.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
open_riskpy-0.5.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
open_riskpy-0.5.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
open_riskpy-0.5.2-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
open_riskpy-0.5.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
open_riskpy-0.5.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
open_riskpy-0.5.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
open_riskpy-0.5.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
open_riskpy-0.5.2-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
open_riskpy-0.5.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
open_riskpy-0.5.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
open_riskpy-0.5.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
open_riskpy-0.5.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
open_riskpy-0.5.2-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
open_riskpy-0.5.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 18.3 MB

Release files / open_riskpy-0.5.2.tar.gz

Download URL open_riskpy-0.5.2.tar.gz
Size 340.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8d6e166441593c9bfdce8f8cb4a14ffd9d41cbd46ecffcf844e8466b8b9197e4
BLAKE2b-256 checksum
How to use checksums
e5eb3df72a9654709dee339dd733f68693bf5a0b3e23370c78b6b5a0419ae4f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp314-cp314-win_amd64.whl

Download URL open_riskpy-0.5.2-cp314-cp314-win_amd64.whl
Size 711.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
355de40660987f21cfa1b5ac7fbb13f16a23e56e2f87d846531e09982e55da6f
BLAKE2b-256 checksum
How to use checksums
5a166e71c88ec44ac0905473b0cc972e0b9571cc3c79a10b4e4cb8d97e7747d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL open_riskpy-0.5.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 966.5 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d39bd38227eee2a24c8538f00c09bbfc39ca69374d42f90084870f9941415a45
BLAKE2b-256 checksum
How to use checksums
b63884a3fbb23c78ed90d0ec2feda13256f987e18f59b52df496b596bfb088a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL open_riskpy-0.5.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 889.1 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b6c95bba41b7907e753fa1a2e22afea6308fb584297d3d83014145fc7069b232
BLAKE2b-256 checksum
How to use checksums
e4bdf7f47d683a3d8269f1e8c6f9efa912d6dcbef7021dc32e73acf9b7478a49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp314-cp314-macosx_11_0_x86_64.whl

Download URL open_riskpy-0.5.2-cp314-cp314-macosx_11_0_x86_64.whl
Size 539.2 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
aabcf661c1f3837978cb0d323b03484f37b8f6ee9b4b8dc662048c8ef60df9ce
BLAKE2b-256 checksum
How to use checksums
bc74edd1116f915c5a318e1fce835c276f1e3fd81a33ed3bed81e1fffe988bb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL open_riskpy-0.5.2-cp314-cp314-macosx_11_0_arm64.whl
Size 509.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d32d1fbef92cd5b1a5b840633937ca8c1b45a4253335997f9fe1c8f437f1aebd
BLAKE2b-256 checksum
How to use checksums
3c404cd33a86f4a2b1a74ae20e19a2ac63a561d33edf9e6b97160bcb9f4387a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp313-cp313-win_amd64.whl

Download URL open_riskpy-0.5.2-cp313-cp313-win_amd64.whl
Size 693.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8822431361d97ed85ffa40c408ae97caffd522e6eb42ad6695dda233fc903b8f
BLAKE2b-256 checksum
How to use checksums
78b2398a1ad33e63b42de8a3c67fcb50bda3468f359ffa5d182937e30969276b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL open_riskpy-0.5.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 966.3 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1d48d845a5ad5acb8467ab9fcb69f59c5ebf7f781d26853573863248ee9ef316
BLAKE2b-256 checksum
How to use checksums
13c068119774ecb69dd4196be2b1460ddd21b1167ecfd8d8b84c05c5b988a25d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL open_riskpy-0.5.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 889.0 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
aef6b4f8b1df983af40cb10242565d304f098df8e67904e02bfc29427a4757f3
BLAKE2b-256 checksum
How to use checksums
08e9b58cdbffb77a3d7d4fb3a183331f473973bce95250e96b5bdbc50c2b9554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp313-cp313-macosx_11_0_x86_64.whl

Download URL open_riskpy-0.5.2-cp313-cp313-macosx_11_0_x86_64.whl
Size 539.1 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
da032a686be21afc2d2402980e854450ebd318b9821d3f6916ddce5d90946bc0
BLAKE2b-256 checksum
How to use checksums
852d9128d950404be253dde4c154574cc89631eab81f2ee60bbbbc1d16e6af0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL open_riskpy-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
Size 509.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8377e2bf7eb03ac964483e072e3ac30bc142383f40580dcc6731d061ea1c730f
BLAKE2b-256 checksum
How to use checksums
e95ecda6fcd5523c3d91047778df9cdfb88fa695b008e65ab0ad60307e3a0729
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp312-cp312-win_amd64.whl

Download URL open_riskpy-0.5.2-cp312-cp312-win_amd64.whl
Size 693.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1c656c7e6ecc583300d2390d1646dc2b29e31557509617bca95df264df5b8eed
BLAKE2b-256 checksum
How to use checksums
0b5dafdcb74136bf191bc0328c384221f5ac87f2333d56656ada4e00c359a9e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL open_riskpy-0.5.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 966.1 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dd482e19e82ccaf853ff4b7c75ae61f2fc3257bb03f82d90d2961e76796e932c
BLAKE2b-256 checksum
How to use checksums
45a6163cfedd42d208c613e561bf435befb62b88f824465b6f047a91eda05537
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL open_riskpy-0.5.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 889.0 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c2b8628de6e0b872e018b13b1fb8267a03b8660dde170b32c59a2221a1b804ca
BLAKE2b-256 checksum
How to use checksums
cf15faf99e65f02b72bedd1a199e934cb6f759737b7be5f9a8f7c45578d03489
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp312-cp312-macosx_11_0_x86_64.whl

Download URL open_riskpy-0.5.2-cp312-cp312-macosx_11_0_x86_64.whl
Size 539.0 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
24c6ce5aba768a93d46888c26ef6f499a179a09595b9208e765a0ce009c04632
BLAKE2b-256 checksum
How to use checksums
c576c0bf98cb3e1f3a84cf5563c2f0ca6712048b59f2949320f13d3698b36ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL open_riskpy-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
Size 509.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eebf78cd2bb0ea3d56694199f4cbeb7988cb0ea5a2a119ef3abcd504ce3914c3
BLAKE2b-256 checksum
How to use checksums
aa70ef2921d140c4a00f6c13b778cba997cf1b1907615c7a927ec1ef26d22024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp311-cp311-win_amd64.whl

Download URL open_riskpy-0.5.2-cp311-cp311-win_amd64.whl
Size 692.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b21a1850909765e9d917a7d947a1b4172d0cf3fd0240cc6c6312d95bfec14012
BLAKE2b-256 checksum
How to use checksums
474e1bcb52aca65a22b5d178807f71360ef53d9c0d13cbe581b510d6d0f26587
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL open_riskpy-0.5.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 964.6 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a9b2de5806c99116711e442e34c00c19c49e5e251a2ba6ef592b0008fccb2a3a
BLAKE2b-256 checksum
How to use checksums
54ed1736dbdcc026cb323e67648e216de5d67667000d1ab944d803938538d7ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL open_riskpy-0.5.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 888.1 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c874e74f59e2f37dc1c4e2adabe681828de5ea5c7e8190790283bab2ea576b81
BLAKE2b-256 checksum
How to use checksums
37b421ccb0ebe4a549fa50883bc991a664202d2df3b17a92b5aa775c353a6519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp311-cp311-macosx_11_0_x86_64.whl

Download URL open_riskpy-0.5.2-cp311-cp311-macosx_11_0_x86_64.whl
Size 536.8 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
396d22c53ce37d8c95e7eab41861545db53beb77e0b3f5bbd4bc78fa538577eb
BLAKE2b-256 checksum
How to use checksums
426520c5a0d97978c928c8c586daf4d33455776d2b3abaa0f0aa52902bd72aa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL open_riskpy-0.5.2-cp311-cp311-macosx_11_0_arm64.whl
Size 508.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d5ef6590c6ba3e3904eb14113e15bb716fff4afdd46d905083993d5827fd40db
BLAKE2b-256 checksum
How to use checksums
3cbc2e78f2d65bc7754a45fd53a684c79880eedfebb9c517d6bc21dc3bc5b048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp310-cp310-win_amd64.whl

Download URL open_riskpy-0.5.2-cp310-cp310-win_amd64.whl
Size 691.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d83cb3b1b244451da2812b848c3e6d93ddf9fc705ebaa28dd61cf28ea85fdbb4
BLAKE2b-256 checksum
How to use checksums
424f3747de4c5da9d6d27bfaaf9bb465c829e75eec163514161d949be5b0f1ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL open_riskpy-0.5.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 963.3 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d63e6f4f23f34e2c3786db97b871a63c256941d2b5a0b84c93d3a782dc3428d9
BLAKE2b-256 checksum
How to use checksums
7b38e0a9785b5bd36ed9ed67e89ac5827e04b5acfeaab5917ee75bbe0e795693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL open_riskpy-0.5.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 887.1 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f8c4fd1d2008507dc4103de9dad11f154be037a955aa3a4476a946d595af8b71
BLAKE2b-256 checksum
How to use checksums
4cf803ca66e3cd5dd5b3d1df2323d27969b239f79691384537784114b460b27c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp310-cp310-macosx_11_0_x86_64.whl

Download URL open_riskpy-0.5.2-cp310-cp310-macosx_11_0_x86_64.whl
Size 535.5 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
41f30e231ee3fd9aa35814ba661257e23b2a72e1fa144459d4e08b262db39bd2
BLAKE2b-256 checksum
How to use checksums
a1f192844112fb2d95e967efb361d001bc29cebdb91dbd034584760ce6f636ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / open_riskpy-0.5.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL open_riskpy-0.5.2-cp310-cp310-macosx_11_0_arm64.whl
Size 507.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fa4dfd40426b2f506792aa156a89f059bcd9c9568373cb594a4a743b7a87314b
BLAKE2b-256 checksum
How to use checksums
0dee3a52b0f5ae6b66327444fd447d53e7a16267b91a052ac3e9bb9ce02eff4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.2 This release

26 release files

0.5.1

26 release files

0.5.0

21 release files

0.4.0

26 release files

0.3.2

26 release files

0.3.1

26 release files

0.3.0

26 release files

0.2.9

26 release files

0.2.8

26 release files

0.2.7

26 release files

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

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