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.26.tar.gz (228.8 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.26-cp313-cp313-win_amd64.whl (605.6 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.26-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.26-cp313-cp313-macosx_11_0_arm64.whl (449.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.26-cp313-cp313-macosx_10_13_x86_64.whl (463.4 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.26-cp312-cp312-win_amd64.whl (605.6 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.26-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.26-cp312-cp312-macosx_11_0_arm64.whl (449.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.26-cp312-cp312-macosx_10_13_x86_64.whl (463.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.26-cp311-cp311-win_amd64.whl (602.9 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.26-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.26-cp311-cp311-macosx_11_0_arm64.whl (447.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.26-cp311-cp311-macosx_10_9_x86_64.whl (461.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.26-cp310-cp310-win_amd64.whl (601.6 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.26-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.26-cp310-cp310-macosx_11_0_arm64.whl (446.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.26-cp310-cp310-macosx_10_9_x86_64.whl (460.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.26-cp39-cp39-win_amd64.whl (605.6 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.26-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.26-cp39-cp39-macosx_11_0_arm64.whl (446.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.26-cp39-cp39-macosx_10_9_x86_64.whl (460.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.26.tar.gz
  • Upload date:
  • Size: 228.8 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.26.tar.gz
Algorithm Hash digest
SHA256 3edd216778769cbb667ddb2a02ba9099565451f12de45147c4ce14dc4cb365d0
MD5 78854e0900e00b59d424394d044d8839
BLAKE2b-256 978487f7376d070177dc6a639343933f1a918fc017792b34f033d8b1e69a463c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d17625670e33a92dcd1adbaa7bfc818b63fc9d7681ece19a1e40ed82fe5112d6
MD5 01ad1af9d2d8af884749bf99628bb80f
BLAKE2b-256 95ad1dfe181729db991d476dfd4b7526084c39db7e7c17bec088848d65bb9edd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 03318d6b4f2905e4ae5692557428472e4bf647a5349dad04446f7c6a15f17a5e
MD5 1ca2c0a18987aeea2e0a1cfabbdd4932
BLAKE2b-256 dbd7d127798bf9d3d1b50f5b0c3ad11e6c419ad09fd6659536c3ce14395467ad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1c182820c2b934e4de483a6f0b158009668f5e6655cc16496f5aeeb49beacfb
MD5 294259c992b71fcf57e06760c74ce810
BLAKE2b-256 237b0cde6ceb4de957c08c4ad1ac0c6767c113da271baa301e31efa410ffcb72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1a5bf2d156a4ff929e1a9ba46dcc9209a78e0e85048bd5cdc1e4714fc2587eaf
MD5 f52140d45767816b778c29aa460b1c35
BLAKE2b-256 76bd6c08ef40d6dbb6e16e465065756c8b77457f833200d3bea9f22562bcb693

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 181a444728dffddf8b3542a326f495688cde291d901bd4e6ded7a086d889a64a
MD5 b70b3ba2e218a38ff9da968768c061a8
BLAKE2b-256 218d560026d89564d7283b677483cd40548df588aaf675964d497476e826b7d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77b77d859151f549b8f95df428aa5d8b9a1e84dc9070213c1951534e3c21ce53
MD5 9f8dee7bdb631e26df9c48899f62a6e4
BLAKE2b-256 a897ccd17d675027403379d12da3a745c0a44fec12c8ff8ca4049c98989e39e0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 796f04b8c3e8ad5d718df68f85fbb318440fdea3cd50bd8e164bd61d74d3b338
MD5 0cf0009872acf142e6f29f94e9b1e6f9
BLAKE2b-256 e05da717b38ff54892230c3f6391a3cfba43fba3002717a604c5917e6444ecaa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8d2a1803f9753e59828aca849e64d613d446b6f144a7ad758a182f85fa59cc9b
MD5 a29a45640aad16d025304a2273a916df
BLAKE2b-256 d16cde57edfab9e18938f4a1b707ea0fe2b8c2fea276d9391f90bebfdd07be6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a0794440f0f8ea1c4d8605350cf3a1c0854a472a486229ee410cddae72040e1d
MD5 5b553d1ac99dda3a44e02da6beb5f378
BLAKE2b-256 7c33f109218a6e7662dc966f2b3187836a964837b62f5a7ca640ff77abe8b082

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d1e8fd44ade96f66f4fb73c81e18555a4a9b852956f1dea49fb87f9046b08ba5
MD5 610c8e906176a2be0beea3dfd7af0c5c
BLAKE2b-256 f95def805b2342c0b21dbf4e6e3bb565d9ab4f09466d6f6c97ba5a1e9c4235f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25706c8c9d17978fad417e12522b780df586f7b9260958ed6244999006562787
MD5 e175a89edf2f355126618e61a6759282
BLAKE2b-256 cb571d34e746e7791115fd3ef4c6729b958219f03a6375991841d9e12bb8be8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d25b10388b4c98a1f6254e92d2687108eccf727893646db4e02efffae108449e
MD5 ef2bdd9ccaf7e2a2e4686adadcddce20
BLAKE2b-256 fe38490cbe11afed7c16f823a1e600154182a4c0fb6ad1cb9945ed0a59b301a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 27176b274c2d065e1a4c760547c4fc1099fda2487348133cd55bdecf853f9307
MD5 18793d5297c1d09b47106364b4f0b975
BLAKE2b-256 d5d66760d5e591f5bf9bc8a53e721be1cf9ab329e42e967c5848f7e3d4d6f389

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f14147457850e37ee774046548513bb8c9ac17608f18c2d22a6b8c370738322
MD5 04225d4d7c5e3068d31eec5c9f4dd472
BLAKE2b-256 abbf40d965cf39af3ae5f61ac465de9345d0fa4ba7c5cbd3f49df3c2c6206bf2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40d19cf260669c915f6a6bcee6f314a82602f8e9caf0267d5fdd8312a9f30736
MD5 a3f1daab6a39b5c1b7c76cc9a09cb237
BLAKE2b-256 dd597715e7f8c1956febed3366d77b1d794caabd237bae2afbaef7bbf2808f99

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 93126a0b374670cda077034b187cb879c5e8329a7e7b7b17e877b282f7752c96
MD5 e8393509428bb2fbcc4dba3f2cfe88c2
BLAKE2b-256 3ac4bf8d4b8339bc20987c67e03a06eea902a819951aa4266bccf03932460573

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.26-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 605.6 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.26-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 23a8272143fb36b05fd65358d86a73019c67c994208da439c4ecd6e02903ab64
MD5 23dde16d9ff894a69a29e616d7fea0e3
BLAKE2b-256 4fa7be315025abfaadfe8441515b041e6ef5d648d2e7d5ce68712ea9c946f306

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c1f203436cc33217a1474fd7eafa3028382e3c742c6fb24138622498bf4dfb88
MD5 443375024ca02dc369cda26016c25e56
BLAKE2b-256 54777541fe0529e74ad4aa54236790a494ad287f5bac29d9558e9d509553d259

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 420d571b8f71b0eee9de529361ce7d4c6a552d037bdb0b2923c2e336f57d2b13
MD5 eb5f2c4582b84fba76499c2929ddfe06
BLAKE2b-256 7c492a2b4060d00ed84fdfc3e4dff72ee932eff96fecbfc5161ff74346f789dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.26-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e305e830dc637c127a263757d73d034cb86988b7684428e7fd8bd22f7a73b38f
MD5 c31beb93e964575ae53095e1495f6d65
BLAKE2b-256 be292c29432f1f3344ababfbc41d085119aabee8f9ac90296b796017da7dbc9e

See more details on using hashes here.

Provenance

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