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.22.tar.gz (54.5 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.22-cp313-cp313-win_amd64.whl (420.4 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.22-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

tree_praxis-0.0.22-cp313-cp313-macosx_11_0_arm64.whl (262.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.22-cp313-cp313-macosx_10_13_x86_64.whl (276.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.22-cp312-cp312-win_amd64.whl (420.4 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.22-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

tree_praxis-0.0.22-cp312-cp312-macosx_11_0_arm64.whl (262.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.22-cp312-cp312-macosx_10_13_x86_64.whl (276.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.22-cp311-cp311-win_amd64.whl (418.0 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.22-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

tree_praxis-0.0.22-cp311-cp311-macosx_11_0_arm64.whl (261.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.22-cp311-cp311-macosx_10_9_x86_64.whl (274.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.22-cp310-cp310-win_amd64.whl (416.9 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.22-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

tree_praxis-0.0.22-cp310-cp310-macosx_11_0_arm64.whl (260.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.22-cp310-cp310-macosx_10_9_x86_64.whl (273.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.22-cp39-cp39-win_amd64.whl (420.5 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.22-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

tree_praxis-0.0.22-cp39-cp39-macosx_11_0_arm64.whl (260.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.22-cp39-cp39-macosx_10_9_x86_64.whl (273.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.22.tar.gz
  • Upload date:
  • Size: 54.5 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.22.tar.gz
Algorithm Hash digest
SHA256 972611f619e139eb3904d4322d0e67dd9084f30c5cc643b201c48550575a853a
MD5 c4eb86fea1e3cd436054f3bc0395a44b
BLAKE2b-256 86431cbdfd32b16377a5db85c356dfc3f303a2700a4c49deb3c85431ac26abf4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c5b300286e95bae432281cd098d27d12fb7f7ee75f912b4bcb704d4f5c6760af
MD5 a0f847171bec1747b85f1bb64ed34f71
BLAKE2b-256 2849577255ef3defda72649eaeec7e0cb67fd800cf0885228fed029177bc2be9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2348447e9dbe016972f853f49944d9733c420dc9bd2480ec73e4d9e6ff770e5
MD5 c63f66bb0bdaf45dc28baf2b1020a6bb
BLAKE2b-256 273c3448635e21e09ec334597a926bfa04e76639ce0669517f2811f8e8571f31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9970b43ddeb01ec0c2c21b3aaaf6a4f5e261da0b81203dedd89e59b95a6992c3
MD5 60d9ba991ec7c7c3aef49e5ab63386b8
BLAKE2b-256 91cd80f95b7dcf3d8d4f079a8f3f58bd9bfbd763c6e03e2e8c08f8e91199279d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 aa669493deecfdee21a9874af50469e3a38e74a8b78eee2c0e8e7ae305cf741d
MD5 b3e4cf0a2230830864a25f259db7f0bc
BLAKE2b-256 3fa8dc3ac6015439073621e064dde5f451aa52a550addbf4d59492fedfcb497a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 afd15fa6cb48dd0641d5b3fd34315e3f7ad0431494a9633fd53d76b9859459b7
MD5 383c204f07f1e51d36b1c32e888b27fa
BLAKE2b-256 e2ce488ab25422e9cf113a9f36dcbfe718aa99b0d78be3df197bc9df2b249c18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92c636fc1a1566a8f4d4377fb0aa81b612c2d5dc2ea79d3262554e6c4adbd0ad
MD5 23599a2116887ff1a0349191750170be
BLAKE2b-256 1de89529a0ca1370b22f230b25f0bf7189425db0d0bf6f510461d4716e2df8a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c72dac06bfd9742defb407f6c0004c28e60aff0f6f69093c6053f6f8e601dba4
MD5 422f0d719d66ef932078409555d8b89e
BLAKE2b-256 e38d3cfcf87540a83c19aa23d45705f0c6082cd1a0be117c7d302b792904dc36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 be23e1a0d3a66fafe38d33c6a378503bc28e56d7efb07a691b782fa23e99c6a8
MD5 91d45e0b1d1896a7cbe8b7c571c258c7
BLAKE2b-256 9fa0a8e875ab248952ed2b8455e06ee39eb293c59429f192b15b16e733c10517

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 21767c94e5d0316cf70935d2894a0d997c1f2480e8990d1c485ba686f002bd32
MD5 8ca1f11e705563e90618394ba5430723
BLAKE2b-256 9c68b7192de082b6d5dec9a5954a9de6dda6b3cd80ef567446a815ca75c8f0cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 104a580781c869e2f5dfe6e35ce28c85a65205a2129c1f2b39031019909c6db8
MD5 0036e938cc43532054e7de1112d8a242
BLAKE2b-256 3342bdd30722f38b3704af9169ef1fb6272bded7a0ea7bd169381ce5de6acdca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e213a1758623a6f2e0c4c23f6eacf8fbbf20ac52de7bfccf95e3e81a0a581fd3
MD5 3243cd7d1be30cd2f960e01354388f5e
BLAKE2b-256 a05eb32dd9f864da3b57d0a7a9c002fdb8e06dbf9d39366159f13f0fa36bde78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f18c59eebe79677e8645aa6a7eaed331157ffecc290e3dd3a12123d2fdbd330
MD5 276b38a1dfa8c7d79dd52c3aaba75732
BLAKE2b-256 6b299c64ff2a6bc07bcf137b5f33349336e61d25f35bb1a7d7d773656c59a507

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fcccbb5d492c10fa039e7c3ed7125baeae8b6f509e8f6634a6ea09e39d9204ea
MD5 fd2c2ab8132ede82dd8bcd27ab0baf51
BLAKE2b-256 29ad954db863b3d1e6f9f2ab625e58950d6af9e3b1ca4025bd6c1094ffcf7b56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 245ea79452046f8ae8015f3339d63854d5a3548edfb3a52cee7895ef0f7d4605
MD5 15613aec2bcc8f8cf8fed7e0a58226fc
BLAKE2b-256 04b7eee0e48a928397d2b8876ad346b6072ae770cdfd43d5291c4bcc5fd5515c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0dedd656f491a07e2d3f46c8a646bb7f68ab686073f62c041661eef8fc74be63
MD5 a0fdc8d3044d9e1ff92e7e4d13470fe4
BLAKE2b-256 da12aa16d486c65690ecfda375418c33d7542770dc50911ccf3177d9f05981b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a3b8caf6737f692b23bd7e72116655e994368b45840930e90d0a65359216acc0
MD5 a63e8defe57edf222c95f7e7ae05be1d
BLAKE2b-256 f22f7348f3ef0a55131347d234f33bc03ad274d5c8f5f890ee61f431135476d1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.22-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 420.5 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.22-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 74b7c1decab1ccbe5a390382d70da7cf6bd7f638820ba53ab11dc13e63c68b35
MD5 b4946ad0d72b89d684247222bbf56cd7
BLAKE2b-256 349385f81ef38f389ac968b64d3200c9ff1df2cd09e56be02ade182b66432421

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a6a31de068ad93f17ee8c733f5c945423db789ef4dc3f1b32065ccb1a685575
MD5 d95db1921557ab9e84017a726da2ac18
BLAKE2b-256 b717306dd10d780bcd0cca9fa90e2a9e80c46a6a129196f149328e1b93c331e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c55b1d4784a0f8316b29247cefab54ddf06ecb68b43cd2556c009a403fa914be
MD5 5c5ac8635a2ced009397879a6fa060ed
BLAKE2b-256 5af370d1178cde512f775740211944b72c6677771daa46bf12a3ce001f6dd65f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.22-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a2ee1e1edca041e05b61768f93ee657a0acc351d3ae609ab355040795e714ed1
MD5 43d2c5b1b95add61b637cb6bbd8a6841
BLAKE2b-256 c005c9071c10dd2e9951adcfbb6f4157bc95ef69c098d25c591ed39760480436

See more details on using hashes here.

Provenance

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