Skip to main content

ArborEnum

Exact, approximate, and anytime enumeration of decision-tree Rashomon sets over continuous features.

ArborEnum finds collections of accurate, interpretable classification trees rather than returning only a single model. Unlike prior work, it directly supports continuous features as input. Its algorithms span approximate to optimal Rashomon sets, allow either coarse or fully exhaustive treatment of continuous features, and support runtime and memory limits through an anytime algorithm. ArborEnum also integrates the Rashomon Importance Distribution (RID) to provide stable variable-importance estimates across the set of all good models.

Features

  • Enumerate decision trees within a small multiplier beyond a reference objective (for instance, the optimal tree or a tree from a non-optimal proxy algorithm).
  • Work directly with numerical tabular data (continuous features).
  • Use exact, approximate, or anytime enumeration.
  • Inspect objectives, predictions, leaves, and individual tree structures.
  • Compute and visualize Rashomon Importance Distributions.

Installation

pip install arborenum

Full Usage

See the example notebook for a complete walkthrough.

For more detail about the algorithms themselves, see our paper.

Basic usage

import time

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from arborenum import ArborEnum

Load a numerical classification dataset (for instance, a bike rental dataset). Keeping X as a pandas DataFrame allows ArborEnum to use the feature names in plots.

df = pd.read_csv("examples/bike_processed.csv").sample(
    frac=1.0,
    replace=True,
    random_state=0,
).reset_index(drop=True)

y = df.pop("label").to_numpy(dtype=np.int32)
X = df

Standard enumeration

We recommend keeping all of these parameters for a high-quality approximation. Only change lambda_reg, depth_budget, and rashomon_mult depending on the Rashomon set you want.

For an exact Rashomon set, use proxy_mode="continuous" and lookahead_k=depth_budget - 1.

standard_model = ArborEnum()

start = time.perf_counter()

standard_model.fit(
    X,
    y,

    # Which thresholds the proxy algorithms may use:
    # "continuous", "hybrid", or "binarized".
    # We recommend "hybrid" for strong approximation quality and speed.
    proxy_mode="hybrid",

    # Accuracy-interpretability trade-off.
    lambda_reg=0.005,

    # Maximum allowed tree depth.
    depth_budget=5,

    # Rashomon multiplier.
    rashomon_mult=0.01,

    # Proxy lookahead.
    lookahead_k=1,

    # None considers every available cutpoint.
    max_number_thresholds_per_feature=None,

    # "hash" is memory-efficient; "exact" uses exact bit-vector caching.
    key_mode="hash",
)

elapsed = time.perf_counter() - start

print("elapsed seconds:", f"{elapsed:.2f}")
print("minimum objective:", standard_model.get_min_objective())
print("number of trees:", standard_model.count_trees())

Proxy modes

  • "continuous" allows all proxy components to use continuous thresholds.
  • "hybrid" dynamically changes between a subset and all thresholds
  • "binarized" restricts all proxy components to automatically guessed thresholds.

"hybrid" is the recommended default for a strong speed–quality trade-off.

Anytime enumeration

Our anytime algorithm progressively solves for the Rashomon set, adding more and more cutpoints of continuous features over time. This means that it can stop at anytime during the execution and maintain guarantees over a binarization. The anytime algorithm uses the same main optimization settings and adds early stopping, resource limits, proxy refinement, and optional Rashomon-multiplier expansion. The last point means that after we have added all cutpoints, we are able to repeatedly increase the Rashomon multiplier to expand the Rashomon set.

anytime_model = ArborEnum()

start = time.perf_counter()

anytime_model.fit(
    X,
    y,

    early_stopping=True,

    proxy_mode="hybrid",
    lambda_reg=0.005,
    depth_budget=5,
    rashomon_mult=0.01,
    lookahead_k=1,
    max_number_thresholds_per_feature=None,
    key_mode="hash",

    # "on" continually refines the proxy.
    # "auto" decides whether further refinement is worthwhile.
    proxy_refinement="auto",

    # After adding all thresholds, optionally extend the budget to match a bigger Rashomon multiplier.
    second_rashomon_mult=0.03,
    multiplier_step_size=0.0025,

    runtime_limit_seconds=600,
    memory_limit_mb=10000,
)

elapsed = time.perf_counter() - start

print("elapsed seconds:", f"{elapsed:.2f}")
print("minimum objective:", anytime_model.get_min_objective())
print("number of trees found in total:", anytime_model.count_trees())
print(
    "trees within a 0.01 multiplier:",
    anytime_model.count_trees_within_mult(0.01),
)
print(
    "trees within a 0.03 multiplier:",
    anytime_model.count_trees_within_mult(0.03),
)

Set second_rashomon_mult=None when no multiplier expansion is desired.

