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.16.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.16-cp313-cp313-win_amd64.whl (207.5 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.16-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.16-cp313-cp313-macosx_11_0_arm64.whl (232.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.16-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.16-cp312-cp312-win_amd64.whl (207.5 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.16-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.16-cp312-cp312-macosx_11_0_arm64.whl (232.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.16-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.16-cp311-cp311-win_amd64.whl (205.5 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.16-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.16-cp311-cp311-macosx_11_0_arm64.whl (231.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.16-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.16-cp310-cp310-win_amd64.whl (204.6 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.16-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.16-cp310-cp310-macosx_11_0_arm64.whl (229.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.16-cp310-cp310-macosx_10_9_x86_64.whl (241.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

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

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.16-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.16-cp39-cp39-macosx_11_0_arm64.whl (230.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.16-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.16.tar.gz.

File metadata

  • Download URL: tree_praxis-0.0.16.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.16.tar.gz
Algorithm Hash digest
SHA256 eb2603aee85f39d488fc89cce4c6360004d4e453bdcf744231322a881044e865
MD5 60e29d441924554fc0c75708230202e6
BLAKE2b-256 c9c04787c9c40f5678b207f06fd0fa073496c1306bba75f2ca3d60f0064725af

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3e33dd6b385820b29099cb47fcb0a32de75720939ef7d1a0c95b64a63550bf81
MD5 710c17edd2abea20ef982c7a03dbf034
BLAKE2b-256 4f9397e67437bba7343a412575f789704f97a292a89a0beb620a68178521ff30

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a013f651a31b6121eb9222c3b80221bf7845d707302adb7ba71b09051f9ccadd
MD5 b7f65f7c994b15cf707d1690bcbde09c
BLAKE2b-256 492d8feaa64b1d59cff9f8d708deb66d8f433ad6258e535ecd3b0cf869e4a92f

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4144daedfc2755782bd1173f464daa2a6dc3b85318c171a5c672417307b179d5
MD5 c519c77448373cf6efbfe1d5ad6e6ab1
BLAKE2b-256 56f44463cf73e434f71cae2173c78078b49b28051151816ec20c054fdcdb3cef

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 87955baa1d14547d96013e1e2190dfc8fc9caec841b5b06914c286a372e4974b
MD5 eefdddbcaae11d28b9ecd1c8722e64c7
BLAKE2b-256 24f67dcb7dc12dcd378ce8a5c9a2f21e258df02a23dc0a67c8ef974b15b6fbfe

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b16ec65e74c02d6db29056b0b31ddb42586da23fb33a9c131bb607f9c6db4407
MD5 b9ec4a244823b5c086fc327a1603fbf0
BLAKE2b-256 c1fe1dd37f7010a2879130e72adf3096eb670fd29148e138ecfc51e38107b145

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 897a409f32a15634536de4e757be499572e1ad4d23aa0e217a0fe572a2a716fa
MD5 25aa136aec796d17bb3b0e6103b26496
BLAKE2b-256 2faea2d62b9fa839fe2cd41c663f3ce0d65d5b0542138c560fc397378bae38bd

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04aef0aab0c360c4b4ad259afe50b1d6f3bd52650058ece42f62aadd47173b1d
MD5 6f8fd3200a984718f90d6d6b989e0d2f
BLAKE2b-256 a4e77101a23a0da41b2f761fbd8c5873eda6f621540813a0c4b99e5569d242a2

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 45f8bd5679f626ef6b409b41d3b46d975081ddca67ff6e6a0b3c9ef7be5d8999
MD5 22069e3c6f636997a8f77b16bc5323f1
BLAKE2b-256 99f4c16216becbe402e421e2237e92a3f78cef70623c3b96829a13acd222bd0c

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 54ca84976da264e64239c65b6bac18c0b91ac81776c073bd31c7fa2e060c3f86
MD5 9099c90ec6a6c3ad32aedb9c7a518bf8
BLAKE2b-256 fd1e6e2d58ab545936b96f9182ee4702058c17aee08c61eacee52c21af5a991f

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 794360333d846e56fedf117555663566966b2f3ed5b6832a92943405f004d092
MD5 82e0b051b7e0401743955175a0958042
BLAKE2b-256 e173248a31fc1797d9613f643cc2f14ff614f03daede7bd315687cf36b397095

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d420626405cc9e4804159bef88a0fc7cecf61c6786c6c5d12e703c3d0c7e7583
MD5 e89afe58e640f01b9d3688dcab317b47
BLAKE2b-256 9242c88ac0c887570a33e2af20670b82b0fa32925e4d6551667fd0f7ffd813ac

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ab254162bacea9b05233b399916830227fce2abc6629fb429031ae2300a7903d
MD5 6f7171f95dc3e2cdf6939a089909680f
BLAKE2b-256 fa417df75b9ccaf51188148b89adf1995c2007864ae728ca80e30712befa8478

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aadbffaafd22c8c2ac65f0583a9dca391cfe3b94a04e84f1a89390d8523453ee
MD5 325fec458cfd5084c60db4b3951b6560
BLAKE2b-256 860d0fe8c51326f827593ca1acc0e6a83da31643c87ecdcc990ce9092c26e71f

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9dc3d2c6dfad10d83a6ff00e4f3d9b171ece3be8663abe6c332a083e19938271
MD5 fe6452b8fa3d9187f936d3b17daca4cf
BLAKE2b-256 abd5ba06cf79ba0fca2896d188f6fd20a222930e0e858aa6529c494a20477835

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ca2076e9630145fa4bf661fa1eaac92c44593722f40c5dabb441840c3844a7a
MD5 05412b0efe24542cd521e98311cecc0e
BLAKE2b-256 b625398c5b46da3b6c17f636319f497e15ca0ca276528d49ee2ebf631e9a549d

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bf52eb29d082eefc187a00126e1e42e14a621f0c8bc8c96883851a00dfd906aa
MD5 8f97f657cdeb72efc34a57d22bae3d52
BLAKE2b-256 4f1ffd26387720ba076dd1d24839bac69801bde70d4ba43cec5506be4c7bdf1a

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tree_praxis-0.0.16-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.16-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 51418dd9ed67fe41c6f5121bc7f59773ca98bac7d94f981e32bbcbd69c1cd1cf
MD5 a04acc737d3930ffd2b1102ebfec29e4
BLAKE2b-256 60c166b5a0a7f1c2aec2aa6cfc81b2a3e82a7aff36468777477181c65acc1964

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f5e1c6387f263cb9ab044c040dd77ae8e5a6962e581a25ee856145601f155602
MD5 69f7aa762f2d35b82f1eecfa9dd1bda7
BLAKE2b-256 35b72d8aaeb4cb04257eb73c4bb37cf29b50ecdc8f2a579e14613a37c649708f

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a96d18adbcc3f02fcc3941f633bd445161176b9e974206fa23f12fc3360ad6d8
MD5 7dbb85e1ad28a8e084511d98ebb99179
BLAKE2b-256 945da501d0975196659715ec4241a2899fb43913d01652d51e6dc4f718398d1d

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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.16-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.16-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d8ad6b938ed919d30e1fe61c32a93972420437c2fa809f0c876dedb944554ea8
MD5 f4c7d6953feb7cb8a8d79cc07881615a
BLAKE2b-256 356687b38aed1b3bc3bbcb2a69dbd4a492170bf71e235a9ec492b73cfb7847e9

See more details on using hashes here.

Provenance

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

Publisher: wheels.yml on zakk-h/PRAXIS

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