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.

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.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 arborenum 0.2.1
File Size Uploaded Provenance
arborenum-0.2.1.tar.gz 118.1 kB With provenance Details

Built distributions (wheels)

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

Total release size: 32.3 MB

Release files / arborenum-0.2.1.tar.gz

Download URL arborenum-0.2.1.tar.gz
Size 118.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b9fd80031ff5591e88e1986d0231eb3c53a39476efa516aeaffccc9b648cd648
BLAKE2b-256 checksum
How to use checksums
4124bae953ca70508c06f08fce398548d0959d61d7187d5136c0e3428f152845
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp313-cp313-win_amd64.whl
Size 587.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e16ffa703ffdf25187c6aba614ad316ef280d9efc82befc84bf9289b67a4607d
BLAKE2b-256 checksum
How to use checksums
716d6ff9fd59242a9f12dd2edb100c3c34d5ec3de8f3c8b20d0a4bc455a34e3a
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.0 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
74f289873d11f8d598bf456d6f7b41c5926760616c33e2879cead07b4fbda9b2
BLAKE2b-256 checksum
How to use checksums
97fdfd350227b67c23d14aa67dd5995980541b7b6ff389e0e7c36a15bc381896
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Size 439.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c341e7647e9bbe20e0ad93d11fd58ff0bf90435e6e256c0a6381cf2574b0dcfc
BLAKE2b-256 checksum
How to use checksums
dedda3383d6ac167c4e76ec5fb941c4fd2b5706a0a3bac93686a291d7f328a82
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 466.5 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
268f6200215084ee0519caf792f7b880dace37c939e5eefd80c9ab07aee4a962
BLAKE2b-256 checksum
How to use checksums
81b3d1ed6f1b343f6904fe1fc969b45fb3cb26cd0ee46186105ca8bac191e6df
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp312-cp312-win_amd64.whl
Size 587.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a1754d52a97b65922d1fef7c75f7cb39781f6cd2940e73d2de8eae3236664914
BLAKE2b-256 checksum
How to use checksums
219115fec6057413b4c43453fe536e439dc9d7a09c0812d9e82d7ad0cd57ba79
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.0 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1faaa47894bba054b73d9977d883d89307e90a85a927e15c5f7067f2b33d6aa4
BLAKE2b-256 checksum
How to use checksums
9be472f79f8fa1c4883bdcbc6c0b58a1e7e4295bc0e20cdae9d28fc55250a39c
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Size 439.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aab5b0b6682ac067019d7a90cd7c162733e2b6d2d3c413137ca4f9e26bb3a43a
BLAKE2b-256 checksum
How to use checksums
a1a8abfc68594b4de02a25ccad2f0fce17df92b5fab628230f8b90498d05a517
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 466.4 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
7bbcfcc473b609b925e094eff6ffb9382a0b94661715130eca9233ef2a9b5932
BLAKE2b-256 checksum
How to use checksums
39f7ddb91d6f77c714711d7b8d76ae1e4962f3a1074d3be5277925fe05d7d6dc
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp311-cp311-win_amd64.whl
Size 585.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b6843ba7a06f719c49e8ea3ad5bbb5401a0864c806d44f0e1550bca94a8bae13
BLAKE2b-256 checksum
How to use checksums
6b95a1d21e8faaf4ad30ffcb515a5c61de34daf5ce3d636d6d216c3119f66a35
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
36dd99041e895f48daf7efd57706fa18049582af8a3550d08efdc85e151abdbc
BLAKE2b-256 checksum
How to use checksums
51f21029a2b5dac858d59a33db3d586e026488bf5c5f7e11e0e40405f55edddc
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Size 437.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7e49285fdca17490a316b4aa752ff35c068860bb5b9bb0f3a3339f809b4f1465
BLAKE2b-256 checksum
How to use checksums
cc9bf09627adf33dbbf02ae164546963d61b95780163fe6fd493e94cab9f15af
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 463.8 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a1adbbe367ecb2993ce020fac1a9aa9b63c164326611031000412c72b9ce016b
BLAKE2b-256 checksum
How to use checksums
0d9f37329b0b5a292b84867f750d6250eb49d65aee92a06ff698d2b1215970b8
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp310-cp310-win_amd64.whl
Size 585.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b1fe5abd69fdc6117dc5d99ba3d5082cc9e4d4723fcf2519a91ea01c48d57543
BLAKE2b-256 checksum
How to use checksums
ee8b8a8a0707830f91edfdd4a9803aebe39539fd332698ac18ce311e2b4282b2
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5716ccd771f48c3b91e93bf42484b0ded28e97b0966e4c715e03718b953afb17
BLAKE2b-256 checksum
How to use checksums
194e217af8f4b349114d6d62694844262dae69e2494de087327fd7797ea8f440
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Size 436.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
95d0046d46e8b799601946e5999c1f580adce8cff078a8221383e7d0e16d8355
BLAKE2b-256 checksum
How to use checksums
9c29c10eb8aa611e69211173287470ebe3243177f18c581083d72a7eb21c19d4
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl
Size 462.3 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e69b97aa256a83d013879ecc62458657446a1d7f99da2ae03487ee1cc3ee7d5a
BLAKE2b-256 checksum
How to use checksums
d793cb125af5d86237ffac89ce73594a56743ffb33f91226d23b494f50350863
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp39-cp39-win_amd64.whl
Size 591.0 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5e49cc3a6f16e7993d6f3558a9864ec3a9ddb29f36abe024e4045de967ce4fcf
BLAKE2b-256 checksum
How to use checksums
7ec077d7ad372f05c2fe577676a2759ed8e9b736ddaa045bec9e7c7f4b168a34
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0a7ee31f847dde4e7f95668d7ff6e2838e256d9053f2ba88abbfbf559e30b8bf
BLAKE2b-256 checksum
How to use checksums
2e6b18a821348d96af9ac803d4254e213fe53d2c70e8f594ca6e095a7e9d0f6a
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
Size 436.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d5aca00cc53d9a248f8cb51bfc2c0fc362d1be4e915a0d3b4dda676428233b65
BLAKE2b-256 checksum
How to use checksums
d683213ba1eacbeb08a9e3a50b9b31b89fec85976dafa5bfe1ef1b0e0ee0bf19
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 Aug 4, 2026.

Transparency log

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

Download URL arborenum-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl
Size 462.4 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f5a4e771255cb8a389f46750194519e07dd7d396c20a01f821c76b2e546c7976
BLAKE2b-256 checksum
How to use checksums
294a7cb90c3a9448c6692ca564436950c44399e67d6671ecb4216255dfe4dcd6
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 Aug 4, 2026.

Transparency log

Security for arborenum 0.2.1

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.1.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 Aug 4, 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