Skip to main content

Rashomon set tools via PRAXIS, including approximation, exact calculation, and variable importance utilities.

Project description

PRAXIS: Fast Rashomon Sets for Sparse Decision Trees

Installation

pip install tree-praxis

What PRAXIS does

This code creates Rashomon sets of decision trees. The Rashomon set is the set of all almost-optimal models.

PRAXIS is designed to enumerate the Rashomon set for sparse decision trees. In other words, instead of returning a single optimal decision tree, it returns a set of decision trees whose objective values are all within a small factor of the best tree found. The objective is:

misclassifications + lambda_reg * n_samples * number_of_leaves.

This is useful when there are many decision trees with nearly the same accuracy. Rather than pretending there is one uniquely best tree, PRAXIS lets you inspect, count, compare, and make predictions with all good trees.

See examples/example.ipynb for a complete walkthrough of using the code.

To learn more about the algorithmic ideas behind PRAXIS, please see our ICML 2026 paper. At a high level, PRAXIS uses a proxy algorithm to estimate the best achievable objective within each subproblem, and then refines these estimates as enumeration proceeds. When the proxy algorithm is exact, PRAXIS performs exact Rashomon set enumeration. When the proxy is approximate, PRAXIS can trade a small amount of empirical approximation quality for substantially faster runtime.

PRAXIS also includes tools for computing feature importance over the Rashomon set through the Rashomon Importance Distribution (RID) and to directly use the proxy algorithms to return one tree, if desired.

Data requirements

PRAXIS expects the input matrix X to already be binary.

X[i, j] in {0, 1}

If your data has continuous, ordinal, or categorical features, binarize it first. The package includes ThresholdGuessBinarizer for this purpose.

from praxis import ThresholdGuessBinarizer

binarizer = ThresholdGuessBinarizer()
X_binary = binarizer.fit_transform(X, y)

The label vector y must contain integer class labels numbered consecutively:

0, 1, ..., num_classes - 1

For binary classification, this means labels must be:

0, 1

Basic example

from praxis import PRAXIS

model = PRAXIS()

model.fit(
    X_binary,
    y,
    lambda_reg=0.01,
    depth_budget=5,
    rashomon_mult=0.03,
    lookahead_k=1,
)

print("Number of trees:", model.count_trees())
print("Minimum objective:", model.get_min_objective())

See examples/example.ipynb for a complete walkthrough on binarization, fitting PRAXIS, and accessing information about the Rashomon set. We provide a comprehensive list of options and included methods below.

PRAXIS.fit(...)

model.fit(
    X,
    y,
    lambda_reg=0.01,
    depth_budget=5,
    rashomon_mult=0.01,
    multiplicative_slack=0.0,
    key_mode="hash",
    lookahead_k=1,
    proxy_style=0,
    root_budget=None,
    use_budget_refinement=True,
    guarantee_rule_list_recovery=False,
    majority_leaf_only=False,
    cache_early_exits=False,
    heuristic_for_greedy=1,
    proxy_caching=True,
    num_proxy_features=0,
    proxy_only=False,
)

