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.23.tar.gz (222.7 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.23-cp313-cp313-win_amd64.whl (588.9 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

tree_praxis-0.0.23-cp313-cp313-macosx_11_0_arm64.whl (431.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.23-cp313-cp313-macosx_10_13_x86_64.whl (444.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.23-cp312-cp312-win_amd64.whl (589.0 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.2 MB view details)

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

tree_praxis-0.0.23-cp312-cp312-macosx_11_0_arm64.whl (431.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.23-cp312-cp312-macosx_10_13_x86_64.whl (444.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.23-cp311-cp311-win_amd64.whl (586.5 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

tree_praxis-0.0.23-cp311-cp311-macosx_11_0_arm64.whl (429.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.23-cp311-cp311-macosx_10_9_x86_64.whl (443.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.23-cp310-cp310-win_amd64.whl (585.5 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

tree_praxis-0.0.23-cp310-cp310-macosx_11_0_arm64.whl (428.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.23-cp310-cp310-macosx_10_9_x86_64.whl (442.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.23-cp39-cp39-win_amd64.whl (589.0 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.23-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

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

tree_praxis-0.0.23-cp39-cp39-macosx_11_0_arm64.whl (428.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.23-cp39-cp39-macosx_10_9_x86_64.whl (442.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.23.tar.gz
  • Upload date:
  • Size: 222.7 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.23.tar.gz
Algorithm Hash digest
SHA256 f3206bac55bc92503cd8624c05f8c421c3e7129bd7f3840fc2953b2ce223e0e5
MD5 120dac2ecd2ee9c93829c27f70feca35
BLAKE2b-256 195cee5728eb19570fd2a9601e10faee8370483525c9ef860312e4fd7b8aba83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d519eb3aa40aa9e6672bf5ae2e482953165db5c47d68b3175498b6e39d80ec3c
MD5 78909ccb6f67157e32f75b6e944f535e
BLAKE2b-256 39b522b36383a3e87a6fbdd6211ab9f478231862b7e71963522b896ab7ee0da3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b125dec5ed5c27f08ed1c493e77e87e67b23ed4736d2651386d949100051219
MD5 39827479dbb39712dc17e9727679731d
BLAKE2b-256 e955bffd740b27ba743d200bb3ad1d5f3b22fc6eedc920bd338baa46b6a616c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2626ca444e0ed08c531a8554bf5bf732bc223988d5872c685eeae64fc2e0ba49
MD5 17265f5159ea6ac2f17103dde842ffa0
BLAKE2b-256 f6b53975c2ac04c83820569ab4102ad7a8c9039c77dcfd7cc145c0568e01a998

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b43f5f4b7e32081bfc5a638f413253b06b5d4fce1aa55ed48ef252128430e3e7
MD5 47bd641e721b73e4bc6d09cc413b0716
BLAKE2b-256 fd11b4ecb4b6fbbf419f80185a0cf8af132ca7d6b7a4d53164b292dd10f1a48e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 de6ca53a87d6300f87377b29112b922451dfa2c1ec1991b18d9119d44e6442d3
MD5 aaf5cbb973947503698755b5689407a1
BLAKE2b-256 96563aa24c81c2e2bee2d5fcdc08e3264b98740381de25dde570fb091b94ca66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7a24551511c7fa48232688febb351d83bce8580f45a980e34220f5b9b9af1cd6
MD5 cd6d7a46873d71aaf8a875e5b1fa252b
BLAKE2b-256 158a5169c51e96b8f470c31e0fe3a19b38379a5b5bdc857aa20f9ac43fb54322

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5595aeaee0c823b7b28e281db4bd11724433f1a1d6918d7c55e4ff39d45210d4
MD5 116ed7a6ee8c04d43579d0c7d29c4ec2
BLAKE2b-256 52c0523437e417502cd35bd73964620bfd2afa4220fe0824b7fd7abe32e181b9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3087b4a41f4017f59f0189c26a9ca9c77ee7a69a71040e9935b5ca2c74d8230c
MD5 02c79c9464ce9a1f306d39ec3e8f2b7e
BLAKE2b-256 3fc48cbdffec7723d2ed200f36c1a7e61614f3a29cea526e513c6fa53f8b67bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 50f2ac990158fcd8707161dd44a8b5ee9da4743b2b09e7be6468e23bd69cd177
MD5 2041cd640a8f3e7b80d0ac458f6ca04d
BLAKE2b-256 fe8f10b2520ec0d94c21e3def7d0691ae4b19c5791cce90caeee9a21d807720f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f238aff4a437d40ac12808bbe2be598f1d7da01644903a03d43e19ee7571d69
MD5 fe6d4b48a9a9f8d9c0158a131775234d
BLAKE2b-256 503481f8fdb0fa8e37fd6db056296f5f8e687c9af6e2e1b5eff792f96213783b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1af78dc15236eeb35ea6a25d5a428bdd0d60a8b2ed1f83b67fffe8f65d0528f4
MD5 8c4d156032d37c86d67e87f853428a7e
BLAKE2b-256 71e5d03d51dce35385a82902d801ab4b7ef207013bc411626563a918ef753e2e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ea559485d8d56d0420a36022c0ad4c1298fc7717238c073be47a9ca11f4aedd1
MD5 f0ae01e275758fda945a9dddb0ecea53
BLAKE2b-256 85c93a732b85b0e7823424be2f240c5c6ac3d9c82647843c0dc4105cf3294375

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 275336e519bc1769d23fab797e96e07da87df230afc7d5afe4b24c063ac90eeb
MD5 1ffe3a12d949769bc1bb690904c3a98d
BLAKE2b-256 04382f94d28f01e108504200d63936ee85dd4ba9779ccf1d94232fdf1034cc25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 936eb28d53dee7f7b55a7983d366764c7383f418cb22ef6107ecc53120caad3d
MD5 a2637aa8138851be1c8a1e3bdba1b2b6
BLAKE2b-256 1a282d71007bd7e678b8dced798a6039cf0eeaf15b374198714b06f73d197a21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c817bd45a04129db7676b4a80c8fb5a8f4dea09bd4bfe89a3fee29162e9ec2d
MD5 4dc2e85e70c2ae33be4f92d638ea6afe
BLAKE2b-256 999a8cce162cba69704836bccf8ca29a42a3f06a1d22d5b0a442975966355d5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 835ec3fd7d267b2b658a108e112c0eb01271590710148ef9bc9e8bc3d89670e0
MD5 d11c18a90fa3da7d760797c230d68f32
BLAKE2b-256 c8310b6ffd6775e4751b14d273b3397c853e2d0a73b71da637b048f7df6c25d6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.23-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 589.0 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.23-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 26f16ae1f72a5eeda1346e802ecaecfcc037e3b334a9a8e3564069106d287060
MD5 cd2482c59c8ab61eaf2bad41076bf6d9
BLAKE2b-256 e37444fe4656717ea8e263997ba9414643ab8e3cf02e9d346ea066a4189387ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0aa474bf4744c88ad55c28a526e30f84597b912a104ec906b49c89443dc96f3c
MD5 74a28e7f887f2b81911d2bcec03369cd
BLAKE2b-256 3c1ca01abe7eb200cb426af3695b811608f9b4ff9ec35ac3badb12a76756f7a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2918981567ad4f59165c7dfdc2d6958b39803d78c6548ca55c8a05d04de1db2
MD5 5217f16aa2fa1b2fad20d0210ec3d69a
BLAKE2b-256 d6eb6e86cce45ec68f5c4a2c1d4763ae2958cadc3da67c829e8adabc14214d3f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.23-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 236477964b85fed26ba186d2769e020e4738628b983d4a0e5dd673fea04008ae
MD5 4c58a7db69e2bc44ff2da251225aa49f
BLAKE2b-256 363b99ce6df9b1af5fd68450de3922280b97935b8de6fe03ed414626feeccd29

See more details on using hashes here.

Provenance

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