Inspecting and plotting trees

Tree indices range from 0 to model.count_trees() - 1.

for model, model_name in [
    (standard_model, "Standard ArborEnum"),
    (anytime_model, "Anytime ArborEnum"),
]:
    number_of_trees = int(model.count_trees())

    if number_of_trees == 0:
        print(f"{model_name}: no trees were returned.")
        continue

    tree_indices = [0]

    if number_of_trees > 1:
        tree_indices.append(number_of_trees - 1)

    for tree_index in tree_indices:
        tree_name = "first tree" if tree_index == 0 else "last tree"

        objective, normalized_objective = model.get_tree_objective(
            tree_index
        )

        predictions = np.asarray(
            model.get_predictions(
                tree_index,
                X,
            ),
            dtype=np.int32,
        )

        accuracy = np.mean(predictions == y)

        print()
        print(f"{model_name}: {tree_name}")
        print("tree index:", tree_index)
        print("objective:", objective)
        print("normalized objective:", normalized_objective)
        print(
            "number of leaves:",
            model.get_tree_num_leaves(tree_index),
        )
        print("accuracy:", f"{accuracy:.6f}")
        print("first 10 predictions:", predictions[:10].tolist())

        model.plot_tree(
            tree_index,
            title=f"{model_name}: {tree_name}",
            show=True,
        )

plt.show()

Rashomon Importance Distributions

A Rashomon Importance Distribution describes how feature importance varies across accurate trees rather than reporting importance for only one model. It is also stable because we train Rashomon sets on more than one bootstrap of the dataset.

rid_model = ArborEnum()

start = time.perf_counter()

rid_result = rid_model.compute_rid(
    X,
    y,

    # Use False for standard RID construction.
    early_stopping=True,

    proxy_mode="hybrid",
    lambda_reg=0.005,
    depth_budget=5,
    rashomon_mult=0.01,
    lookahead_k=1,
    max_number_thresholds_per_feature=None,

    proxy_refinement="auto",

    second_rashomon_mult=0.03,
    multiplier_step_size=0.0025,

    runtime_limit_seconds=600,
    memory_limit_mb=10000,

    # Number of bootstrap repetitions.
    n_boot=3,

    # Number of feature permutations evaluated per feature.
    n_scramble_evals=5,

    # Required for pairwise RID plots.
    return_joint_samples=True,
)

elapsed = time.perf_counter() - start

print("elapsed seconds:", f"{elapsed:.2f}")

RID plots

rid_model.rid_plot_mean(
    show=True,
)

rid_model.rid_plot_violin(
    show=True,
)

rid_model.rid_plot_cdfs(
    show=True,
)

Pairwise RID plots

Pass feature names directly as strings. Each point corresponds to a tree in one bootstrapped Rashomon set. The coordinates are the feature importances for those two features.

feature_pairs = [
    ("mnth", "hr"),
    ("holiday", "weekday"),
    ("temp", "hum"),
]

for feature_a, feature_b in feature_pairs:
    print(
        "plotting:",
        feature_a,
        "vs.",
        feature_b,
    )

    rid_model.rid_plot_pair(
        feature_a,
        feature_b,
        show=True,
    )

plt.show()

Important parameters

Parameter Meaning
lambda_reg Penalty on the number of leaves. Larger values favor smaller trees.
depth_budget Maximum tree depth.
rashomon_mult Relative objective tolerance defining the Rashomon set.
proxy_mode Continuous, hybrid, or binarized proxy threshold configuration.
lookahead_k Proxy lookahead depth. Larger values improve proxy quality but cost more.
early_stopping Enables the anytime algorithm.
proxy_refinement "off", "on", or "auto" for making the proxy converge to optimal.
second_rashomon_mult Optional larger multiplier used to expand the Rashomon set to a bigger multiplier
multiplier_step_size Step size for multiplier expansion.
runtime_limit_seconds Runtime limit for anytime refinement and expansion.
memory_limit_mb Memory limit for anytime refinement and expansion.
max_number_thresholds_per_feature Optional cap on continuous cutpoints per feature.

Exact versus approximate enumeration

For exact continuous-feature enumeration, use:

model.fit(
    X,
    y,
    proxy_mode="continuous",
    lookahead_k=depth_budget - 1,
    depth_budget=depth_budget,
    max_number_thresholds_per_feature=None,
    key_mode="exact",
)

Using "hybrid" or "binarized", a smaller lookahead_k, or a threshold cap gives an approximate variant. Hash-based keys are designed to be memory-efficient with virtually no risk of collisions; use key_mode="exact" when exact subproblem identity is required.

More Examples

See the example notebook for a complete walkthrough.

Metadata

Release files for arborenum 0.2.5

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

Source distribution (sdist)

