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.19.tar.gz (43.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.19-cp313-cp313-win_amd64.whl (207.9 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.19-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

tree_praxis-0.0.19-cp313-cp313-macosx_11_0_arm64.whl (232.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.19-cp313-cp313-macosx_10_13_x86_64.whl (245.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.19-cp312-cp312-win_amd64.whl (207.9 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.19-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

tree_praxis-0.0.19-cp312-cp312-macosx_11_0_arm64.whl (232.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.19-cp312-cp312-macosx_10_13_x86_64.whl (245.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.19-cp311-cp311-win_amd64.whl (205.9 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.19-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

tree_praxis-0.0.19-cp311-cp311-macosx_11_0_arm64.whl (231.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.19-cp311-cp311-macosx_10_9_x86_64.whl (243.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.19-cp310-cp310-win_amd64.whl (205.0 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.19-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

tree_praxis-0.0.19-cp310-cp310-macosx_11_0_arm64.whl (230.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.19-cp310-cp310-macosx_10_9_x86_64.whl (241.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.19-cp39-cp39-win_amd64.whl (206.8 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.19-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

tree_praxis-0.0.19-cp39-cp39-macosx_11_0_arm64.whl (230.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.19-cp39-cp39-macosx_10_9_x86_64.whl (242.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.19.tar.gz
  • Upload date:
  • Size: 43.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.19.tar.gz
Algorithm Hash digest
SHA256 ceb2ea2807624d1d35ae3f36f8b81713a0f0cbe14d8b3b3de14439bd30d9fbac
MD5 4df5ea8f58c922ab7557beb3626f8863
BLAKE2b-256 641b41c2a1e73926a1f449eb686315cec4aed2f93e1d869f66e8fd35d25c1323

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 54de79d463b8f893c104e95753c56ce57ad327c36ac8bdc1027ec0fbb19f8096
MD5 e6d35177ff18f3af97d4906aafe7adf9
BLAKE2b-256 7179b9ce34c322d4ea66f20e95921d0ef09874f89feb50e750501debcefe702f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd3cb7d70273b9dc3df6b268bbe68127593b7d5c98b82ea69f92564c6686bb99
MD5 b2e16a58fbb34f167aff6ddeb34e1553
BLAKE2b-256 9bb7f55d1e29deb0e58a504289f55c9e3f9e2837ebee333efe70c4663a157160

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f54d7094333299f2114f7a49d2b85bd4dd69aaa0e8cf8b84bdf5ce175b86c514
MD5 3071e36d500842dad40767a8ecf7a14e
BLAKE2b-256 66dcc8913c893cd62663c31dd3a5cbba7ca76a5aa6e01297d326ecc94d1bc261

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0ca9941cefa38237b7a2173344be4c9cda676e4ec5abb99b5dec90399b5ac4de
MD5 d51b0418b23b72e4c1c8da188f45f967
BLAKE2b-256 0cd7bd98794fc82eda19fedcdb79589bb017673702404ebe36ba4c2f49a65db0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e02b9e343f5ca1eafcec4973a633e5cff623b3275157054dc829338447391e6f
MD5 f3ae300f9f8086022d0bb5ab0108dffc
BLAKE2b-256 704accdc3fc4562a6d253f52325b2341470f69519f1bf0fc44e4f893654729e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c575ee55116aa7767cf7f0503e3dcec246c32ed295025d255b1cd00c31c8d65
MD5 7545e3e49db7b511b5be8ad96933bb34
BLAKE2b-256 e0082a9055278a9ea2b1abc5745d7f21048e45dee675ed9d7cbcc9519eb5364d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9149b7e8a77ac98176145c6ecf6e5c2c83f4fa96020536bb706a7745327e9ccd
MD5 ada925a32c650450b3519a557459d707
BLAKE2b-256 77cf7789f32f9705c7d2f62cd5772193b2c00b63de8d784625b0829a33f5aea2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8f303a07bad465e124f6d5502609e84e9465e46e28dade94b26e8399578ec1db
MD5 c9e78e6e5a439103fa6cd131f5b2b477
BLAKE2b-256 715fedb1c8cc5454743ffe28cf3a746b2797241b8e1017c777724d301779064c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 422e3345bcb2b893a7872ac98bed87042bb290b375203fdc66c84329339da7bd
MD5 5b6ef5a859fd75ce6afa68aca910b840
BLAKE2b-256 8ae04e4ea7b4ba27043ff8c822aaa2a548bc9d3fb9dca6c4319786df2f0b5fdb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94e09bca041a196caf75b75dccc7045d31dd2dd39103ebba6f546506ce2427dd
MD5 a3dce9f6546b535365d67ac014f5d618
BLAKE2b-256 9544c42bc1f3282e23d3c54755e39d5ad276ad2de33d7b5d05c60a764450e752

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b56703cc057812b46913038dc95498f07a555472945cd5673a7ddc5aebec463
MD5 7c4abefd93f1e893e85c243259107b63
BLAKE2b-256 0a0cfbf549a100bc680e3629006aeba573c3c88a41c4a862b4e74c7d088664ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a03d6842ee08d9c188bb86187615effa0886c22f932476194ae5455a4bce1624
MD5 5c57e6efd6298bd374332c21fae06828
BLAKE2b-256 f04d478c50c27ecd1631b914b793ce35809e1c57e3524d5b450415969301b54f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2d96f2a6080e96817710462c587066dad09e205f2bbbafd678148b6d4fbbea10
MD5 83483dc42c9afd68552bb402cb36ac6d
BLAKE2b-256 999b4218d40002bbf370b7cd7c1851cb8e3577b6204b8d4d1304b5af5da3650e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f76ecd6772f254e2199425c4e3da0111e307a88f09db2c14ea0ccf872c997f4b
MD5 c80af821686da8044ab55fc83bc809c8
BLAKE2b-256 b061e7c23959d04de9f15f9f870d939ab4f2009f4e28d3c7f47ce7e3598356b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20ed16785def00fe93de4123521f41f3770d62bb26ad49e7e0e3ecdef2420ed8
MD5 c40b3c21f69cc8af2996397f7c257610
BLAKE2b-256 6583b3248d6794b2546c8304133f02c1c7800602236765332b5627f358afc91d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 818b8630f89592979fbb8ddefdddd8d4b9d4595f2cca7b22cc0c634dba8533bd
MD5 3ff3d20a112b17072ce429c34ea93b34
BLAKE2b-256 83a88b5ad78e475bb65144cee4c5e0687a9e397dd848523b96e01a9b15599afd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.19-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 206.8 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.19-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 58660e1d719063abee3714173dc624baba8a475901970c9a4c0f7b19ec72cefc
MD5 0ebd2daeb6fe6c1357d44a5458230966
BLAKE2b-256 582d1bda9f889b049e09ca5c8747cd1bd9f66c76d2080bc7c68383875ee21e4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 510e15b15d8408a6bfa79981df9a92ea993b9d978b1ba059e8829d81d1a71e2b
MD5 180e6b8167592f4019974ede68a47262
BLAKE2b-256 a8854e6dabd9b64463640d00d4eab3dd02b1d07e7e34a063dd29503a16639cb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bb818f7b0f520afa779787837816c33b4d94709dfa79e1e23e39f24b8a6d928
MD5 5962a85f89556f6da3a6e4169c667ddb
BLAKE2b-256 b30dcd578f4ca03ff9e66b29437a80c70e018978c3bf5d00bfc2805fd0800da0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.19-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28bb3a12bb7d918f6d06af87faeb4d5360b168716011ec993af27bf5897a81bd
MD5 f16cdc175d90117ba94c4c8f7efd3b28
BLAKE2b-256 18fc5621be2814d28b2b75ac6d2e66d9c95f5c5d98c78438d9e8cbd06f544ca0

See more details on using hashes here.

Provenance

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