Skip to main content

Perpetual

Perpetual Logo

Python Versions PyPI Version Conda Version Crates.io Version R-Universe status Static Badge PyPI - Downloads pre-commit Ruff Python Coverage Rust Coverage R Coverage License

PerpetualBooster is a gradient boosting machine (GBM) that doesn't need hyperparameter optimization unlike other GBMs. Similar to AutoML libraries, it has a budget parameter. Increasing the budget parameter increases the predictive power of the algorithm and gives better results on unseen data. Start with a small budget (e.g. 0.5) and increase it (e.g. 1.0) once you are confident with your features. If you don't see any improvement with further increasing the budget, it means that you are already extracting the most predictive power out of your data.

Features

  • Hyperparameter-Free Learning: Achieves optimal accuracy in a single run via a simple budget parameter, eliminating the need for time-consuming hyperparameter optimization.
  • High-Performance Rust Core: Blazing-fast training and inference with a native Rust core, zero-copy support for Polars/Arrow data, and robust Python & R bindings.
  • Comprehensive Objectives: Fully supports Classification (Binary & Multi-class), Regression, and Ranking tasks.
  • Advanced Tree Features: Natively handles categorical variables, learnable missing value splits, monotonic constraints, and feature interaction constraints.
  • Built-in Causal ML: Out-of-the-box support for causal machine learning to estimate treatment effects.
  • Robust Drift Monitoring: Built-in capabilities to monitor both data drift and concept drift without requiring ground truth labels or model retraining.
  • Continual Learning: Built-in continual learning capabilities that significantly reduce computational time from O(n²) to O(n).
  • Native Calibration: Built-in calibration features to predict fully calibrated distributions (marginal coverage) and conditional coverage without retraining.
  • Explainability: Easily interpret model decisions using built-in feature importance, partial dependence plots, and Shapley (SHAP) values.
  • Production Ready & Interoperable: Ready for production applications; seamlessly export models to industry-standard XGBoost or ONNX formats for straightforward deployment.

Supported Languages

Perpetual is built in Rust and provides high-performance bindings for Python and R.

Language Installation Documentation Source Package
Python pip install perpetual

conda install -c conda-forge perpetual
Python API package-python PyPI

Conda Forge
Rust cargo add perpetual docs.rs src crates.io
R install.packages("perpetual") pkgdown Site package-r R-universe

Optional Dependencies

  • pandas: Enables support for training directly on Pandas DataFrames.
  • polars: Enables zero-copy training support for Polars DataFrames.
  • scikit-learn: Provides a scikit-learn compatible wrapper interface.
  • xgboost: Enables saving and loading models in XGBoost format for interoperability.
  • onnxruntime: Enables exporting and loading models in ONNX standard format.

Usage

You can use the algorithm like in the example below. Check examples folders for both Rust and Python.

from perpetual import PerpetualBooster

model = PerpetualBooster(objective="SquaredLoss", budget=0.5)
model.fit(X, y)

Benchmark

PerpetualBooster vs. Optuna + LightGBM

Hyperparameter optimization usually takes 100 iterations with plain GBM algorithms. PerpetualBooster achieves the same accuracy in a single run. Thus, it achieves up to 100x speed-up at the same accuracy with different budget levels and with different datasets.

The following table summarizes the results for the California Housing dataset (regression):

Perpetual budget LightGBM n_estimators Perpetual mse LightGBM mse Speed-up wall time Speed-up cpu time
0.76 50 0.201 0.201 72x 326x
0.85 100 0.196 0.196 113x 613x
1.15 200 0.190 0.190 405x 1985x

The following table summarizes the results for the Pumpkin Seeds dataset (classification):

Perpetual budget LightGBM n_estimators Perpetual auc LightGBM auc Speed-up wall time Speed-up cpu time
1.0 100 0.944 0.945 91x 184x

The results can be reproduced using the scripts in the examples folder.

PerpetualBooster vs. AutoGluon

PerpetualBooster is a GBM but behaves like AutoML so it is benchmarked also against AutoGluon (v1.2, best quality preset), the current leader in AutoML benchmark. Top 10 datasets with the most number of rows are selected from OpenML datasets for both regression and classification tasks.

The results are summarized in the following table for regression tasks:

