Skip to main content

Haute

Open-source pricing engine for insurance teams.

PyPI Python 3.11+ AGPL-3.0

Documentation · Getting started · GitHub


Haute is a free, open-source pricing engine. Build rating pipelines in a visual editor, train and score models, optimise prices, trace how any price was calculated, and deploy the result as a pricing API, all on standard open-source tools such as Polars, MLflow and Git.

Why Haute

The rest of data science runs on open-source tools, version control, automated testing and continuous deployment. Pricing teams are often still working across a chain of proprietary products, and that stack holds them back:

  • Closed and expensive. Licences often run to six figures, the work is stored in proprietary formats, and the calculations can't be inspected, tested or version-controlled like code. Leaving means rebuilding everything.
  • Split across tools. Data preparation, modelling, rating structures, optimisation and the live rating engine often sit in separate products. Every change is exported, re-keyed and reconciled between them, and each hand-off is a chance for error.
  • Manual releases. Changes reach production through exports, spreadsheet checks and email sign-offs rather than automated tests, staged deployments and impact analysis.
  • Skills locked to one vendor. Analysts learn an interface instead of Python. When the tool can't do something, neither can the team, and newer modelling methods arrive only when the vendor adds them.

Haute replaces that chain with one open pipeline:

  • Open, and yours. Haute is free and open source. Each pipeline is an ordinary Python file with its settings in JSON files beside it, kept in sync with the editor as you work. You can read, test and version pipelines like any other code, see exactly how every price is calculated, and run them on your own infrastructure.
  • One pipeline from data to deployed price. Data preparation, rating, models and optimisation live in one pipeline that analysts build on the canvas and developers edit as code. The same logic prices batch data and live quotes, so nothing is rebuilt for production.
  • Releases with guardrails. One wrong factor can misprice a whole book, so every change is validated, deployed to staging and approved in CI/CD before it reaches production. Analysts push their changes; they don't need Docker or cloud tools on their machines.
  • Skills that transfer. Everything underneath is standard tooling, and the step builder shows the Polars code it writes, so what analysts learn applies well beyond Haute.

Haute is for pricing and actuarial teams who want to build, test and release their own pricing changes without waiting on engineering, and for teams moving off legacy platforms who want to keep their guardrails.

Built on open-source tools

Haute connects standard tools rather than replacing them:

Tool Role in Haute
Python Every pipeline is a Python file, with one function per node.
Polars The data engine: columnar, multi-threaded and strict about types.
MLflow Experiment tracking and the model registry, locally, on your own server or on Databricks. Trained models are logged with their model cards, and pipelines score registered models by version or alias.
Git Version control. Every save in the editor is a commit, so a pipeline's history can be reviewed like any other codebase.
CatBoost, XGBoost, LightGBM, RustyStats, InterpretML Model training (gradient boosting, GLMs and explainable boosting machines), with Optuna for hyperparameter tuning.
price-contour Constrained price optimisation.
GitHub Actions, GitLab CI, Azure DevOps Validation and releases, through workflows haute init generates.
Databricks Optional: read Unity Catalog tables, track models in Databricks MLflow, and serve pipelines on Model Serving.
Docker Serve a pipeline from a container image you run on your own infrastructure.

Quick start

uv add haute
haute init
haute serve

haute init scaffolds a project with its configuration, test quotes and CI/CD workflows, and haute serve opens the editor in your browser. The getting started guide covers setup in more detail.

Features

Build pipelines

  • Rating steps. Factor tables of one to three factors, banded or raw, with spreadsheet copy and paste, default values, and combined outputs (multiply, add, min or max).
  • Banding. Group continuous values with breakpoints, or map categories into rating groups.
  • Polars step builder. Filter, derive, join, group, pivot and more without writing code. The steps are saved as Polars in the pipeline, and you can drop into code when you need to.
  • Data. Parquet, CSV, JSON and Arrow files, plus Excel, Delta Lake, Iceberg and Databricks Unity Catalog through optional packages. Nested JSON or XML quotes are split into flat tables, and responses can be nested JSON.
  • Reuse. Group nodes into submodels, and create instances that apply a node's logic to different inputs.
  • Live and batch. Source switches send development or batch data through the same logic that prices live quotes.

A fast, memory-efficient engine

