Skip to main content

PRAXIS computes exact and approximate Rashomon sets of decision trees, individual high-quality trees, and variable importance over the full set of good models.

Project description

PRAXIS: Fast Rashomon Sets for Sparse Decision Trees

Installation and Usage

pip install tree-praxis

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

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. For a decision tree T, PRAXIS uses the objective:

L(T) = misclassifications(T)
     + lambda_reg * n_samples * number_of_leaves(T)

The Rashomon set is the set of all trees whose objective is within a multiplicative factor of a reference objective value. If T_reference is a reference tree, then for a given rashomon_mult, PRAXIS enumerates trees satisfying:

L(T) <= (1 + rashomon_mult) * L(T_reference)

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 uses it to set L(T_reference), and then refines these estimates as enumeration proceeds. When the proxy algorithm is exact, PRAXIS performs exact Rashomon set enumeration, finding all trees with L(T) <= (1 + rashomon_mult) * L(T_opt), where T_opt is a tree that minimizes the objective. 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.25.tar.gz (228.6 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.25-cp313-cp313-win_amd64.whl (605.3 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.25-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

tree_praxis-0.0.25-cp313-cp313-macosx_11_0_arm64.whl (449.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.25-cp313-cp313-macosx_10_13_x86_64.whl (463.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.25-cp312-cp312-win_amd64.whl (605.3 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.25-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

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

tree_praxis-0.0.25-cp312-cp312-macosx_11_0_arm64.whl (449.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.25-cp312-cp312-macosx_10_13_x86_64.whl (463.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.25-cp311-cp311-win_amd64.whl (602.7 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.25-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

tree_praxis-0.0.25-cp311-cp311-macosx_11_0_arm64.whl (447.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.25-cp311-cp311-macosx_10_9_x86_64.whl (461.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.25-cp310-cp310-win_amd64.whl (601.3 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.25-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

tree_praxis-0.0.25-cp310-cp310-macosx_11_0_arm64.whl (446.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.25-cp310-cp310-macosx_10_9_x86_64.whl (459.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.25-cp39-cp39-win_amd64.whl (605.3 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.25-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

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

tree_praxis-0.0.25-cp39-cp39-macosx_11_0_arm64.whl (446.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.25-cp39-cp39-macosx_10_9_x86_64.whl (460.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.25.tar.gz
  • Upload date:
  • Size: 228.6 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.25.tar.gz
Algorithm Hash digest
SHA256 131f601c30f702b0ee216b650f50a12f51473e5e1a72f7ad500199f604f1b12c
MD5 60f911c0304e8bc8559b5a7419372a9b
BLAKE2b-256 f7c2b20d6123f5fd8ca13f2e972ca15dc6827b7213cbd4af05ff4151a9877e41

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25.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.25-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b321a7f82dabfacec6c51622814852cf5546fe53abe67dec9701b2a2f1bc03eb
MD5 33c91af8824cf31c52be070dd700b8da
BLAKE2b-256 7f599fb8420f84cd91a7c9886f37ca4b9988193811bcbc952ee8fa4514c417b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 306bcce4c76002899a54298bfa86a458579d554c3733f7c572593e31f14b3471
MD5 fd20bd2da2920265e3cfbd560eb8e142
BLAKE2b-256 556b0bc4e8cc1e79ba6ab90c6aea991f56451b20809e32fd1a13b3719a698569

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bc2c4d29b128cfeb3540058d4e50cafee598de0612070c3df572de2104d7895
MD5 776855ecb829d1eee7b9ee9c59caf402
BLAKE2b-256 d238f5c2c5047c4e12bdf2c67a83456bbfa4b6e3c0113d2cc3451e43d0b40006

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 72821fb5b5e44ac06ec700994a2ec0f89a10aa29b01df33b0d0dc8e94988acb7
MD5 2ba9458854e16f6419270bc0694a0e1b
BLAKE2b-256 cc846e58d4b1db0bad1cc8eb1e4055eebd0d4d3bbae3c1a49d83fdaef5452f8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f4fd237df06a6983d38c8103f2a6318f5b1a049020305300d1fee12c80c7280e
MD5 f5c3398141e2d23cc58f9c092b405c45
BLAKE2b-256 13eba70771a9739df917a3e72cfb4c0833938e314fa328302772e24e7136b69b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4a60b298cd1aaf493d2f6c1a39d068d32c012b44306ed1d82b829b998fc8784
MD5 d6c8d79b58087f92bf86793aea8d029d
BLAKE2b-256 7bb0df101f31a2a41c6cdd51ead7b21f272906671ba7c328371a379323f7627d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cdbe18ed1375be97b7bc1f77016817c079fe093dbe1bb045102a14697cef7815
MD5 f6eb7d1ead6f7b79fc5535740864ab31
BLAKE2b-256 4c5f4f8910f89900e785696003700dfbb8185e2efbacab56cd8f74543782e2b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7c1d79571bac0e5a422290f51101093bbd7197165a91c3b9c735121140e82ca0
MD5 62cd883f4bb44f67e81a03b0979b70b8
BLAKE2b-256 684fa051a8726ab191706481832d882ff4537ca1c77160a712bcad8de8c2e88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b17304451c9c1debdb46a8c0e69ef6fc2352c19538e6542f928cfcd2f154727e
MD5 d938819818582ad69a7907f898b4c050
BLAKE2b-256 e811c449bf1e2bc8cd7341f051b416379708d94824ddde000d63e336b63ba360

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a0b2dedf0d49a0bfb0fe5bad501c79e65ad8f530c9eb177456dbb225a32d4c3
MD5 df50c7758cdf715e78de9992ad915f5b
BLAKE2b-256 f0d1a4c358a7dc627b85d27d73c1bfc43814b7ba3ebe623c44dee5b364705e59

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ff33d897551867c2ed80577c796252a0ae202082807a6dbbdfca83c1adee7fc
MD5 550ad1c07ecee40c8f6041799d9629f7
BLAKE2b-256 8053e7f101879bdfc2cc153f2f6678471593219e02d4ba55ea00a0818da1135f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 403024107d3bfccc99a06fd721e89279b407b81ada560753fbc662cc8627582f
MD5 ac1fb0af658debd23bb3d24d895fe50a
BLAKE2b-256 b80513bf23de6e81d0241517524dcf43db364b2bb276d46a2b25bb9305b368c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 013f692e63503e6a09180cca9a87ea54b02046b10b37c62ca2a08d9ab25eca72
MD5 7cb0f9cfb0c78a450d061838eb1d2620
BLAKE2b-256 79bcfe6d2232ed0e1c287d02a4845f4cc0b98bb1054d154c8b98e8b82370d23e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9b38868e728f47da58badaba6ecf6ded8570967a48ef61245506d6718206d907
MD5 c12a396bc7778e9a3b65bc3752bcd1f4
BLAKE2b-256 c8c1c2c8de08d50d63212fb2a077b736962d940b53d40f8e675b0073d566ce8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd0e14e7fbc91429b043ed79a17a8bd0100310394aecaf2cd70daf80570a716d
MD5 b20a1b7ddbad9a579ae4ffc1af5156c2
BLAKE2b-256 d9ae0dba0bcf9a6525b3bebd42e4a2a2fd33d28c887e0b97063fe70a8dc68bfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c71b1ff444cde510941e89a821a26cabf72f1fe4a1793debfed66a372eb9d84a
MD5 6f49a916b1a5ef9a8a115e06d3373f8e
BLAKE2b-256 059032ee4babe9297fa9a2930b3deecca6fcac8f56d1071ed9d2a7a77d2ada84

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tree_praxis-0.0.25-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 605.3 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.25-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 322ecfc10b0d2028820608af593c069cc338f3f38f40e671ce019ffe836b7613
MD5 44f0ea3102ebd62f8e7159c33d80e7d8
BLAKE2b-256 bf3b72f8389662d8b09508fa3346d077bbdcca3505f0e1a1300ce946993c2a03

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e149344a1236e457fc0023d80f62888ea0a9fa3d292719fbe930b5bc80ca6506
MD5 6185441b1cfc56a1c425134afadf421d
BLAKE2b-256 1269c70a678bbf950412cb25943f8907d9c8f195eae6ef23a2c3f8980d34a49e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c1ed9ae8e8642ce2a1e17d7ba325e333299ef7421ee8e8264a2081b24b90283
MD5 b5759600f41443b3ce3a0d8aca48e5f3
BLAKE2b-256 6d0e5d5b0cada84d5ce287cec8c470a6827eb5f2e63280fae6fbceeeb0b05050

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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.25-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tree_praxis-0.0.25-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 db87e97227334a8c8bfcdf7b688e2f66026e6ed3107e1554ad45ab5391573dea
MD5 d53ec9fae22cce60169874c15f91fccd
BLAKE2b-256 37c0d8bcd396a0592d5873131e39751963b92d3d7111b8d8f08f91d4af215fa9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tree_praxis-0.0.25-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