Parameters

  • X
    Binary feature matrix of shape (n_samples, n_features). All entries must be 0 or 1. If your dataset is not binary, use ThresholdGuessBinarizer first.

  • y
    Class-label vector of shape (n_samples,). Labels must be integers numbered 0, 1, ..., num_classes - 1.

  • lambda_reg=0.01
    Regularization strength for tree complexity. This controls the penalty on leaves in the objective. Larger values favor smaller trees.

  • depth_budget=5
    Maximum depth of the decision trees.

  • rashomon_mult=0.01
    Multiplicative slack for the Rashomon set. A tree is included if its objective is within this factor of the proxy algorithm. For example, rashomon_mult=0.03 means to search for trees within 3% of the proxy's objective. After the algorithm returns, one may want to only consider trees within 3% of the minimum objective tree, which can be done easily as the trees are returned in sorted order of best-to-worst objective.

  • multiplicative_slack=0.0
    An extra amount of slack applied to the objective bound. Most users can leave this at 0.0.

  • key_mode="hash"
    Cache-key representation used internally.

    Options:

    • "hash": use a 64-bit hash of the subproblem bitvector. Fast and memory efficient.
    • "exact" or "bitvector": use exact bitvector keys. More memory, no hash collisions.
    • "literal", "lits", "lits_exact", or "itemset": slower, but avoids hash collisions without needing more memory.

    Most users should use "hash".

  • lookahead_k=1
    Lookahead used by the proxy algorithm. Larger values usually make the proxy stronger but slower. We recommend lookahead_k = 1 for most users. If lookahead_k = 0, PRAXIS uses the a greedy tree algorithm as the proxy. If lookahead_k = 1, PRAXIS uses a modified version of the LicketySPLIT algorithm. lookahead_k = depth_budget-1, then the proxy is optimal and the Rashomon set returned will be exact. lookahead_k should always be set in 0,1,2,..depth_budget-1.

  • proxy_style=0
    Which proxy/oracle style to use.

    Nearly all users should use the default 0.

  • root_budget=None
    Optional manual objective bound. If None, PRAXIS computes a reference objective and sets the Rashomon bound automatically using rashomon_mult. If you pass an integer, PRAXIS uses that objective bound directly. The loss optimized is number of misclassifications + lambda_reg * n_samples * number_of_leaves.

  • use_budget_refinement=True
    Enables the iterative budget refinement procedure. This is usually helpful and should nearly always stay True.

  • guarantee_rule_list_recovery=False
    Enables a special rule-list recovery mode. Most users should leave this False.

  • majority_leaf_only=False
    If True, only keeps the majority-class leaf prediction when constructing trees. If False, PRAXIS may keep multiple valid leaf predictions when they fit within the objective budget.

  • cache_early_exits=False
    Caches cheap subproblems and early exits. This can speed up some runs at the expense of more memory consumption.

  • heuristic_for_greedy=1
    Split heuristic used by the greedy routine.

    Options:

    • 0, "entropy", "info_gain", "information_gain", "ig": entropy / information-gain style splitting.
    • 1, "entropy_depth1_exact", "depth1_exact", "default": entropy-style splitting with a depth-1 exact evaluation. This is the default.
    • 2, "best_split_for_leaves", "misclassification_minimizing": choose splits based on minimizing child leaf objectives / misclassification.
  • proxy_caching=True
    Enables caching for proxy subproblems. This should almost always be left on as it will speed up PRAXIS by orders of magnitude.

  • num_proxy_features=0
    Restricts the proxy algorithm to the first num_proxy_features features. If 0 or negative, all features are used. If the first num_proxy_features features are chosen well (such as via a feature selection procedure), this can speed up runtime. We recommend not changing this for the vast majority of users.

  • proxy_only=False
    Controls whether PRAXIS builds the full Rashomon set or only returns the proxy tree.

    Options:

    • False: build the Rashomon set.
    • True: run only the proxy/single-tree algorithm and skip Rashomon enumeration. This tree is stored at index 0 of the data structures.

Main methods

count_trees()

model.count_trees()

Returns the number of trees in the Rashomon set.

get_min_objective()

model.get_min_objective()

Returns the minimum objective value among the enumerated trees.

get_root_histogram()

model.get_root_histogram()

Returns a histogram of objective values at the root:

[(objective_value, number_of_trees), ...]

This is useful for seeing how many trees exist at each objective value.

get_tree_objective(tree_index)

obj, obj_norm = model.get_tree_objective(tree_index)

Returns the unnormalized and normalized objective value of a specific tree.

  • obj: integer objective value.
  • obj_norm: objective divided by the number of samples.

count_trees_within_mult(mult)

model.count_trees_within_mult(0.03)

Counts how many enumerated trees have objective at most:

round((1 + mult) * minimum_objective)

This is a post-hoc way to ask how many trees are within a different multiplicative slack of the best enumerated tree.

get_tree_paths(tree_index)

paths, predictions = model.get_tree_paths(tree_index)

Returns the selected tree as paths and leaf predictions.

The path representation uses signed, 1-indexed feature IDs:

  • +f means go left / feature f - 1 is true.
  • -f means go right / feature f - 1 is false.

The feature IDs are 1-indexed in this raw method, so subtract 1 to recover normal Python feature indices.

