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.21.tar.gz (52.2 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.21-cp313-cp313-win_amd64.whl (411.2 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

tree_praxis-0.0.21-cp313-cp313-macosx_11_0_arm64.whl (253.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.21-cp313-cp313-macosx_10_13_x86_64.whl (267.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.21-cp312-cp312-win_amd64.whl (411.2 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.9 MB view details)

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

tree_praxis-0.0.21-cp312-cp312-macosx_11_0_arm64.whl (253.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.21-cp312-cp312-macosx_10_13_x86_64.whl (267.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.21-cp311-cp311-win_amd64.whl (409.6 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

tree_praxis-0.0.21-cp311-cp311-macosx_11_0_arm64.whl (252.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.21-cp311-cp311-macosx_10_9_x86_64.whl (265.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.21-cp310-cp310-win_amd64.whl (408.6 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

tree_praxis-0.0.21-cp310-cp310-macosx_11_0_arm64.whl (251.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.21-cp310-cp310-macosx_10_9_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.21-cp39-cp39-win_amd64.whl (411.6 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.8 MB view details)

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

tree_praxis-0.0.21-cp39-cp39-macosx_11_0_arm64.whl (251.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.21-cp39-cp39-macosx_10_9_x86_64.whl (264.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.21.tar.gz
  • Upload date:
  • Size: 52.2 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.21.tar.gz
Algorithm Hash digest
SHA256 2c1c287f28da8ec9f37ba357f26777b680850e6f7995f021cc14115fb3dde103
MD5 6ebf70559ac5e42f0e92a30108b263a7
BLAKE2b-256 bea3b217acaa8ebcd8fac46ee5ad3e448286d882053fb1d1c0a9c874add49525

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 770e37d62b538d0083ba755c56129ab0d6558a000c3c9fdba288adb8cc6ece4a
MD5 cbe4179e7d4dac3252c37c190b7bae47
BLAKE2b-256 88b68d3adc7456eebcd1c0112ef924075ef5dbede5529378047d0a12ef32339a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b4c6f9b88cfb6a19d65f0e3f4b0d70d5bc3ebcdbfac0b32233087941624885ae
MD5 58b77acf28d5fc047d50ea0589ef0697
BLAKE2b-256 c2355c6e6e48f61c8e9646ceadba7a165159b8abfe66a18a361c705265e99123

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54830af02b110e78213a94641d2d3ba61cf8cabb41d06a1c8211db75bca01bdb
MD5 91effc002c7ea5d3b6f4974c2e8f1a1c
BLAKE2b-256 b6243a9442d10468d5d3830e17b2483f1b0ad4525371acb7ed51ab1eebe131cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3a53f752d70287064b1c821410f43f4644b3f2aaa6634ace6839b3e53c3f8cb4
MD5 caed188372fae6add44956018bc05036
BLAKE2b-256 da0f28dee78a8932c13f517ebc78283bb94910b579123df1ef65fe8bbcb49a75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d8f982521a1d043344a92766cde6c9ac8a803c228be69b15b3855b653f2bf451
MD5 600a219d05be5bd5ad6cbd971df17560
BLAKE2b-256 c58ef53e8320e071160e5e0ee9d1a35029e4912b90959a5a91803521e4df9e4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 93c85ffc174b0f39fa68356a80774b247c94811801db94a2af5c5881feaea5a2
MD5 c4291bd7d96df6e5f60d2464274e1be3
BLAKE2b-256 856562a1ff8513ec480573bc245ca29f4a930848d14da465f6e72e25462930e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc655602a99de6613b5bfa29e43ddae24c54e3d354a46c5628254bfef703899e
MD5 63f56e19926c0f41e3aba715c44a5611
BLAKE2b-256 5425c8404065f6d39194fac2a0c2ce10f34b09a450969eb6ff918228f3d42730

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6f2d7462ebe872f5c84f33c822dd34b55647317fa2bd40451566489220b97f58
MD5 4d1c2ae54ca662024bae8fa27cc183a0
BLAKE2b-256 5212c655deb491c02c1019f8bf0b49c1feb85de53f99916403a031ea88be4b6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d644b634ed8b66ecc60d932713a188b58ac34edf572da86a65571766e0124a73
MD5 5ada3e17ea2a990f458f8f546f1a661d
BLAKE2b-256 8e5bb1b94996b618a2697daaa0950c53a47aaafeaab27937ba08b7bfe7364b6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b997a8a6c703c67590186928ed7f6cf6a191f392e1a3df0d1e05cbf7beb3676e
MD5 21d22301cac472d678082ef2e093396e
BLAKE2b-256 c687132b5a153cf34763b54864e02685ee9d4cbacf932a5b38babc17feb684d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cbbabfe87e3f5d379bf1bc97ab28b473709cb89072a0d24a598275751cec060
MD5 bc02322e2a0f7e0d02483cf7cd5d7ee4
BLAKE2b-256 92f6ba9a1d665d7ade4a3bb2a3dc1c51329242be7148e348375d806a7fc9202b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e004de17238bed69e1a2e2c1b859b19db29e1e81c733e37609c5bd3e4772619c
MD5 3f5073dd11d4001b74417861c0725a74
BLAKE2b-256 0568ecb396e9ad83e1cb53e27a223e2ac12953a8821345ba8060bfb1e6afc154

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 07c6009e2559517862708f1ab43e7eb0dbe42a4de0bbdf28cd48b5da718d4ae1
MD5 a31889fc9961ccd184c2b7c371222108
BLAKE2b-256 4345a85dc7b08c0232a4dd52b8015386cea565db907699e6211de8edf800d612

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a03c9cf795a4f55e5a144ee9abbb9c6fc872b3b39045055a219b81b8e27d2dfd
MD5 a9d690c8872e556789661ac7b4b4ae79
BLAKE2b-256 b5800ab94d60ded0846dacad66b0998bf541161782b37d187cb9fa3986dd1f7c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59fd497885d2c5b97c134cdc6aa6a657ee9439af020b38056c8c0ad5ff14995c
MD5 2026fe1ad7348c67f04ec65867e7c92e
BLAKE2b-256 2130a95505ca5ac81429a1693071724fd8202f74beb0a3062985e61d0fdc959b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5436089157678d344fee0ba20cc622ee02ee34897aabe650c9f4b60824f44145
MD5 0061b1507b895a2b98e0d28c17067d7f
BLAKE2b-256 2f46f509644a2dc7a00b58ceaa738ba0380b56ba50ebd1d16d8a6e24d97db7ea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.21-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 411.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.21-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c0968ec1343e49469667b1d7cf9acc809c9c5473c58f6992d49fbae839a7a235
MD5 e0ab8afd74cd9fc6309073103590828f
BLAKE2b-256 f10c68afd2654dd68e7aabbb9679928f8f3e040882bcc802a850642487718912

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3681d8f45984a9b6585cce7f39030b1279c6b14fd47fe96dbab7f2b1d124f88e
MD5 a72146bd12bc163b83610e91b1f9cc3b
BLAKE2b-256 d6c8fcbc5443f30f294e29e451e261a7299afa79ece90b514d7c82fe6da3e9f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eaa6b978cbefbe079b9dc4eadfcb19e269273215d1dcef8d90ffe21d7ffff095
MD5 811e87ad67d03303dd1e7e0a42b53fcd
BLAKE2b-256 6562ff299929649448d3a7a705e7d8b02b9d12f32f2632a4d7776ff23d0d58e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.21-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf7622eb584a8b74dd1555cae3053331134ad815d94ead55cfa940415a8c5862
MD5 7e71ce97dcb00137c42c1c38f265f440
BLAKE2b-256 c00040d6f332e11ce23741d440d375dc8c4dcfdae080d8c280bf329410b2bc60

See more details on using hashes here.

Provenance

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