OpenML Task Perpetual Training Duration Perpetual Inference Duration Perpetual RMSE AutoGluon Training Duration AutoGluon Inference Duration AutoGluon RMSE
Airlines_DepDelay_10M 518 11.3 29.0 520 30.9 28.8
bates_regr_100 3421 15.1 1.084 OOM OOM OOM
BNG(libras_move) 1956 4.2 2.51 1922 97.6 2.53
BNG(satellite_image) 334 1.6 0.731 337 10.0 0.721
COMET_MC 44 1.0 0.0615 47 5.0 0.0662
friedman1 275 4.2 1.047 278 5.1 1.487
poker 38 0.6 0.256 41 1.2 0.722
subset_higgs 868 10.6 0.420 870 24.5 0.421
BNG(autoHorse) 107 1.1 19.0 107 3.2 20.5
BNG(pbc) 48 0.6 836.5 51 0.2 957.1
average 465 3.9 - 464 19.7 -

PerpetualBooster outperformed AutoGluon on 8 out of 10 regression tasks, training equally fast and inferring 5.1x faster.

The results are summarized in the following table for classification tasks:

OpenML Task Perpetual Training Duration Perpetual Inference Duration Perpetual AUC AutoGluon Training Duration AutoGluon Inference Duration AutoGluon AUC
BNG(spambase) 70.1 2.1 0.671 73.1 3.7 0.669
BNG(trains) 89.5 1.7 0.996 106.4 2.4 0.994
breast 13699.3 97.7 0.991 13330.7 79.7 0.949
Click_prediction_small 89.1 1.0 0.749 101.0 2.8 0.703
colon 12435.2 126.7 0.997 12356.2 152.3 0.997
Higgs 3485.3 40.9 0.843 3501.4 67.9 0.816
SEA(50000) 21.9 0.2 0.936 25.6 0.5 0.935
sf-police-incidents 85.8 1.5 0.687 99.4 2.8 0.659
bates_classif_100 11152.8 50.0 0.864 OOM OOM OOM
prostate 13699.9 79.8 0.987 OOM OOM OOM
average 3747.0 34.0 - 3699.2 39.0 -

PerpetualBooster outperformed AutoGluon on 10 out of 10 classification tasks, training equally fast and inferring 1.1x faster.

PerpetualBooster demonstrates greater robustness compared to AutoGluon, successfully training on all 20 tasks, whereas AutoGluon encountered out-of-memory errors on 3 of those tasks.

The results can be reproduced using the automlbenchmark fork.

Contribution

Contributions are welcome. Check CONTRIBUTING.md for the guideline.

Paper

PerpetualBooster prevents overfitting with a generalization algorithm. The paper is work-in-progress to explain how the algorithm works. Check our blog post for a high level introduction to the algorithm.

Perpetual ML Suite

The Perpetual ML Suite is a comprehensive, batteries-included ML platform designed to deliver maximum predictive power with minimal effort. It allows you to track experiments, monitor metrics, and manage model drift through an intuitive interface.

For a fully managed, serverless ML experience, visit app.perpetual-ml.com.

  • Serverless Marimo Notebooks: Run interactive, reactive notebooks without managing any infrastructure.
  • Serverless ML Endpoints: One-click deployment of models as production-ready endpoints for real-time inference.

Perpetual is also designed to live where your data lives. It is available as a native application on the Snowflake Marketplace, with support for Databricks and other major data warehouses coming soon.

Metadata

Release files for perpetual 2.2.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 perpetual 2.2.0
File Size Uploaded
perpetual-2.2.0.tar.gz 721.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for perpetual 2.2.0
File
perpetual-2.2.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
perpetual-2.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
perpetual-2.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
perpetual-2.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
perpetual-2.2.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
perpetual-2.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
perpetual-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
perpetual-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
perpetual-2.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
perpetual-2.2.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
perpetual-2.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
perpetual-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
perpetual-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
perpetual-2.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
perpetual-2.2.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
perpetual-2.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
perpetual-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
perpetual-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
perpetual-2.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
perpetual-2.2.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
perpetual-2.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
perpetual-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
perpetual-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details

Total release size: 23.2 MB

Release files / perpetual-2.2.0.tar.gz

Download URL perpetual-2.2.0.tar.gz
Size 721.7 kB
Tags Source
SHA-256 checksum
How to use checksums
db61510d740202a2021779c9a8adc864b06b9decbca7cf95a6aa2db49f488ab7
BLAKE2b-256 checksum
How to use checksums
3193331571231cbc03a328119765ad12bd5ae96084365a0d0d45eb12a1cec736
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp314-cp314-win_amd64.whl

