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.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.1

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.1
File Size Uploaded
open_riskpy-0.5.1.tar.gz 337.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for open-riskpy 0.5.1
File
open_riskpy-0.5.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
open_riskpy-0.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
open_riskpy-0.5.1-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.1-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
open_riskpy-0.5.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
open_riskpy-0.5.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
open_riskpy-0.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
open_riskpy-0.5.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
open_riskpy-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
open_riskpy-0.5.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
open_riskpy-0.5.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
open_riskpy-0.5.1-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.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
open_riskpy-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
open_riskpy-0.5.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
open_riskpy-0.5.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
open_riskpy-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
open_riskpy-0.5.1-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.1-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
open_riskpy-0.5.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
open_riskpy-0.5.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
open_riskpy-0.5.1-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.1-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.1-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
open_riskpy-0.5.1-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.1.tar.gz

Download URL open_riskpy-0.5.1.tar.gz
Size 337.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6c60e8a93a4b7f9a927a2e2792f44e32a9c04183f566b5ac2fba263346accd41
BLAKE2b-256 checksum
How to use checksums
640a0934fe8e4edc3b7e9432e311e9ef15ac7530f05da730ae01a7841592af10
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp314-cp314-win_amd64.whl
Size 710.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
ca58ad6255da47cc8ba9e3016146afaa12d810c0ac37dbbf039449a102a96e4a
BLAKE2b-256 checksum
How to use checksums
6da6eedad8faa7d31690bd9afa6884f3d47228c9507f10db76cebc79b44ed273
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 965.8 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a55fb82940a3e6648a53e2f104839c26e9462aef5faf37cb98fa493e6a696ce3
BLAKE2b-256 checksum
How to use checksums
33daa1cbf7f8939e340b83f05bf437d60027e9125a6aff672604207bfa8e6397
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 888.4 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d070a0dc6d1950fc16a3b7dc39b226cee9012037dfe3b97b8c54d6ad933a7121
BLAKE2b-256 checksum
How to use checksums
70775c7c2135ae03c929bace655553f777fe81d8573a01107e96a21be29d17df
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp314-cp314-macosx_11_0_x86_64.whl
Size 538.4 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
fdbd05a2294e0e05ccd7be29aad41a6e6a02f1325ec17590197da9baf373ef8e
BLAKE2b-256 checksum
How to use checksums
fca3d9e1b8cbc46a1653d6c62d31b785e0a765d7d88998ffdd40ab7c3ee47a0b
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
Size 508.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
60c4705a32a3243d5574f17ef3e82d0cc64be43131ff3a8ee0774efafb005754
BLAKE2b-256 checksum
How to use checksums
e8a451005c09c387334b7a6f7a784305ca86ad41283fda2f725cfa0b2f1d8709
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp313-cp313-win_amd64.whl
Size 692.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c1dfea50e6459a6c887ac9c1010360ba7d46153b53c5e187cf815c20d20512bc
BLAKE2b-256 checksum
How to use checksums
ed4a7a70585986864f47d2d22d2a4dd3daa7076385ca9fef2b6a01afe4f543ba
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 965.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6c64624de0a8496bac91242b9c1c92641bcd6d4cfd62465603f0495d09e026b5
BLAKE2b-256 checksum
How to use checksums
6f1ec37d63196345b762684b1c9eedbecb5b231f36dc8f036f8fc5503228075a
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 888.2 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
96409b4a33785645706dee4f29c33ac44acab5f0a07c1b1a5749beae59b154a2
BLAKE2b-256 checksum
How to use checksums
f4eead8d8d9889a2876d64a8180e7ef754aae1b9e4bcd4a33189b8681f23b58d
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp313-cp313-macosx_11_0_x86_64.whl
Size 538.4 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
3cc77aea74742d37b8aff4bc9c4922fff837f2ee21c733b5df22d23fbf28f008
BLAKE2b-256 checksum
How to use checksums
7a84d98c921a419b310f34800d8a33bad99a5a6323030044ba2f2043b07cac3f
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Size 508.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ce7909ed3fbee2e06cc1a6e535d0ba62b3a11db38e5c1f439d7e4165d2526a33
BLAKE2b-256 checksum
How to use checksums
3861b7696398ba6dee44cda66476c08db5db8d44e76079a3fdd9e5650a8e9ba0
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp312-cp312-win_amd64.whl
Size 692.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
cf6b9523c270dd08789997f7d77fe372c06147b061a1aba2fce4de35b25ab578
BLAKE2b-256 checksum
How to use checksums
dad725c37d5ef4be817fb72e803aef7de18ab0b1a8efeaf5efa988aedde4ca96
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 965.3 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
409a057b000b33829568a95ca3babc5c2349498b6c94d32979bd61020b64b017
BLAKE2b-256 checksum
How to use checksums
eea16fdd0e73a1c46657a811f7723c20ef29e35521465e676ca5ec7a65dbbef1
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 888.2 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cd5b019c0ef3b78c3a931c5eed0a887dfe11ebdb7e9a1171ce5e02aa8260738c
BLAKE2b-256 checksum
How to use checksums
f291b8739eb7feafa38b13c5a0c19192a5560ead96d4dcc32fe5b8ce74eb8aa4
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp312-cp312-macosx_11_0_x86_64.whl
Size 538.3 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
b9a44208d5fd67f106f729914bd1961ddf9f10314c7a59409946186d40bd3169
BLAKE2b-256 checksum
How to use checksums
468888b0c3d7e0dba753a2f37fcbac3aa7b54b4281fd2d94298bb6eb808d5b8a
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Size 508.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
54915ca0877c017b321f1a5c0b126732011599bb2646f0cd2aa2253e4a9ea187
BLAKE2b-256 checksum
How to use checksums
cad0149c3191009de1caecffb5e5b740afaa69d55f236226637fc5658c9b96e5
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp311-cp311-win_amd64.whl
Size 691.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
821f551607bdf0a281592a1001c5d734c02e14fa9125b1729b89989719d522f1
BLAKE2b-256 checksum
How to use checksums
63b5aac39cdd09704559a0b21bcc95e038476f84208ed19e8ce98b1878799c0d
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 963.9 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
45a247a5fba6b3bc94e086770441251aa2e32928883359b3afa5a93bde6e6114
BLAKE2b-256 checksum
How to use checksums
dfa9801f9f46c5ed08a9b0fe02ec3b28e705e5a34d3f5f80dba6a899b1895f57
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 887.4 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6f4fd849689fbac1f61353a4b8343fab6a51af4f71b4d0f8ecef1379b054e4f1
BLAKE2b-256 checksum
How to use checksums
5131f5520423683a6cb14cbe21fc1ad26cbb9a1f7a3dc6e70c1a1be14bed40e0
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp311-cp311-macosx_11_0_x86_64.whl
Size 536.1 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
5b35e4edede7a350590a632670a353e6ff75c36bfbf49267bb29df529a7dbcef
BLAKE2b-256 checksum
How to use checksums
d95cfd2336a07a50b878e111756cfd212d672ea4eb1d7a2a1e800b32742fcf37
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Size 508.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d62d7bb8198ba7a480a29f1b02b4960e8938c2c57ca075fd1b5a38320b6b67f
BLAKE2b-256 checksum
How to use checksums
f5b2031017c4c2ae89ddfbda61fc4d657068b7e4555738c35eb0a8a87c56e420
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp310-cp310-win_amd64.whl
Size 690.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
70a3caa48f042aed08c635d233c1d7edde3f3ab52a0f95a4bf0609b4cbc6d68c
BLAKE2b-256 checksum
How to use checksums
c210b2cf3b3228249fd13b39eaad9080d528d679c4267c617bffe6d5b2bff6b2
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 962.5 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2c638b9ea37b220e8a1172152a5f3d79bc849157089b765c36b3d57d34e3eb85
BLAKE2b-256 checksum
How to use checksums
45845aa6322cedeac1b8351cc73f82512f411eae1b2dab9729298c2cd5538478
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 886.4 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9bfa97b4ee8e28a4f5e6d078bc14ab5dbfa5b66a2b0dea0214830cc9015d0074
BLAKE2b-256 checksum
How to use checksums
8174a7e0b19171d4b96e8d260a5cbf127b24289fd7ecb69255a0222936e58484
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp310-cp310-macosx_11_0_x86_64.whl
Size 534.7 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
ab53d2eb4a8f5dca89d90d5f897378544dce4874294ad34f79a0c12f431086df
BLAKE2b-256 checksum
How to use checksums
00644fdc6202e053fac04dd94d7aa574a30b363a2dca537cd32c6cf6ebd4ac25
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 15, 2026.

Transparency log

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

Download URL open_riskpy-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Size 507.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0692ebc3c518a0781a1bc1fcea19061b053fc1ecad6d6148b5ed8a7918b570f9
BLAKE2b-256 checksum
How to use checksums
b1ecc0bd9145e1a55c193e7810f72a4deb22e22508d133f311e9e052f9f97f65
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.2

26 release files

This release

0.5.1 This release

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