Source distribution for arborenum 0.2.5
File Size Uploaded Provenance
arborenum-0.2.5.tar.gz 160.5 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for arborenum 0.2.5
File
arborenum-0.2.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
arborenum-0.2.5-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
arborenum-0.2.5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
arborenum-0.2.5-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
arborenum-0.2.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
arborenum-0.2.5-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
arborenum-0.2.5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
arborenum-0.2.5-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
arborenum-0.2.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
arborenum-0.2.5-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
arborenum-0.2.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
arborenum-0.2.5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
arborenum-0.2.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
arborenum-0.2.5-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
arborenum-0.2.5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
arborenum-0.2.5-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
arborenum-0.2.5-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
arborenum-0.2.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
arborenum-0.2.5-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
arborenum-0.2.5-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 44.0 MB

Release files / arborenum-0.2.5.tar.gz

Download URL arborenum-0.2.5.tar.gz
Size 160.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2d69d197ba1ee2e22e5be0ba8a932b832178750cbc7dbd6bd50c2a3182cfe8dc
BLAKE2b-256 checksum
How to use checksums
20bdbd18cceda20f8ff9d70d2878e7218695ea343c8e41935262c03874ccc197
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp313-cp313-win_amd64.whl

Download URL arborenum-0.2.5-cp313-cp313-win_amd64.whl
Size 722.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9ce70b863fc7c313778cdb864086b30ab939de8caeee742639c35dd550d92889
BLAKE2b-256 checksum
How to use checksums
ee467d7e88e3e92ccd0adce3f9e11ae5697d5851157a13ca5a599ab55173eb40
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL arborenum-0.2.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.9 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2e30a2be5c4aae5a634db80c62373ecc8ca27d6a7e01b1704186f115dbaa9ef3
BLAKE2b-256 checksum
How to use checksums
28497fd19e6f37a7f0be55d644395844ed24f9aae98b847b3a7d268d14ce25c8
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp313-cp313-macosx_11_0_arm64.whl

Download URL arborenum-0.2.5-cp313-cp313-macosx_11_0_arm64.whl
Size 596.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
145509b4fff7ffcc845361baeababa503d7b317ec7f0d9205e3294ad5e5a51f0
BLAKE2b-256 checksum
How to use checksums
f66e47823705468433c8b3c72dc7ff94863c062712596df160e455a37e3d32d7
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp313-cp313-macosx_10_13_x86_64.whl

Download URL arborenum-0.2.5-cp313-cp313-macosx_10_13_x86_64.whl
Size 631.7 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
36ce6927fd856c542e4a008b3c5dba417d18556f27578f11222f84a69bb16a39
BLAKE2b-256 checksum
How to use checksums
9aebb4ac6633300fae339804b4b1e04fe043f1ad17e7d2ce3a9a0c4595c77047
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp312-cp312-win_amd64.whl

Download URL arborenum-0.2.5-cp312-cp312-win_amd64.whl
Size 722.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1edfd85420d47b607c4eddd62ff5551d9fcdbeaf5de6ecae2942d8eb1df70fa3
BLAKE2b-256 checksum
How to use checksums
93e60cd42b5874a79e56876eb79af24e9d76017ec78bedea17f9c06ea45af4fc
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL arborenum-0.2.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.9 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
496de768a58c7d01f66f924112549b07d0097bd25cb3a83cd019d6f22a887014
BLAKE2b-256 checksum
How to use checksums
ffaa828ab59d322afab83786a347c97a8134567d2d7570f9695f0d6a44393eec
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp312-cp312-macosx_11_0_arm64.whl

Download URL arborenum-0.2.5-cp312-cp312-macosx_11_0_arm64.whl
Size 596.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a4301614189a6328257be5293cc103db7fc0ad35583f26eed0fce5596d2fe2fa
BLAKE2b-256 checksum
How to use checksums
ce2ac39b10510ceed0431e3a6c5065c6cef4ba0a725e55d50f5123ef56d4740c
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp312-cp312-macosx_10_13_x86_64.whl

Download URL arborenum-0.2.5-cp312-cp312-macosx_10_13_x86_64.whl
Size 631.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5fb870dfc4cba94acc6d29d98c3425f055812a80cec1dfb9564f91ac666452b0
BLAKE2b-256 checksum
How to use checksums
3d44a914203fd5af190d73e58bb82735d020898ad993fc48e3baed078a3b9f44
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp311-cp311-win_amd64.whl