Download URL perpetual-2.2.0-cp314-cp314-win_amd64.whl
Size 939.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e492473c9bf4cadd88717dd7cb1841f9c545ee8747469840c97f50bb522f950f
BLAKE2b-256 checksum
How to use checksums
88f1c5f1b2e652a08f96d67d3327e5a0eb28fa8f48fff0ebb2df1f38340b529e
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL perpetual-2.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c0605e3c34adb1c7e4014663ca8967ec190db76b4f987c3e651c585924f91c75
BLAKE2b-256 checksum
How to use checksums
aeed51eeab77ca813e1af348da313370bbd7109623e8a3f7cbee123a3fc14c38
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL perpetual-2.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 955.7 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
757e74e2decba4085581baade0dbc13e1a26e0e96fd577a720f1cfa8d6fc4d75
BLAKE2b-256 checksum
How to use checksums
d9884198be14796001769bcdc8c639ed03b2963c3cdd35a43f812bff1873e4e2
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL perpetual-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 901.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3dd2a9162de204a65a5624eb461edc691d3dec5d57a63b59d215ebf8f6d2e782
BLAKE2b-256 checksum
How to use checksums
91860306918b96a1b43340d9007279ee0ea4e60d092dbf9686f1198bba051d56
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL perpetual-2.2.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
39202dece6efb8db9ea70f9b43338b131b8e275c5038a8c7d71a1832ab5c9d9d
BLAKE2b-256 checksum
How to use checksums
a60466c441b33569b14c129178e7861727556a43df551f787b284483620b4ca0
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp313-cp313-win_amd64.whl

Download URL perpetual-2.2.0-cp313-cp313-win_amd64.whl
Size 940.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
6a49a3cddec8ee1a5b0a07302ccb4029abc7f93fc63f3a68c7abe2712a83b88f
BLAKE2b-256 checksum
How to use checksums
be6f3cf8ae219502a7927711ed61ff592fb0a46c0266f3a85b1194cea8f3c761
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL perpetual-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3ac9b40cf72b9f30e3aafc4aa94dab5737b32695b861baa3a914d81d0fc11216
BLAKE2b-256 checksum
How to use checksums
0bdb667c1b892351b09d061c7a3811418520cd47a1c75837a1dc170e39b55c5e
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL perpetual-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 955.3 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
21af7a73c7d96ba76c2613baec77760ead5615452656daa9b1de02ff5dadaef3
BLAKE2b-256 checksum
How to use checksums
9abfc8f226d7e682ee13a640b91a2ddd97ab6f3edc7e60b690a5a5fd36e6f4fc
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL perpetual-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 901.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b904f21558216ab2372c7a2a6530eb80391e2e6455eaba2584133f0944c81ea0
BLAKE2b-256 checksum
How to use checksums
159a9db76ee6352044e5308f91d37ce0b06b24a942aeffb4dab1feeea3334c1f
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL perpetual-2.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c3a14943797d4106d60bcc41244e22659b05c070772b81a9772c146bac300049
BLAKE2b-256 checksum
How to use checksums
2d23d8d5790019137afcf236628f146430cc45d76322b4acdfd24afdabc426e0
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp312-cp312-win_amd64.whl

Download URL perpetual-2.2.0-cp312-cp312-win_amd64.whl
Size 939.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
3cff296418b2f9a9b11e7c0371fc47421ef47557dfbe91a4c64b7631c3c99640
BLAKE2b-256 checksum
How to use checksums
cac5da62b3efaa077696bea551858a0b5cd1a56dd761b82ff8667fb80158f35a
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL perpetual-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
582c7bd30bb3e0161cde303f050a0c3ff63e01282567bdb259a44186c02feb5a
BLAKE2b-256 checksum
How to use checksums
bed7f8b4d13034d28b67b6c43357e2fb02c31ae8129a8955c41491613b556850
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL perpetual-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 954.9 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
63779e0c846c5382af6c0a1212d73abb9dcbbb0d6cc4483b55f3f807dd7a492c
BLAKE2b-256 checksum
How to use checksums
4c3ac8b38fe5cfcedcdf875bee285bd21e11d85671e025784945f8d218387557
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL perpetual-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 901.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92587544117934ac093ca9e0a81a8ceb6138e1d5302c1a8849d991980f517dc7
BLAKE2b-256 checksum
How to use checksums
60e5da6194699149f10ef5bff7b00ccc0e1e3e1c64ca4c9976bf1192e9493803
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL perpetual-2.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
540cc1d916c488c61222c81fe00605c85894e9f589cd642fc0de84afe4598c0c
BLAKE2b-256 checksum
How to use checksums
004f1ff06f1c4304daed3b89076c1282c7164d110d946f2ee8daace2b6feede0
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp311-cp311-win_amd64.whl

