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.30.tar.gz (231.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.30-cp313-cp313-win_amd64.whl (608.9 kB view details)

Uploaded CPython 3.13Windows x86-64

tree_praxis-0.0.30-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.30-cp313-cp313-macosx_11_0_arm64.whl (451.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tree_praxis-0.0.30-cp313-cp313-macosx_10_13_x86_64.whl (464.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

tree_praxis-0.0.30-cp312-cp312-win_amd64.whl (608.9 kB view details)

Uploaded CPython 3.12Windows x86-64

tree_praxis-0.0.30-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.30-cp312-cp312-macosx_11_0_arm64.whl (451.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tree_praxis-0.0.30-cp312-cp312-macosx_10_13_x86_64.whl (464.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

tree_praxis-0.0.30-cp311-cp311-win_amd64.whl (605.9 kB view details)

Uploaded CPython 3.11Windows x86-64

tree_praxis-0.0.30-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.30-cp311-cp311-macosx_11_0_arm64.whl (450.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tree_praxis-0.0.30-cp311-cp311-macosx_10_9_x86_64.whl (462.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

tree_praxis-0.0.30-cp310-cp310-win_amd64.whl (604.8 kB view details)

Uploaded CPython 3.10Windows x86-64

tree_praxis-0.0.30-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.30-cp310-cp310-macosx_11_0_arm64.whl (449.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tree_praxis-0.0.30-cp310-cp310-macosx_10_9_x86_64.whl (461.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

tree_praxis-0.0.30-cp39-cp39-win_amd64.whl (608.9 kB view details)

Uploaded CPython 3.9Windows x86-64

tree_praxis-0.0.30-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.30-cp39-cp39-macosx_11_0_arm64.whl (449.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tree_praxis-0.0.30-cp39-cp39-macosx_10_9_x86_64.whl (461.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: tree_praxis-0.0.30.tar.gz
  • Upload date:
  • Size: 231.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for tree_praxis-0.0.30.tar.gz
Algorithm Hash digest
SHA256 bfbd2c22c7fbc353b5d6543c505e290de63ec0e24454bc86e8bd011580b4dbe2
MD5 049d2670f7c475ef327c94b78007f9dc
BLAKE2b-256 a3217591134b5e60769897409cd1f9fe6e5e045eb2b441168caad56926b26365

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6b3c34e923f46cbf97d4e0b97edb6a15f61845d7dc720df1e43ff785ea5a298b
MD5 4dc120a5ff15bd579f145af63bbe99dc
BLAKE2b-256 852f5c4b7943ecfcf8174827c490758cc2dba2c3f69f006cb705591fef3bf200

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1aec41106f1e3dd29462cad8006f4ca2d9092a13b69b99858d95f1dc4aaef4a0
MD5 49ec32b181029cca2756b472dbbc9a94
BLAKE2b-256 5b4b38c06a963d49e4d91d4cec6fe59fb95dbffd60c130bf7a7062ce1661c175

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed48fe2ca760b59bc22bb1fde3dab6e3d95d3d032f10ca208c130769db5a8d94
MD5 2f9789725419b3e02e6a85fa667379db
BLAKE2b-256 f419b7bce01b747e906d62544255e3c07aae69e8068d6ffb735944e9f3a2bdab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 836dcefbaf035a423a6cfe1f198eee6c6d228d2c0ae6121bc61a2ffded6ff064
MD5 7daf29efd3aee9fc65f6ef3a70297320
BLAKE2b-256 c4a32c61d1cee7579670cf38c9b426e54c953d7a262df7edc7785989e6247d90

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b9518294be423ab78e7db09b01dd2b2e36138bda9e6fbea8445f777fffd4c594
MD5 ea361580b470b567c8ea189d768f8621
BLAKE2b-256 a0cdb4b7a3d6b1e2c8c0b87681ab327724c7a25176adede37ad70097ae9b0d59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b2b2a747f9548d96b5b4e522f82369984e3ee63478d25d845c0abcfbf8c4a1fa
MD5 d3ac576f8bcccb7ca24ad9c8125db39f
BLAKE2b-256 fc5ee8020265557bc85d4db263e40692c0a2042d5628a1e8a6bb0dc01b3d6a91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eca55fab717cf873eecaffe010d6a818da96f12ccfe457782331e58d88951039
MD5 6fa90984056e8d1c312bd026b2b4595f
BLAKE2b-256 14220acb6be3b4ff4723a008ceb69ff253251ab15563ebdcfc29a02286a3cb0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 29a0711a2578c9ace23bf451cc615f85ef151cee43bbb918f0a95ae8ef6f4270
MD5 2fcacf51b675ab3e0b0cb8750f4dc239
BLAKE2b-256 d585cf55213d0ccd51b7bdeb73b5c598f24047cbed2abe870b349b08a7c8d340

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 973c3e4732bc8c71323c130da80af541e5e4f3c3833eb9563b0a2e9be8f58fae
MD5 30fb8f301deb9e9a6e9764654d1b5c0e
BLAKE2b-256 0105dec779c504cd7600933ff22e328a65d7bd53e565384578ac8686991ed513

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b4122e0ba208870d4846274b482dffcef0b629fc7a3586c4662c1de9fe64744
MD5 24778d0c3a0d8a5875115d409ab1b1e5
BLAKE2b-256 db00fc232bfd4e87d074ce6cf18f1e571e2256a684a7730087bfd3ca9b2481b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2c6c3b09b95af9779710d4ff623763d3d272ed395d515432099892cb7fbcc06
MD5 cc6f79beeddb299b7a48279459425b0a
BLAKE2b-256 0636cf0e186f9548283b95de2b6d430b17dde36baf8b301aaf95e7b997541252

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 929821e3f993b7155092e22c1fb6d1f84a6f734ef1489efa300db3f73fc653b0
MD5 f936d6d39c92cea681e0c1a3dde096a4
BLAKE2b-256 7bb6219648bd672b950a51bb13f63dda98ea1c4ca1d3ae93ba1fb0cffc40a8a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7183d17cc0e8f067fe361614780d14e867c875f1ff6289991eca2b6b7aaff6d9
MD5 d7368357c42d3d9828b8b21bf0c3cc5a
BLAKE2b-256 c3b6e79de84f78d49e791158e6e7ca90fb463330b6d6ccaff2af335f83881303

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b56d5eb701e48cc9b21ade9c3bf6bcde688424d6381cd77d456ca7e1ff6067f
MD5 862b8732fb7774bcc94af3affc9ca08e
BLAKE2b-256 ba38709d69eaa5dfa9bc9aa31d57b44b9946ecee177ccebf59ed7b21c9ba5ef6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8dcab7d9ec3ea3171d3bf6d8176b402ff5ce3edfafdaccec7455d6b8b9b7584
MD5 7a1f43ca8bb58f7b31c01f2fc6f805a9
BLAKE2b-256 348da62c1f9f1162b85f56b9ab7caaf25cdb0c5fb29ca77192ac46421eac0501

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b95e9a4d2d0b67b9cbe86e4e6a641854bb7fe35e8086c59e221f4eb430a4dc3e
MD5 64116cfa798b0141e678b9bd54897864
BLAKE2b-256 8b488d811e45f31193d7d7e10dfb4205460f5f254ca9b2ef062f29adfa81386a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tree_praxis-0.0.30-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 608.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for tree_praxis-0.0.30-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d7c814633a703d506cd718544ec69ac585ef32d487ff4207845fdf9981af5254
MD5 da0fd7c4662d447c6af76b53ac7303ff
BLAKE2b-256 263c20772811a73a9865bfd00b7814c6e905ba614872cd8b6db403372befb85a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5fb7d4d82e8d297fbe4ea915a0ff1d7230d0639b15940655333f12850eb78e6
MD5 45f28ca7146ce1d68a97ffe1b56fb73a
BLAKE2b-256 e9e0def0a5540723324a0be3f5199017583456a2eb21b144572a312a3b146574

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c40ed728b7b7daca5eb35fbc429da9e70f09afa6162d500db43d467e4efa989
MD5 176cbff3b97462cb9ee937cd5d59f51b
BLAKE2b-256 37189bddade5fd46a98e7b4ab1416d5cd49582c75918f57cf02e5b35af01ecdd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tree_praxis-0.0.30-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6294be0447f066d8bc1b497699327d4c5bbe549ec4a04b0dc8a66c0d98a354b3
MD5 a58c2991e53a9cf11c24047542d4a20c
BLAKE2b-256 fa547bc1ed3be9bdfeb8edfeeba8f71bbf6178e9a628b0a5c46d5636b306198d

See more details on using hashes here.

Provenance

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