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 be0or1. If your dataset is not binary, useThresholdGuessBinarizerfirst. -
y
Class-label vector of shape(n_samples,). Labels must be integers numbered0, 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.03means 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 at0.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 recommendlookahead_k = 1for most users. Iflookahead_k = 0, PRAXIS uses the a greedy tree algorithm as the proxy. Iflookahead_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_kshould always be set in0,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. IfNone, PRAXIS computes a reference objective and sets the Rashomon bound automatically usingrashomon_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 stayTrue. -
guarantee_rule_list_recovery=False
Enables a special rule-list recovery mode. Most users should leave thisFalse. -
majority_leaf_only=False
IfTrue, only keeps the majority-class leaf prediction when constructing trees. IfFalse, 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 firstnum_proxy_featuresfeatures. If0or negative, all features are used. If the firstnum_proxy_featuresfeatures 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:
+fmeans go left / featuref - 1is true.-fmeans go right / featuref - 1is 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 callplt.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 callplt.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.
Metadata
Release files for tree-praxis 0.0.30
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tree_praxis-0.0.30.tar.gz | 231.9 kB | With provenance | Details |
Built distributions (wheels)
Total release size: 24.6 MB
Release files / tree_praxis-0.0.30.tar.gz
| Download URL | tree_praxis-0.0.30.tar.gz |
|---|---|
| Size | 231.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfbd2c22c7fbc353b5d6543c505e290de63ec0e24454bc86e8bd011580b4dbe2
|
|
BLAKE2b-256 checksum How to use checksums |
a3217591134b5e60769897409cd1f9fe6e5e045eb2b441168caad56926b26365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp313-cp313-win_amd64.whl
| Download URL | tree_praxis-0.0.30-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 608.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b3c34e923f46cbf97d4e0b97edb6a15f61845d7dc720df1e43ff785ea5a298b
|
|
BLAKE2b-256 checksum How to use checksums |
852f5c4b7943ecfcf8174827c490758cc2dba2c3f69f006cb705591fef3bf200
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1aec41106f1e3dd29462cad8006f4ca2d9092a13b69b99858d95f1dc4aaef4a0
|
|
BLAKE2b-256 checksum How to use checksums |
5b4b38c06a963d49e4d91d4cec6fe59fb95dbffd60c130bf7a7062ce1661c175
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | tree_praxis-0.0.30-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 451.7 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ed48fe2ca760b59bc22bb1fde3dab6e3d95d3d032f10ca208c130769db5a8d94
|
|
BLAKE2b-256 checksum How to use checksums |
f419b7bce01b747e906d62544255e3c07aae69e8068d6ffb735944e9f3a2bdab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 464.6 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
836dcefbaf035a423a6cfe1f198eee6c6d228d2c0ae6121bc61a2ffded6ff064
|
|
BLAKE2b-256 checksum How to use checksums |
c4a32c61d1cee7579670cf38c9b426e54c953d7a262df7edc7785989e6247d90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp312-cp312-win_amd64.whl
| Download URL | tree_praxis-0.0.30-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 608.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b9518294be423ab78e7db09b01dd2b2e36138bda9e6fbea8445f777fffd4c594
|
|
BLAKE2b-256 checksum How to use checksums |
a0cdb4b7a3d6b1e2c8c0b87681ab327724c7a25176adede37ad70097ae9b0d59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b2b2a747f9548d96b5b4e522f82369984e3ee63478d25d845c0abcfbf8c4a1fa
|
|
BLAKE2b-256 checksum How to use checksums |
fc5ee8020265557bc85d4db263e40692c0a2042d5628a1e8a6bb0dc01b3d6a91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | tree_praxis-0.0.30-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 451.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eca55fab717cf873eecaffe010d6a818da96f12ccfe457782331e58d88951039
|
|
BLAKE2b-256 checksum How to use checksums |
14220acb6be3b4ff4723a008ceb69ff253251ab15563ebdcfc29a02286a3cb0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 464.6 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
29a0711a2578c9ace23bf451cc615f85ef151cee43bbb918f0a95ae8ef6f4270
|
|
BLAKE2b-256 checksum How to use checksums |
d585cf55213d0ccd51b7bdeb73b5c598f24047cbed2abe870b349b08a7c8d340
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp311-cp311-win_amd64.whl
| Download URL | tree_praxis-0.0.30-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 605.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
973c3e4732bc8c71323c130da80af541e5e4f3c3833eb9563b0a2e9be8f58fae
|
|
BLAKE2b-256 checksum How to use checksums |
0105dec779c504cd7600933ff22e328a65d7bd53e565384578ac8686991ed513
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6b4122e0ba208870d4846274b482dffcef0b629fc7a3586c4662c1de9fe64744
|
|
BLAKE2b-256 checksum How to use checksums |
db00fc232bfd4e87d074ce6cf18f1e571e2256a684a7730087bfd3ca9b2481b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | tree_praxis-0.0.30-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 450.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f2c6c3b09b95af9779710d4ff623763d3d272ed395d515432099892cb7fbcc06
|
|
BLAKE2b-256 checksum How to use checksums |
0636cf0e186f9548283b95de2b6d430b17dde36baf8b301aaf95e7b997541252
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 462.6 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
929821e3f993b7155092e22c1fb6d1f84a6f734ef1489efa300db3f73fc653b0
|
|
BLAKE2b-256 checksum How to use checksums |
7bb6219648bd672b950a51bb13f63dda98ea1c4ca1d3ae93ba1fb0cffc40a8a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp310-cp310-win_amd64.whl
| Download URL | tree_praxis-0.0.30-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 604.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7183d17cc0e8f067fe361614780d14e867c875f1ff6289991eca2b6b7aaff6d9
|
|
BLAKE2b-256 checksum How to use checksums |
c3b6e79de84f78d49e791158e6e7ca90fb463330b6d6ccaff2af335f83881303
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0b56d5eb701e48cc9b21ade9c3bf6bcde688424d6381cd77d456ca7e1ff6067f
|
|
BLAKE2b-256 checksum How to use checksums |
ba38709d69eaa5dfa9bc9aa31d57b44b9946ecee177ccebf59ed7b21c9ba5ef6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | tree_praxis-0.0.30-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 449.0 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f8dcab7d9ec3ea3171d3bf6d8176b402ff5ce3edfafdaccec7455d6b8b9b7584
|
|
BLAKE2b-256 checksum How to use checksums |
348da62c1f9f1162b85f56b9ab7caaf25cdb0c5fb29ca77192ac46421eac0501
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 461.1 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
b95e9a4d2d0b67b9cbe86e4e6a641854bb7fe35e8086c59e221f4eb430a4dc3e
|
|
BLAKE2b-256 checksum How to use checksums |
8b488d811e45f31193d7d7e10dfb4205460f5f254ca9b2ef062f29adfa81386a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp39-cp39-win_amd64.whl
| Download URL | tree_praxis-0.0.30-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 608.9 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d7c814633a703d506cd718544ec69ac585ef32d487ff4207845fdf9981af5254
|
|
BLAKE2b-256 checksum How to use checksums |
263c20772811a73a9865bfd00b7814c6e905ba614872cd8b6db403372befb85a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d5fb7d4d82e8d297fbe4ea915a0ff1d7230d0639b15940655333f12850eb78e6
|
|
BLAKE2b-256 checksum How to use checksums |
e9e0def0a5540723324a0be3f5199017583456a2eb21b144572a312a3b146574
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | tree_praxis-0.0.30-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 449.2 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3c40ed728b7b7daca5eb35fbc429da9e70f09afa6162d500db43d467e4efa989
|
|
BLAKE2b-256 checksum How to use checksums |
37189bddade5fd46a98e7b4ab1416d5cd49582c75918f57cf02e5b35af01ecdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / tree_praxis-0.0.30-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | tree_praxis-0.0.30-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 461.2 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
6294be0447f066d8bc1b497699327d4c5bbe549ec4a04b0dc8a66c0d98a354b3
|
|
BLAKE2b-256 checksum How to use checksums |
fa547bc1ed3be9bdfeb8edfeeba8f71bbf6178e9a628b0a5c46d5636b306198d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logSecurity for tree-praxis 0.0.30
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 21 files in this release have been uploaded with provenance metadata.
Attestation for tree_praxis-0.0.30.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.