get_tree_paths_str(tree_index)

paths, predictions = model.get_tree_paths_str(tree_index)

Returns a more readable 0-indexed string representation of the paths.

Example output:

["[+0, -3]", "[-0, +2]"]

This is usually easier to inspect than get_tree_paths(...).

get_predictions(tree_index, X)

preds = model.get_predictions(tree_index, X_binary)

Returns predictions from one tree.

If the model was fit with proxy_only=True, only tree_index=0 is supported.

get_all_predictions(X, stack=False)

preds = model.get_all_predictions(X_binary)

Returns predictions from all trees in the Rashomon set.

If stack=False, returns a list of prediction arrays.

If stack=True, returns a 2D array:

(n_trees, n_samples)

plot_tree(tree_index, feature_names=None, figsize=(8, 6), ax=None, title=None, show=True)

fig, ax = model.plot_tree(0, feature_names=feature_names)

Plots one tree using matplotlib.

Parameters:

  • tree_index: which tree to plot.
  • feature_names: optional names for the binary features.
  • figsize: matplotlib figure size.
  • ax: optional existing matplotlib axis.
  • title: optional plot title.
  • show: whether to call plt.show().

Returns:

(fig, ax)

Rashomon disagreement methods

These methods summarize disagreement across the Rashomon set. They assume binary predictions in {0, 1}.

get_p_per_sample(X, tree_indices=None)

p = model.get_p_per_sample(X_binary)

Returns one value per sample:

proportion of selected trees predicting class 1

If tree_indices=None, all trees are used. Otherwise, only the specified tree indices are used.

get_variance_per_sample(X, tree_indices=None)

v = model.get_variance_per_sample(X_binary)

Returns the variance of hard predictions across trees for each sample.

For binary predictions, this is equivalent to:

p_i * (1 - p_i)

where p_i is the proportion of trees predicting class 1 for sample i.

get_avg_variance_across_samples(X, tree_indices=None)

avg_v = model.get_avg_variance_across_samples(X_binary)

Returns the average disagreement variance across samples.

plot_disagreement_cdf(...)

fig, ax = model.plot_disagreement_cdf(X_binary)

Plots the empirical CDF of per-sample prediction variances.

Parameters:

  • X: binary feature matrix.
  • tree_indices: optional subset of trees.
  • ax: optional matplotlib axis.
  • figsize: figure size.
  • title: plot title.
  • show: whether to call plt.show().
  • label: optional plot label.

Returns:

(fig, ax)

Rashomon Importance Distribution methods

PRAXIS includes tools for estimating feature importance over the Rashomon set using subtractive model reliance.

compute_rid(...)

rid_out = model.compute_rid(
    X_binary,
    y,
    n_boot=10,
    lambda_reg=0.01,
    depth_budget=5,
    rashomon_mult=0.03,
    lookahead_k=1,
    seed=0,
    memory_efficient=False,
    binning_map=None,
)

Computes Rashomon Importance Distribution output.

Parameters:

  • X: binary feature matrix.
  • y: integer labels.
  • n_boot: number of bootstrap samples.
  • lambda_reg: tree complexity regularization.
  • depth_budget: maximum tree depth.
  • rashomon_mult: Rashomon slack.
  • lookahead_k: proxy lookahead.
  • seed: random seed.
  • memory_efficient: whether to use the lower-memory implementation path.
  • binning_map: optional map from original features to binarized columns. This is useful when multiple binary threshold features came from the same original variable.

Returns and stores the RID output dictionary.

rid_plot_mean(feature_names=None, **kwargs)

model.rid_plot_mean(feature_names=feature_names)

Plots the mean reliance score for each feature.

rid_plot_violin(feature_names=None, **kwargs)

model.rid_plot_violin(feature_names=feature_names)

Plots the distribution of reliance scores for each feature.

rid_plot_cdfs(feature_names=None, **kwargs)

model.rid_plot_cdfs(feature_names=feature_names)

Plots the CDF of reliance scores for each feature.

Recommended starting configuration

For most users, start with:

model = PRAXIS()

model.fit(
    X_binary,
    y,
    lambda_reg=0.01,
    depth_budget=5,
    rashomon_mult=0.03,
    lookahead_k=1,
    key_mode="hash",
)