Download URL perpetual-2.2.0-cp311-cp311-win_amd64.whl
Size 950.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7100cf94ee8f91536ec3b8c692b8c78a8ea06b17211f235927d3a50c89503150
BLAKE2b-256 checksum
How to use checksums
de9dacdf2d6e634b27c63ade20f4075e9acecba11908c64080168e961f895959
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL perpetual-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ad170fbe2a866d56672cb9c944b5b9d4bf0a401a11de9840028d9425a189c718
BLAKE2b-256 checksum
How to use checksums
7161040adf10fb7bd3c66b3a5be80381f7091a356fbb077335625b2686d8c25e
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL perpetual-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 964.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0fa29ce6e8f60cdbc96ae111f870d4cf2a5d52aac082ebbdb64c410a0cb361ec
BLAKE2b-256 checksum
How to use checksums
94bc50ae3df88ea94b1ee9e727f0a9f1c71768ba2df14cf302bff06d67f7e0ac
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL perpetual-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 912.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
16140fd14ded0dcbae9df2f95b8d7ab27bab911e226004190d81296ce4d23343
BLAKE2b-256 checksum
How to use checksums
576204ca12893ee442bc89880c627cc2bc34e083b574fe72c9ba67d07be62426
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL perpetual-2.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
31e1285f1b3fc7aabc7602995000f657d6e1418384b84b1efb2fc3dd40166a4a
BLAKE2b-256 checksum
How to use checksums
c0ea2a9541195afb1cdaa3533c3adbcfc3aad8224e9592a2dc693a5857b59678
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp310-cp310-win_amd64.whl

Download URL perpetual-2.2.0-cp310-cp310-win_amd64.whl
Size 950.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
73704f82d36f76708d172f2af13ad06b20f25cd8bc7f970353aadb33da0c5da6
BLAKE2b-256 checksum
How to use checksums
1ae32ffc1b2aff7878dea152385b8d57c17c91e1d05da071db1cba669e03bafc
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL perpetual-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
749bee3cf072d14e8e6ed65a6b54cbe810b5b7122e57bad2c208c8acac460839
BLAKE2b-256 checksum
How to use checksums
9006d001666beed80b6c93c5ebf8c27469699734ac11e50a3c4f5e35a7d884a7
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 4, 2026.

Transparency log

Release files / perpetual-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL perpetual-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 965.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
33315058a95cb8c0fac9e1e26184fe4a64ea4cee811c15df86c52c192dfe1c4a
BLAKE2b-256 checksum
How to use checksums
19c3d4df25b618a592f44dade412e26379ffaac66fc69091eda2b3b9e581e3d1
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 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.2.0 This release

24 release files

1.9.2

24 release files

1.9.1

24 release files

1.9.0

24 release files

1.8.0

24 release files

1.7.0

24 release files

1.6.0

24 release files

1.5.0

24 release files

1.0.9

24 release files

1.0.8

24 release files

1.0.7

24 release files

0.9.5

22 release files

0.9.4

22 release files

0.9.3

22 release files

0.9.2

22 release files

0.9.1

22 release files

0.8.0

22 release files

0.7.8

13 release files

0.7.7

13 release files

0.7.6

13 release files

0.7.5

13 release files

0.7.4

13 release files

0.7.3

13 release files

0.7.2

13 release files

0.7.1

13 release files

0.7.0

13 release files

0.6.1

12 release files

0.6.0

12 release files

0.5.2

12 release files

0.5.1

14 release files

0.5.0

14 release files

0.4.7

14 release files

0.4.4

12 release files

0.4.2

12 release files

0.4.1

12 release files

0.4.0

12 release files

0.2.0

12 release files

0.1.0

12 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