Download URL arborenum-0.2.5-cp311-cp311-win_amd64.whl
Size 720.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
dc6f0e0999b463d5da742d3ac9ba3c52e0db0caba24fccbc10ed70c710d0fde0
BLAKE2b-256 checksum
How to use checksums
61ca204bdaa6a176ad601a2daebe9ee817e66a4c469ca79f387de0c9435f6b0a
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL arborenum-0.2.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fe1585094b9c13996c754bf4fe2de4b7e1fd362110cc28656ae388e64020c62a
BLAKE2b-256 checksum
How to use checksums
82fa32804076b10264f5a021e439840e35f46ed250467d1124da6cc0c6dd90e7
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL arborenum-0.2.5-cp311-cp311-macosx_11_0_arm64.whl
Size 594.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
58f915fde3ae47d4521d0b58138fa1eb9a1d6670585c1287aede838dff5bb21a
BLAKE2b-256 checksum
How to use checksums
deb23d84fbe352deb99a52d27e088f1a268c7fb59de4c6015e75c34845d7adf1
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp311-cp311-macosx_10_9_x86_64.whl

Download URL arborenum-0.2.5-cp311-cp311-macosx_10_9_x86_64.whl
Size 629.1 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9328847ca35d5487449af4c2263a083c01e24302cc24f81da871389fd769a709
BLAKE2b-256 checksum
How to use checksums
4117fb2bf563f5dc5082692cd135d8ef7aeddaa8bf6ac8b1d8ba136527f9a64c
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp310-cp310-win_amd64.whl

Download URL arborenum-0.2.5-cp310-cp310-win_amd64.whl
Size 719.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
fa3c40fabb6761ef15532cd43f93fc901e4247393675fd566b45c7add4ddf33f
BLAKE2b-256 checksum
How to use checksums
fd947ae7aee5d59dc4447c514c34f60e1925114a84e9c661e004faf3bdcc409c
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL arborenum-0.2.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7c47ffbc4a56e75038889730c0bd919d9550264f437dc97bd008c57823faa60a
BLAKE2b-256 checksum
How to use checksums
018cebf841401aab79b5c0cff6239622ec1e8e32b37b1da9975aa2153814d910
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp310-cp310-macosx_11_0_arm64.whl

Download URL arborenum-0.2.5-cp310-cp310-macosx_11_0_arm64.whl
Size 593.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d7eaa312ab20c054157c338c7af72df912ed1abd81c36f29a8ada093ab1f0e0
BLAKE2b-256 checksum
How to use checksums
3d8f5410d1ed7818a2abe171b3f3fb9cfa4abb5dc9c3d8578a3c8d93c48e3408
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp310-cp310-macosx_10_9_x86_64.whl

Download URL arborenum-0.2.5-cp310-cp310-macosx_10_9_x86_64.whl
Size 627.3 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f038216c8151ac52e23b021ea49965145750fdf93e337f597779f9b488a2958d
BLAKE2b-256 checksum
How to use checksums
068caa18ec9b93668ac42baacdd2053e41a534e4ab3f14444b9fb96b2bb44c58
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp39-cp39-win_amd64.whl

Download URL arborenum-0.2.5-cp39-cp39-win_amd64.whl
Size 727.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
7c0e63c2fc2a5e1d7da5c9882c211a919179de5363d67d6a79c845e3a6e09490
BLAKE2b-256 checksum
How to use checksums
60b3c7f22c2b96a756c38dcd422ac90aa026de8356665e6d2e570f52d611aa0f
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL arborenum-0.2.5-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
73ec0ca5e69c9946f9ca57410dbfad8833391bcb9bc3458ee8fb774d77d83fb4
BLAKE2b-256 checksum
How to use checksums
32fa3b73e34ae5aa7f785307ee3bbc2b167220dfcf5b7f641fe5f6fcc88a1343
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp39-cp39-macosx_11_0_arm64.whl

Download URL arborenum-0.2.5-cp39-cp39-macosx_11_0_arm64.whl
Size 593.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9dbedc01846be887bd03c9fd7e9c36a9c1e4c6ca98ec6f9501cbfba044323007
BLAKE2b-256 checksum
How to use checksums
328276101f0836a9ee04d366427e0bab7e17ded6d3836d9ea7ad48409e56dc46
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 11, 2026.

Transparency log

Release files / arborenum-0.2.5-cp39-cp39-macosx_10_9_x86_64.whl

Download URL arborenum-0.2.5-cp39-cp39-macosx_10_9_x86_64.whl
Size 627.4 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3b5f7e0e84ef0ad73b1e63f325cd1b3ac4cafe0dd746523aa1a83d5126b18a27
BLAKE2b-256 checksum
How to use checksums
c79fdbd5b21a4cc948b1fe9e92e6775a019651835863fc55a1237f67ca62507b
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 11, 2026.

Transparency log

Security for arborenum 0.2.5

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.

Full provenance

All 21 files in this release have been uploaded with provenance metadata.

Select from 21 files

Attestation for arborenum-0.2.5.tar.gz

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 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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