If your original data is not binary, use ThresholdGuessBinarizer before fitting.

See examples/example.ipynb for a complete walkthrough on binarization, fitting PRAXIS, and accessing information about the Rashomon set.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tree_praxis-0.0.15.tar.gz (43.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tree_praxis-0.0.15-cp313-cp313-win_amd64.whl (207.5 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

tree_praxis-0.0.15-cp313-cp313-macosx_11_0_arm64.whl (232.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.15-cp313-cp313-macosx_10_13_x86_64.whl (245.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.15-cp312-cp312-win_amd64.whl (207.5 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

tree_praxis-0.0.15-cp312-cp312-macosx_11_0_arm64.whl (232.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.15-cp312-cp312-macosx_10_13_x86_64.whl (245.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.15-cp311-cp311-win_amd64.whl (205.5 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

tree_praxis-0.0.15-cp311-cp311-macosx_11_0_arm64.whl (231.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.15-cp311-cp311-macosx_10_9_x86_64.whl (242.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.15-cp310-cp310-win_amd64.whl (204.6 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

tree_praxis-0.0.15-cp310-cp310-macosx_11_0_arm64.whl (229.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.15-cp310-cp310-macosx_10_9_x86_64.whl (241.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.15-cp39-cp39-win_amd64.whl (206.4 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

tree_praxis-0.0.15-cp39-cp39-macosx_11_0_arm64.whl (230.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.15-cp39-cp39-macosx_10_9_x86_64.whl (241.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file tree_praxis-0.0.15.tar.gz.

File metadata

  • Download URL: tree_praxis-0.0.15.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tree_praxis-0.0.15.tar.gz
Algorithm Hash digest
SHA256 801a9b6b72ba3976662642a043a9efb880cbed15d046f4cff5714c80bf59d1d0
MD5 b920fa6ed785d6d69652154640c0e371
BLAKE2b-256 b177adfb51b3648de8a02d6fef030b11dfc46703ae883d1108bf9fba6e8264be

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15.tar.gz:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0ee54f0a9fbf2eaa7685bf559b20abe026d86955cb8341e665940bbff2e4c2b2
MD5 7de2271ca0cf5af0c5906434997c22ef
BLAKE2b-256 f8688e1f4ed56ad576a09377845b6856acb6fc979cb710da95b76c1dcc072fcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3edc1d0ab5bc62035aec7499910b5741d267c914110bab1ad16d6ea388f3886c
MD5 7419cbdafc6d23b4414d4e3b2c7bf92e
BLAKE2b-256 112280c77e7e87d3b326bf84948946dd77d367cac02fa99c0bc9beb394a5c23a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69f5994cc09c1782613e483676319079291a782b7a96c1e2bd98cf466888e13a
MD5 ba0c1e80f04edadb2f366db48229e445
BLAKE2b-256 b9282c6f860238b31136921beefcb9c1d9ee08b98067f37570757fea26a1095a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 77fa88facb898976c4786563363c2b776139fa66c2fc2ed1d4a032ca71dd3373
MD5 9c74971919b7e8db4357f6d9133bfbe4
BLAKE2b-256 381a1339585e351d0b7939281a392b7189032686f2b4fcc38f68671b78149178

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 caf765303947c4933afba28b3735ba9a0c1f6ce9f8096db0654277cb9b723238
MD5 14f6d30e37adb87e781b95236530243b
BLAKE2b-256 275032c62cc1909d2f55f32e700698be15e25e933ecc5a92aded63303fe92530

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecc7484a9909501a324c77866986f6105c0af3594d178810d5b0d94ffecf3fb3
MD5 3c2a3b3892ba1c928ed36aa6f4d40c8f
BLAKE2b-256 29442f15c733c6c4a6139e22ce5fa1083df29cf396a090f118342f3abccee6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37c82aed8fe07fa0d841e2b2acc196ee5994134ee3c6ae5ac2d4cbc6f19589a0
MD5 60476a59bc9880010f293758fe51048f
BLAKE2b-256 f9d08926f4183a99e49c7f483efb707734459b83a2ded949ab4e4e3aa57073af

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c994e6a754802ad40fdd9f2b51c48751d0dc5e60ed62b59205440495dda1ef03
MD5 0285cbb2bea9336c48ef34356c0a2381
BLAKE2b-256 5e8266cb48959b508c9fd32b6e9656bc00f2241754582e63d8d585f319ef78d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0372419a967034528347c7892fb9ab95182f57171b84991d2a17dc7772837f34
MD5 0fe836d9feba9f0832fb43e7da1985b2
BLAKE2b-256 db3f7518e087522ebc4a3dfd25032334c09f50207f8bc39075e359ed8f239213

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0ade255b9de15b2ab3375324a33e9a279a7685a99b531582e3c79047f8f4726
MD5 7ba0532d60792c71b7829ff33644e4a7
BLAKE2b-256 1495a51e0cf3fea5e7874cfe2dd45f838322ee7a6e75fb1d2c68299ce5fd79d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cc91eec29d6356d60f77c0a1dd59ca634073fe4bdc26bbd482e2566bb50d631
MD5 44fc443f37da104afed2129c6ac23693
BLAKE2b-256 29030937307c08a4529e2646fe25c8b809cc4b655d811ecfe1dac677b7feb83d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 11c02cde463d0f8a31b73d36111c48c78f4ff77d119f3cd33945204bb59f7d3c
MD5 a32eda67a06903aa8e5194eda44310cd
BLAKE2b-256 6c5fb91ae0bb124c32f5fda3376a56ee69fafad7ccf7aa53c9a2722d3b2a0d58

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9b7c5906033badef6274eb0904dd3ed0e38d749fae8d96f5e1b443516bb1ec74
MD5 21788323a4ec4327cb8eb14079db2bb0
BLAKE2b-256 91d14d4fa75bf6121e8e798117baa990b9a7a9623734f4deefee3942320465cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eda3125d377e28f496133b4863538227d57a861eb4e724e0479328bb2cf5d19c
MD5 cf0275863bed5f3f29f16878d69ef71a
BLAKE2b-256 9bbc51ee3d3e097617cd379ebf3641e05388a928778db72ce0a845b1ea2d0bcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 deb94ec6daba74e57880fcd62093c3c65d2fcc24b80f96e2d26c7a74a336621a
MD5 d35b69013a08a3f00a6de77c548e439b
BLAKE2b-256 69e128e92464278fd2ca666f01ebb00d948729b026e10dc3c77bb1d1af6be58f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 abf1f7503141903f332b63039efabb260e7e49fbdd510d520ef25878c3388515
MD5 0e9ffb91a7893e792da27235550e4621
BLAKE2b-256 9b9723ac43e89cdf6c1b6b21b7f9b00336109c575596d4c7bff464d2814743ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tree_praxis-0.0.15-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 206.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tree_praxis-0.0.15-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 943d7918b3774c3635d169898b98abda3b100627946dc0f4982849827728c430
MD5 114b2add0afe60e212e372731b29633f
BLAKE2b-256 c8379b9454bbe1ab6c76090e5b64ab64c15fe5b9e6c49d03d6d6efb04b1a5746

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 030ceaa9e1cb59e10bf9e11e3566be3aed330fa052ff85299f8472fe80b4586d
MD5 18817a6701e309cf77f2c714c907b683
BLAKE2b-256 8c3395ddba0084c60c987b5bf781b08703257e7e2e06da99cf32673fa4ed044a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e95c9a4743c6065c7f1cd74edc79118c5dfd25adabba1f51f9b379618f0c7e0
MD5 706149b6120f89ca39be566b0dbf4c0f
BLAKE2b-256 b2a2de595fb473a93bea319ec80aa9ce7b3945c23e237c71abdda8637be1cbdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tree_praxis-0.0.15-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.15-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2db07bb15836876be22449a4d04ee7d92d9d3d4544fbf242a388fb8a423b7e77
MD5 ffe6e2a0fd03e822160b45bd9ec83b01
BLAKE2b-256 9f1669414abee0d56f3a58c96023bda6bf8f3d9b256c5720cc81657c14bfeaf2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.15-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: wheels.yml on zakk-h/LicketyRESPLIT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page