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.27.tar.gz (228.9 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.27-cp313-cp313-win_amd64.whl (605.7 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.27-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.27-cp313-cp313-macosx_11_0_arm64.whl (449.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.27-cp313-cp313-macosx_10_13_x86_64.whl (463.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.27-cp312-cp312-win_amd64.whl (605.7 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.27-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.27-cp312-cp312-macosx_11_0_arm64.whl (449.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.27-cp312-cp312-macosx_10_13_x86_64.whl (463.4 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.27-cp311-cp311-win_amd64.whl (603.0 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.27-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.27-cp311-cp311-macosx_11_0_arm64.whl (448.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.27-cp311-cp311-macosx_10_9_x86_64.whl (461.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.27-cp310-cp310-win_amd64.whl (601.7 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.27-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.27-cp310-cp310-macosx_11_0_arm64.whl (447.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.27-cp310-cp310-macosx_10_9_x86_64.whl (460.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.27-cp39-cp39-win_amd64.whl (605.7 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.27-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.27-cp39-cp39-macosx_11_0_arm64.whl (447.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.27-cp39-cp39-macosx_10_9_x86_64.whl (460.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.27.tar.gz
  • Upload date:
  • Size: 228.9 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.27.tar.gz
Algorithm Hash digest
SHA256 5d6e33e989145146249ce8b48cdda9e2784a5c65e4806c1849181dca34b89d13
MD5 bc83567c9f637272b582eb9e7bdb2892
BLAKE2b-256 55624687c1b68d98f965bbb4fdedf06d3b580fcf032a38c7dab12d7b5e752a8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7276f45e8927608072e79007e31c5b195b5a054342d9ecd90b8121836c3c983d
MD5 79e806d21b43087949c09261c267dbf9
BLAKE2b-256 6eb67534dbce09cc9e3c5edd97f1c49143de899ebe4268a98cfab5008ef70d90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 27cd8b67db11335e8e3997a507eac18b3643771342ed6353e5a975d7810eb2fc
MD5 50c9630c2e58d21d77e5de1f7ff3ebd3
BLAKE2b-256 dc8b1a98f2dc54523e304b5dc68adde81df4ca559f5484e3df05471e78bd0b20

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 454ee44eefda04f4ed029d0b60f40db7490b67e069cc4c76eaeb41c32068a464
MD5 2c2758992b13bfdefef7e2f46921fd09
BLAKE2b-256 48d5b316ff02d53590eb82e3ce80e8eff1236e39fa64b2d14a33ea93aba3a6f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f492237719a644b4a402e37d819cc3bf55c85aa92bfd4de88577d60d3526dccf
MD5 fba89a0078eb97253a90dc507c4b0193
BLAKE2b-256 b479457e04bdb64f9b666a1ec4738868d788e46abe32b300667ecfe9a05a1819

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 263776e9d62dda6d127f81333aeaa1ca9c4026078083641edbb763424657b29a
MD5 214a1bac404be1408dbb550213ea3376
BLAKE2b-256 f4881f0351899374bf32b449de3e21e147c8b07ba6bcac139d26256dac8e3dc8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 209f2db20db34710924f786078f3e41fca897581a6bf6c97e5e60c7d03e57195
MD5 8e8d57bcbd2a4c50f415b08c19a62730
BLAKE2b-256 2cc2a41ceb74847536b4d61a845f7adfd8391fbc41cb14328ffe5bdfb9ba339e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7d9adfe5bfbbec3f1123c2530f2fb009a4d61d5c8c80e7db31b7d62b10187a8
MD5 6b162adbef235b42a79bd24d0f4cc97f
BLAKE2b-256 365ca51b0ecfbddab2f4972943df1540e677ab02c68f7a9bafc1a265f082fae3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0283300281555e1b7f960c7224dc5e483a897a4fb1e6d78b98249d3b8db0231e
MD5 eb07692c6f3aafa450e9566159de84af
BLAKE2b-256 01f1fa2b29fea6174ba6bd41d00c638437dc3674d2bd4686307a9b2767d42259

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b87733d03d51de07101b553fd9335a85328f74c66024dae36f35314e3ec9e444
MD5 4cdff908d980310ee8ac40b0f7542d2d
BLAKE2b-256 5a0d64d7a59c55394c4a466372f7092b176d034493ff4c91112674a76f9754fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e11f45d0bc9e812e5f0f43dae8e5e03a7537c2fbb5f3ebee9fd22dc5e1f411ba
MD5 b706b7b627a109232bba1990de4dcf65
BLAKE2b-256 b82c71c92fbf73ce278005550abf6f05af8c57b3fa00f292a1ad63dc8f226b12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 538e7afdf9626ea9b5de6cd19a5a0430156e71a236398e9db452a1a65b1b3d11
MD5 37dba63032027bcf115bf09a53c15b63
BLAKE2b-256 42becc0b93d88021a9b6d9cc46c40f8b6be10c3e09093a04f9f77b0c13b5ab4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 962fd651c1edff1829bcfa96e4266a42f962d8069dfe748068fa40bd1995f44c
MD5 cfc3fca4b7f81e2b2d5e1d68e083b5d8
BLAKE2b-256 ad3200329d7e7127466e31eb3a28fe3de91ed3a55555d3209bfe58ed901d2793

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6f16c48f14a06ac9cbe50ed637e0b72c0176a1244b26d83dfd4bb11d5361ca9f
MD5 65aa0319a97492c03e2e207a67c6b96f
BLAKE2b-256 a885f8ae8fd4280699700ac9ef4115b8a9268d93d571cd9deeec367ce29b7498

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ce3523afe9129393de91467cc37ef14e69b77fe8d0260b9f2af4de146bffbd5
MD5 8ecb3b38c069e9d0b37784abd1ec677b
BLAKE2b-256 44c9ff01500a1a82045eb2782e119fab158e62987b230ad31fbd5179bfa77be5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 869b970443caac11c21275fcf9b4c8425822ad32bd528cd7ca10f8a9f0ea0f79
MD5 6514ce2debcca2b4d8bc3b7c25f2b2a2
BLAKE2b-256 3965a3f7f21329d83f99f5ed5e6374f1e4909541bb8dcb774657e4e99b5e1121

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 324a91744f511d1c9ad0646b7b8a0a819f81cd9b3d9bf257f25c360192273572
MD5 b078fe29d632da4cadb4d7ca5f740723
BLAKE2b-256 8ba79097e903475be50aa6ad238383140d611e7b1af55371853df88c0bd2cbdc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.27-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 605.7 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.27-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 841ed341ef400081e707e07b652d17844ab4ca0c158de1b367915adf72dd0d1e
MD5 75d0e57dc5d9d7e738205f1942f3d8bb
BLAKE2b-256 a511e10399af8cd39837dca9a3c02a37dcae670d814ceeef9a5dbd23111d0a3e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b78c32d8867a156eb6a298c2ef58b4b1a38852edf2e7db99e3b24dc3f04e951b
MD5 303e2a5c340d2ba0ddfe6b85584d15be
BLAKE2b-256 c771ab5e11bfbf043e61987f1fff478be591ff135d6626ba01f4833084424f70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bb4f8f62cffb93c02401682943bde10df641fe963e7730ba64cee95c801d13a
MD5 08372c689ae79bfe93d2e0c870c8745d
BLAKE2b-256 a75c41a6934e7f1ebb11f422144e4bf775bc041a68e7cb24b7540cac37569dfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.27-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dba1192b599af5ed01f1c802ec9534fe139420fced8b93f7c358f8e46821154d
MD5 957142a5fff02e36227fb0b21e687732
BLAKE2b-256 7cedc4fc28454ef966478064f43a0e28e774f82ec982669cdda15951b2dc4e95

See more details on using hashes here.

Provenance

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