Pipelines run on a highly optimised execution engine built on Polars, so they're very fast and light on memory, even on large datasets.

  • Quick previews. Previews reuse cached results from earlier steps, and the cache lives on disk, so it survives a restart. Non-Parquet sources are read once into a Parquet snapshot and reused: a file's snapshot refreshes when the file changes, and a database, lakehouse or Databricks table's when you import it again.
  • Lazy plans for full runs. Batch runs, scoring and training run the pipeline as lazy Polars plans, so Haute reads only the columns later steps need where it can prove them and applies filters as early as possible. Joins, results that several steps share, and steps that need every row are computed once, under a memory check, and the plan continues from them. Writes stream to disk in chunks wherever the format allows, and one chunk-size setting trades memory for speed.
  • Memory under control. Heavy work runs in worker processes with hard memory caps that respect container limits. A run that won't fit is refused before it starts instead of running the machine out of memory, and training works out a safe row limit up front.
  • Visibility. Per-node timing and memory breakdowns show where a run spends its time.

Explore, model and optimise

  • Explore. Profile, pivot, chart and check relationships at any point in the pipeline, off the scoring path.
  • Train. CatBoost, GLMs (RustyStats), XGBoost, LightGBM and EBMs, for regression or classification, with exposure weights, offsets, and Poisson, Gamma or Tweedie objectives depending on the model. Random, temporal or group splits, cross-validation, an optional held-out test set, and Optuna tuning.
  • Diagnose. Gini, lift, actual versus expected, residuals, partial dependence and feature importance, plus SHAP for CatBoost, XGBoost and LightGBM, GLM coefficients and relativities, and EBM terms.
  • Reproduce. Export a runnable training script from the same configuration, and log results to MLflow with an HTML model card.
  • Score. Load models from MLflow runs or the model registry, and use their predictions in your rating logic.
  • Optimise. With price-contour, choose the best candidate price for each quote, or optimise banded factors across a ratebook, within your constraints. Compare points on the efficient frontier, then save a result and apply it downstream.

Explain and collaborate

  • Trace any price. Click a cell to see how it was calculated: the path through the canvas, a waterfall of how the value built up, the factors each rating step chose, the band each value fell in, how a model's score breaks down, and how each input was derived.
  • Git without the command line. Built for teams where not everyone knows Git. Every save is recorded; group saves into milestones with a message and version label, work on branches, push to a shared remote and open any past version, all from the editor. Protected branches such as main can't be written to directly.
  • Assistant (early preview). Describe an edit in plain language, and the assistant makes it through the editor's validated save path. Bring your own model through Anthropic, OpenAI or Databricks.

Deploy a pricing API

Analysts preview their changes in the editor and push them; everything after that runs in CI/CD. haute init generates the workflows for GitHub Actions, GitLab CI or Azure DevOps, and those workflows run Haute's command-line steps:

  1. Validate. Every change is checked with haute lint, and your test quotes are scored through the pipeline with haute deploy --dry-run, optionally against expected outputs within a tolerance.
  2. Deploy to staging. haute deploy packages the live scoring path, leaving out training and analysis branches, as an API that takes quotes and returns prices. A real deploy refuses to run outside CI.
  3. Check staging. For Databricks, haute smoke sends the test quotes to the staging endpoint, and haute impact writes a report comparing staging with production on a sample.
  4. Release. Production is a separate step that someone approves.
Target Current support
Databricks Registers the pipeline and creates or updates a Model Serving endpoint.
Docker Builds a serving image (POST /quote, GET /health) and optionally pushes it to a registry for your team to run.
Azure Container Apps / AWS ECS / GCP Cloud Run Builds and pushes the image. Pointing the running service at it is a manual step for now, so the workflow stops after the push.

Generic MLflow (pyfunc) models can be scored in the editor but not yet deployed. See the deployment documentation for targets and release workflows.

Status

Haute is currently in alpha. It is licensed under the GNU Affero General Public License v3.0.

Development checks

For local performance, benchmark, bundle, and memory smoke commands, see Local Performance Checks.

Metadata

Release files for haute 0.5.0

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

Source distribution (sdist)

Source distribution for haute 0.5.0
File Size Uploaded
haute-0.5.0.tar.gz 4.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for haute 0.5.0
File Interpreter ABI Platform
haute-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 MB

Release files / haute-0.5.0.tar.gz

Download URL haute-0.5.0.tar.gz
Size 4.9 MB
Tags Source
SHA-256 checksum
How to use checksums
a0ebf958d40fdd047cd53f85cbae8f7db2704a7da56d8ae47a0ff407763fe7c2
BLAKE2b-256 checksum
How to use checksums
2385defe303e6c5f006288f8b4316004ee43215816b873740d9c965845df09fd
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 Sep 28, 2026.

Transparency log

Release files / haute-0.5.0-py3-none-any.whl

Download URL haute-0.5.0-py3-none-any.whl
Size 3.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0307a3ca8e6585d899b7ba4db6bf5bb4a93e044758ac582ac1c73f30abe956af
BLAKE2b-256 checksum
How to use checksums
c41e1f8f86cbfd36cca0aee3fa0e95cd974c7f5a12c5ca5789cc4b78105e7dd8
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 Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

This release

0.5.0 This release

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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