Skip to main content

Python Implementation of STreeD: Dynamic Programming Approach for Optimal Decision Trees with Separable objectives and Constraints

Project description

CMake build Pip install

STreeD: Separable Trees with Dynamic programming

By: Jacobus G. M. van der Linden (e-mail)

STreeD is a framework for optimal binary decision trees with separable optimization tasks. A separable optimization task is a task that can be optimized separately for the left and right subtree. The current STreeD Framework implements a broad set of such optimization tasks, from group fairness constraints to regression.

  • Classification (accuracy, accuracy with a sparsity cost, f1-score)
  • Cost-sensitive classication (feature costs, cost matrix, costs per instance)
  • Regression (constant leaf predictors, constant leaf predictors with a sparsity cost, (simple) linear regression in every leaf)
  • Survival analysis
  • Classification with a fairness constraint (demographic parity, equality-of-opportunity)
  • Prescriptive policy generation

For an explanation of each application, see below. For details on what tasks are separable and how the algoritm works, see our paper and the follow up papers on survival analysis and regression:

  • Van der Linden, Jacobus G. M., Mathijs M. de Weerdt, and Emir Demirović. "Necessary and Sufficient Conditions for Optimal Decision Trees using Dynamic Programming." Advances in Neural Information Processing Systems (2023). pdf
  • Huisman, Tim, Jacobus G. M. van der Linden, and Emir Demirović. "Optimal Survival Trees: A Dynamic Programming Approach." Proceedings of AAAI-24 (2024). pdf
  • Van den Bos, Mim, Jacobus G. M. van der Linden, and Emir Demirović. "Piecewise Constant and Linear Regression Trees: An Optimal Dynamic Programming Approach." In Proceedings of ICML-24 (2024). pdf

Python usage

Install from PyPi

The pystreed python package can be installed from PyPi using pip:

pip install pystreed

Install from source using pip

The pystreed python package can also be installed from source as follows:

git clone https://github.com/AlgTUDelft/pystreed.git
cd pystreed
pip install . 

Example usage

pystreed can be used, for example, as follows:

from pystreed import STreeDClassifier
from sklearn.metrics import accuracy_score
import pandas as pd

# Read data
df = pd.read_csv("data/classification/anneal.csv", sep=" ", header=None)
X = df[df.columns[1:]]
y = df[0]

# Fit the model
model = STreeDClassifier(max_depth = 3, max_num_nodes=5)
model.fit(X, y)

model.print_tree()

yhat = model.predict(X)

accuracy = accuracy_score(y, yhat)
print(f"Train Accuracy Score: {accuracy * 100}%")

See the examples folder for a number of example usages.

Note that some of the examples require the installation of extra python packages:

pip install matplotlib seaborn graphviz scikit-survival pydl8.5 pymurtree

Note that pymurtree is currently not available for pip install yet. It can be installed from source (install the develop branch)

Graphviz additionaly requires another instalation of a binary. See their website.

C++ usage

Compiling

The code can be compiled on Windows or Linux by using cmake. For Windows users, cmake support can be installed as an extension of Visual Studio and then this repository can be imported as a CMake project.

For Linux users, they can use the following commands:

mkdir build
cd build
cmake ..
cmake --build .

The compiler must support the C++17 standard

Running

After STreeD is built, the following command can be used (for example):

./STreeD -task accuracy -file ../data/cost-sensitive/car/car-train-1.csv -max-depth 3 -max-num-nodes 7

Run the program without any parameters to see a full list of the available parameters.

Docker

Alternatively, docker can be used to build and run STreeD:

docker build -t streed .
docker container run -it streed /STreeD/build/STREED -task accuracy -file /STreeD/data/cost-sensitive/car/car-train-1.csv -max-depth 3 -max-num-nodes 7

Applications

Currently, STreeD implements the following optimization tasks:

Classification

STreeDClassifier implements the following optimization tasks:

  • accuracy: Minimizes the misclassification score.
  • cost-complex-accuracy: Minimizes the misclassification score plus the cost for adding a branching node by the parameter cost_complexity.
  • f1-score: Maximizes the F1-score.

See examples/accuracy_example.py for an example.

Cost-Sensitive Classification

STreeDCostSensitiveClassifier implements a cost-sensitive classifier. Costs can both be attributed to features and misclassifications.

The costs can be specified with CostSpecifier object. This object is either initialized with a file name for the cost specification and the number of classes; or with the misclassification cost matrix, and the cost specifier per feature. When testing a feature in a branch node, the cost for that feature is paid for every instance that passes through it. When another feature from the same group was tested before, the discounted cost is paid. When another feature that is binarized from the same original feature is already tested, the cost is zero.

Note that currently STreeDCostSensitiveClassifier does not support automatic binarization.

See examples/cost_sensitive_example.py for an example.

Instance-Cost-Sensitive Classification

STreeDInstanceCostSensitiveClassifier implements an instance-cost-sensitive classifier. Each instance can have a different misclassification cost per label.

The costs can be specified with a CostVector object. For each instance, initialize a CostVector object with a list of the costs for each possible label.

See examples/instance_cost_sensitive_example.py for an example.

Classification under a Group Fairness constraint

STreeDGroupFairnessClassifier implements a classifier that satisfies a group fairness constraint. The maximum amount of discrimination on the training data can be specified by the discrimination-limit parameter, e.g., 0.01 for maximum of 1% discrimination.

Currently two fairness constraint optmization tasks are implemented:

  • group-fairness: This satisfies a demographic parity constraint. Demographic parity requires that the positive rates for both groups is equal.
  • equality-of-opportunity: This satisfies a equality of opportunity constraint. Equality of opportunity requires that the true positive rates for both groups is equal.

Note:

  1. STreeDGroupFairnessClassifier assumes binary classification (only two labels: positive = 1, negative = 0).
  2. STreeDGroupFairnessClassifier assumes that the first binary feature column is the discrimination-sensitive feature. Otherwise the sensitive feature can be specified with the sensitive_feature parameter.

See examples/group_fair_example.py for an example.

Regression

STreeDRegressor implements two variants of regression, as specified by the optimization task parameter

  • regression: Miminimizes the sum of squared errors.
  • cost-complex-regression: Minimizes the sum of squared errors plus the cost for adding a branching node by the parameter cost_complexity. For runtime improvement, custom lower bounds can be specified if use_task_lower_bound=True. The custom lower bound regression_bound can be set to either "equivalent" to use the equivalent-points bound or "kmeans" to use a k-means lower bound.

See examples/regression_example.py for an example.

If you use STreeD for regression, please cite our paper:

  • Van den Bos, M., Jacobus G. M. van der Linden, and Emir Demirović. "Piecewise Constant and Linear Regression Trees: An Optimal Dynamic Programming Approach." In Proceedings of ICML-24 (2024).

Piecewise Linear Regression

STreeDPiecewiseLinearRegressor implements a solver for optimizing piecewise linear regression trees, with a linear elastic net regression predictor in every leaf node. The lasso and ridge penalization can be set with the lasso_penalty and ridge_penalty and parameters. The addition of a new branching node is penalized by the cost_complexity parameter. Alternatively, STreeDPiecewiseLinearRegressor can learn a simple linear regression model in every leaf by setting simple = True. The simple linear regression model is penalized only with the ridge penalization.

STreeDPiecewiseLinearRegressor only uses the continuous features for fitting the linear lasso regression model in every leaf node. These continuous features can be automatically inferred from the data or explicitly specified using the continuous_columns parameter of the fit method.

To prevent fitting linear models on too little data, STreeDPiecewiseLinearRegressor by default sets the min_leaf_node_size parameter to at least 5 times the number of continuous features or to at least 5 when fitting a simple linear regression model.

See examples/piecewise_linear_regression_example.py for an example.

If you use STreeD for piecewise linear regression, please cite our paper:

  • Van den Bos, Mim, Jacobus G. M. van der Linden, and Emir Demirović. "Piecewise Constant and Linear Regression Trees: An Optimal Dynamic Programming Approach." In Proceedings of ICML-24, 2024. pdf

Prescriptive policy generation

STreeDPrescriptivePolicyGenerator implements a policy generation solver. Counterfactual scores need to be provided. The current implementation allows for three different teacher methods, as specified by the teacher_method parameter:

  • DM: the direct method or Regress & Compare method. This teacher specifies for every treatment (label) what the expected outcome is.
  • IPW: the inverse propensity weighting method. This teacher provides the propensity scores mu(x, k): the probability of treatment k happening for feature vector x.
  • DR: the doubly robust method: a combination of the direct methodand the inverse propensity weighting method.

The teacher data needs to be passed to the solver by initializing a PPGData object for every instance. The PPGData initializer expects the following parameters:

  • historic_treatment : int : the historic treatment label
  • historic_outcome : float : the historic outcome
  • propensity_score : float : the propensity score for the historic treatment
  • predicted_outcome : List[float] : the regress & compare prediction for each possible treatment Optional (for testing)
  • optimal_treatment : int : the optimal treatment
  • counterfactual_outcome : List[float] : the counterfactual outcome

Only the data which will be used by the teacher method needs to be specified, the rest can be initialized with zero's.

See examples/prescriptive_policy_example.py for an example.

Survival analysis

STreeDSurvivalAnalysis implements an optimal survival tree method, by optimizing the proportional hazard function of LeBlanc and Crowly, "Relative Risk for Censored Survival Data," Biometrics 48.2 (1992): 411-425. Each leaf node predicts a risk factor $\theta$ which is used to shift the base hazard model $\hat{\Lambda}(t)$. The Nelson-Aalen estimator is used as a stepwise survival function $\hat{S}(t) = e^{-\theta \hat{\Lambda}(t)}$.

Instead of a label, the input data expects a two-dimensional array with for each instance 1) a binary censoring indicator and 2) a time-of-event (death or censoring).

See examples/survival_analysis_example.py for an example.

If you use STreeD for survival analysis, please cite our paper:

  • Huisman, Tim, Jacobus G. M. van der Linden, and Emir Demirović. "Optimal Survival Trees: A Dynamic Programming Approach." Proceedings of AAAI-24 (2024). pdf

Parameters

STreeD can be configured by the following parameters:

  • max_depth : The maximum depth of the tree. Note that a tree of depth zero has a single leaf node. A tree of depth one has one branching node and two leaf nodes.
  • max_num_nodes : The maximum number of branching nodes in the tree.
  • min_leaf_node_size : The minimum number of samples required in each leaf node.
  • time_limit : The run time limit in seconds. If the time limit is exceeded a possibly non-optimal tree is returned.
  • feature_ordering : The order in which the features are considered for branching. Default is "gini" which sorts the features by gini-impurity decrease. The alternative (and default for regression and survival analysis) is "in-order" which considers the feature in order of appearance.
  • hyper_tune : Use STreeD's special hyper-tune method.
  • use_branch_caching : Enables or disables the use of branch caching.
  • use_dataset_caching : Enables or disables the use of dataset caching.
  • use_terminal_solver : Enables or disables the use of the special solver for trees of depth two.
  • use_similarity_lower_bound : Enables or disables the use of the similarity lower bound.
  • use_upper_bound : Enables or disables the use of upper bounds.
  • use_lower_bound : Enables or disables the use of lower bounds.
  • verbose : Enable or disable verbose output.
  • random_seed : The random seed.

Binarization

STreeD provides optimal decision trees for a given binarization. To help with the binarization, the pystreed package provides automatic binarization of categorical and continuous features.

Categorical features can be specified in the fit method by using the categorical_columns parameter. These features are binarized using one-hot encoding. The maximum number of categories per categorical feature is specified with the n_categories parameter. If the categorical feature exceeds this number, the n_categories - 1 most common categories are encoded with one binary feature each, and all other categories are encoded with an 'other' category.

Continuous features are automatically recognized by STreeD. Each continuous feature is binarized into a number of binary features as specified by the n_thresholds parameter. Each binary feature has the form x <= t, with x the continuous feature and t the threshold. Currently STreeD provides three ways of automatically binarizing continuous features, as specified by the continuous_binarize_strategy parameter:

  • uniform : Select thresholds uniformly from the interval [min(x), max(x)]
  • quantile : Select thresholds uniformly from the quantile distribution
  • tree : Train a CART tree using only one continuous feature with up to n_thresholds branching nodes, and select the thresholds from the branching nodes.

Note that STreeD provides an optimal decision tree for the given binarization. The binarization should therefore be chosen with care.

See examples/binarize_example.py for an example.

Overfitting and tuning

To prevent overfitting the size of the tree can be tuned. This can be done in the standard way using scikit-learn methods, see examples/gridsearch_example.py.

For improving runtime performance, STreeD also provides a custom tuning method that in some cases can reuse the cache from previous runs. To use this, initialize the STreeD model with hyper_tune=True.

STreeD's default method of hypertuning directly tunes the depth and the number of branching nodes using five-fold cross validation. Some optimization tasks specify their custom tuning method, such as cost-complex-accuracy which tunes the cost_complexity parameter.

Miscellaneous

  • STreeD assumes classification labels are in the range 0 ... n_labels - 1. Not meeting this assumption may influence the algorithm's performance. Use sklearn's LabelEncoder to prevent this.

References

This work is a continuation of the following previous papers (with corresponding repositories)

  1. Demirović, Emir, et al. "Murtree: Optimal decision trees via dynamic programming and search." Journal of Machine Learning Research 23.26 (2022): 1-47. pdf / source
  2. Demirović, Emir, and Peter J. Stuckey. "Optimal decision trees for nonlinear metrics." Proceedings of the AAAI conference on artificial intelligence. Vol. 35. No. 5. 2021. pdf / source
  3. Van der Linden, Jacobus G. M., Mathijs M. de Weerdt, and Emir Demirović. "Fair and Optimal Decision Trees: A Dynamic Programming Approach." Advances in Neural Information Processing Systems. 2022. pdf / source

This work also incorporates ideas from the following papers (with their corresponding repositories)

  1. Hu, Xiyang, Cynthia Rudin, and Margo Seltzer. "Optimal sparse decision trees." Advances in Neural Information Processing Systems (2019). pdf / source
  2. Lin, Jimmy, et al. "Generalized and scalable optimal sparse decision trees." International Conference on Machine Learning (2020). pdf / source
  3. Chaouki, Ayman, Jesse Read, and Albert Bifet. "Branches: A Fast Dynamic Programming and Branch & Bound Algorithm for Optimal Decision Trees." arXiv preprint arXiv:2406.02175 (2024). pdf / source

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

pystreed-1.3.2.tar.gz (104.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pystreed-1.3.2-pp310-pypy310_pp73-win_amd64.whl (733.5 kB view details)

Uploaded PyPyWindows x86-64

pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

pystreed-1.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl (990.2 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pystreed-1.3.2-pp39-pypy39_pp73-win_amd64.whl (733.5 kB view details)

Uploaded PyPyWindows x86-64

pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

pystreed-1.3.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl (990.1 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pystreed-1.3.2-pp38-pypy38_pp73-win_amd64.whl (733.2 kB view details)

Uploaded PyPyWindows x86-64

pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

pystreed-1.3.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl (990.3 kB view details)

Uploaded PyPymacOS 11.0+ ARM64

pystreed-1.3.2-cp312-cp312-win_amd64.whl (736.5 kB view details)

Uploaded CPython 3.12Windows x86-64

pystreed-1.3.2-cp312-cp312-win32.whl (605.1 kB view details)

Uploaded CPython 3.12Windows x86

pystreed-1.3.2-cp312-cp312-musllinux_1_1_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

pystreed-1.3.2-cp312-cp312-musllinux_1_1_i686.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ i686

pystreed-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pystreed-1.3.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pystreed-1.3.2-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pystreed-1.3.2-cp312-cp312-macosx_10_9_universal2.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 10.9+ universal2 (ARM64, x86-64)

pystreed-1.3.2-cp311-cp311-win_amd64.whl (734.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pystreed-1.3.2-cp311-cp311-win32.whl (603.7 kB view details)

Uploaded CPython 3.11Windows x86

pystreed-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pystreed-1.3.2-cp311-cp311-musllinux_1_1_i686.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

pystreed-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pystreed-1.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pystreed-1.3.2-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pystreed-1.3.2-cp311-cp311-macosx_10_9_universal2.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

pystreed-1.3.2-cp310-cp310-win_amd64.whl (733.7 kB view details)

Uploaded CPython 3.10Windows x86-64

pystreed-1.3.2-cp310-cp310-win32.whl (603.6 kB view details)

Uploaded CPython 3.10Windows x86

pystreed-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pystreed-1.3.2-cp310-cp310-musllinux_1_1_i686.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

pystreed-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pystreed-1.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pystreed-1.3.2-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pystreed-1.3.2-cp310-cp310-macosx_10_9_universal2.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

pystreed-1.3.2-cp39-cp39-win_amd64.whl (752.6 kB view details)

Uploaded CPython 3.9Windows x86-64

pystreed-1.3.2-cp39-cp39-win32.whl (603.6 kB view details)

Uploaded CPython 3.9Windows x86

pystreed-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pystreed-1.3.2-cp39-cp39-musllinux_1_1_i686.whl (1.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

pystreed-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pystreed-1.3.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

pystreed-1.3.2-cp39-cp39-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pystreed-1.3.2-cp39-cp39-macosx_10_9_universal2.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

pystreed-1.3.2-cp38-cp38-win_amd64.whl (733.6 kB view details)

Uploaded CPython 3.8Windows x86-64

pystreed-1.3.2-cp38-cp38-win32.whl (603.4 kB view details)

Uploaded CPython 3.8Windows x86

pystreed-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

pystreed-1.3.2-cp38-cp38-musllinux_1_1_i686.whl (1.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

pystreed-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pystreed-1.3.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

pystreed-1.3.2-cp38-cp38-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

pystreed-1.3.2-cp38-cp38-macosx_10_9_universal2.whl (2.0 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file pystreed-1.3.2.tar.gz.

File metadata

  • Download URL: pystreed-1.3.2.tar.gz
  • Upload date:
  • Size: 104.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2.tar.gz
Algorithm Hash digest
SHA256 57bfc6f8312a566874ee120f5f3f296cd0467500027fd94cf5a1bf0926587ce4
MD5 c23f9212417e22d57002460ddff24b48
BLAKE2b-256 f28d35bdeadcdaa97ae6cdb8686fa92a36672eaf7157f71655942552444050e3

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e2318b33ad22f70624da7a59a3b97cc907097107682bb550edd9dba95978a3b6
MD5 687d30878e42119b9f5b3e1ef2f146d9
BLAKE2b-256 53552938e007b0d18edf948827f010ce2701a9c37349bc7ed9814a9c36416b4a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 231aea386f4d6c210f529aec7698e5cec7dd810b7845c6c4ef6e31a0db67e2f7
MD5 0a3a6a9ffb8375acdf1550e4d051bfb8
BLAKE2b-256 06d7f60cb5aac43b92570433f81c092c5ec9ff2e5189a53660ea0bcf8ada71ef

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c69360e41f5977a1a703d44c6d45d83acc0ec5329ed10aff74d4ac9e033aa350
MD5 8fe39611bef03a973100397dbf8e0812
BLAKE2b-256 18644b1c387fd1c04d5449e86ba7af44d2bf8fb5826e42d6580a4af07691423c

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40674defaff9a1d7160834658c11e1f03020a2187da4ae2be9571a214d5f4c9b
MD5 27a7faac52b7fb1da38a058b0afbc9fc
BLAKE2b-256 8608132784ab49ba7b846ec54283322cde3909d69872f86f6d5559533da81937

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8347232828142f72ada2ec5a49d1f21650cd3968a34e1ad794cf9b5de1a1f38a
MD5 50ca1f97bfdbea6c30e1c60b600946d4
BLAKE2b-256 550661cf36b75a3e5ffdc3d96d5c9d87a96e2ab2a47ea8a7578192347c92623a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5aef265f0864e49d7003b210f8765022acdceb713b2fceaa0a7dc494e456234
MD5 525aafd4de39759bb1976c082ec47ad2
BLAKE2b-256 c391329432828ec973091741eb1c4e50bae6067dcb2c6fa34c962ab3eb36a7e6

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d538e23631b6b24f975f4177a9141b52d888be7f42f6cca06f7e3a121189375a
MD5 6f692830baea7bdd95345c2ef0b44da0
BLAKE2b-256 d2d31a3cd2f5d4ac43fae739791b176926b2616f07a58552676916f2f4be5302

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c90c755308d6409249433d2c4c815435bb087d6b24ff5be12ec649da6a7c883
MD5 377eebd5066a3f10b6733152bd006128
BLAKE2b-256 adb49dc50700b76fb2600aa3161167045f8eda20b90573e54f5ac12a401ff2fa

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 053f29296aa54a7af78a30d7358c212fbfe431d945d2f9efa646a8e4f19b92b5
MD5 2d87b3416d9f1237abba6fb8062c2ff5
BLAKE2b-256 33afb300855f890489ba649e6942e9dd590f5b2164161cc2049b0480c924bf15

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b712b39490ee5d18b9bc6a0951b10e2c51794663a832c0fa42efa2e30aa8db7a
MD5 59f21c3ba5caed347e17f039e27eab24
BLAKE2b-256 5f9fc115b82a1b8a36ebdc38db8cad9419faf26aaa27a890c16798edbe4dbb22

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5aa3f2c7cb6ed1bb4b3090ee212865980d503cd02ed03343bfff50340b5a696c
MD5 c514c3901242e9779731cd3da199e8e0
BLAKE2b-256 7bdc086ebc8fe213518abec34bdb55cadb356358841a2ce2607e8c471b594ed5

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6914e69ff4d301f5db230d8c42706375e505967c27dfcc515d35295598b93a9c
MD5 1b111796eebfdf943d5d06c27d337c7a
BLAKE2b-256 2001b2a0c3618fac1a9f128340a2aa0655abeca347e41377ff6243b91446e138

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 736.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f21aa43052cf38744c40fb9705e96b469415c3062b493a75f0ed8b62a37a0645
MD5 abaede311a5a4efef6ff1f32c0a5e3d9
BLAKE2b-256 7ebe0b0dfc675ffd46f93740782a247fa125f2ec930145e78cbfbfa987e62373

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 605.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 0dcc3e17d4c77bab730fac741ec4418c66ed2b4235c49588bee9768c2956ecfc
MD5 5be17babe7e1d34034373128ecc07c32
BLAKE2b-256 c10278868a406d55bf5a4cbfb0c7dfc05fa59a4511386e946bf3acd95be7f452

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a5b37dcc3815ebe47bdbedea5e62565480b20eb3f5ef110c1e550740bcb130c9
MD5 399635832b1409d35e86a616a37c3599
BLAKE2b-256 1ce1154ea42fae9cb48bc3e33384db44d07410325a1209f37db51f3efc877160

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 a70ca98c5de73ce55cdaa33110755e3c09faf80d8670ca5a1642b416e62e2fe4
MD5 9a2efcebb1493554c0b1711b941d9732
BLAKE2b-256 fc592c6fbf82892bd38ff44b11a90199edd1246a44674aa456538e8caa8696cf

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c8a71c1e908d586b36526b381782f042431aaea33256bada21069a51af7c5e5
MD5 d397a06e474288289e277dcfa051ee1b
BLAKE2b-256 5dd2136eb6414c0a77cc04f2b649da4ad84a27f2b6a43578e4caa4838fcfb64a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dff46ad57b5cf525f0959eac87b572a23806275946a51748c1b432198610425a
MD5 e9036ce740d30449531b1d1465f20378
BLAKE2b-256 ce8c66ee25bb59aff838cd400b8dd9c586177b73f82623f990cd8870b6a65d8b

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f39611c9ef6ee122a259b886d889ea08cf09f5f46beee835a2cccb30125f3ad
MD5 2069a3e59d2572b64860faa7b18e67a4
BLAKE2b-256 2e8981a50b18415f1c150016a569e90b69abf418d08974c0e0621a5bdf4ead55

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 564b79169185e7dc6d91bf78d2e67c1468c8363242f6977f4d82d835cb5dc71c
MD5 c197a879a203506511144bdd600af76a
BLAKE2b-256 a6545b15f0f3918536b8dea23d4c7c7276aaa40d0e045f78670848a7c97083fa

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 734.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5601b286e98826bc7e2df65dfe20fc207e4171cb83c9294ed491ce21372ffbb
MD5 bec36fd6845e0a2e44ae8ae238402f1f
BLAKE2b-256 8994b7aedb6b9d75d202bc6cf43b8ee3322f2d0d12a35433c7ff541809a31223

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 603.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ca8155db6e796342410f22f5d0942fb79c3c413b639a913aad809b5c2a26a695
MD5 61cb6d5d39194be630b721992b6d0ad1
BLAKE2b-256 2e13b342e2bd486dbb0e5c652cec857fb49a0643c73670f848edce518ef1ab36

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 94bc7f15e4246d9b2c6543d5715bbf9354b67ddd80d3dfc5be5b67b5178e3c98
MD5 5b8270cf3ab8dccc3fe53b41702345f8
BLAKE2b-256 ab452c39170befa397ae9f5654cdb19aba3d21dd85ab63411f834910b609ab91

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2e4f1d08ff7f76fadc38b012f07473c8143ec60ca76d940b2fe726bfdad48f4b
MD5 d10085eebfde22d05df1e9bcfbcb323b
BLAKE2b-256 6f02d645a75352c215fcae7abdea2860eb9da3ee275e557b74945612230f231f

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4529a488de11d9b42c34c0d8b04af11ea56bd486d28b5def3e6ed829345ff6c
MD5 58f0d98eac683392106d34243ef3919f
BLAKE2b-256 fc15fa1e45270350df0fadacfaf0508c9cbfd4aca6c45a9e3c6eee7a9200ade3

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b590e3c5a9c335ae9005c0fcb22bd6f9981fdc1cf0ddc8b9eae5ec6047842c4e
MD5 2a34beba1c9372250af483bef16c77e2
BLAKE2b-256 dd3e3c618686edb0e918735abf3b83de803b327ef5e3846db4ccae857f3bd619

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f03be74a25f25be591c6553e16fbef1ad8c285a448fcd0b93ca1a6d286204d29
MD5 84be2a1c8ae9f091ebdc848836ddabd4
BLAKE2b-256 d0126fba4d8819e6d5875fa5fe1d49da9815471b24df391e1942781e646ee45d

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c4208670fadf4f0f5c92e3b62a83d5caf527c5023d9829058d33b039e91e452d
MD5 73d7a1916757dd0450fcd49796870511
BLAKE2b-256 5f8b36be0e1d7d57f45d8cbd7aebf9a25d4737e111839f13cf8b0577d74c267e

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 733.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6b5a21866e938ea99ee789b4d44c42c44d5dfd8d6931b49f062322c58bb646fa
MD5 2e76891ac8b54ca6b21b15a4a84fc2e6
BLAKE2b-256 8657e0f0cef8e19c64ebfb20147a0e75f679646095707387f5ecccc3d83e6cff

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 603.6 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 c952744436fae864ea4c1c666368b7eadc3cafa6ab7fc3c9b8ae5162bee1702d
MD5 223da0f642c33495675c374dbb24e8e1
BLAKE2b-256 26a4e5d521915296dbd598d1c60a6147ebf3677143aba9b4c859b18de273cad7

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8fa4f87b0263b3c1f72e01ec60a7f3a5573e3687eb1f6b72b6c51b4ce20f7742
MD5 3e17899363da8eb4d061d5fedaf73ad3
BLAKE2b-256 3e6c746123606abcdd9e326cb9535c03829a787f0932d102b7f5b308eeeb2bdb

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8f58a22fb5f1198beb0fe6e7263d242fd6360bc246470d6c013645a6f47af52c
MD5 e1332ce77afcc49808e8043d774c1f29
BLAKE2b-256 a64190901f799ab008a27587eaaae528d0a73aa9e9203329d118b9ce1e578f48

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf672c15dc69a678ce189e13940b8f3693cc987e64eb2024641a340bc0582e0f
MD5 1924f8b8eaa370329302fe9d1342ef23
BLAKE2b-256 2986b92308ffb9c4ec35a1819cda27d1f22c08075611ff613e1240fc2e99884a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6c00ebf34a64f054b24a7294bed8a73c64790749fc6facf701fa89e4ebb34715
MD5 7b2790db0e646fa4c8b0e530cfbad7c3
BLAKE2b-256 72be2689ac5aa6bf7dd0cc157497240f97aaae793d128a6252c28d2a4ffd7e75

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d1ca5ceb681df5ae49ccd974701a25ea74a06396f69ec3d858cf41ee2e3bb15
MD5 ea5465a294beef57ea8293a080a9637f
BLAKE2b-256 c95e07541878903bbeae3725a8cd06dd9fc46376388f1bd2d5eadc2159463a81

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 74b9d95959de40cbadd5ec1f1c6a3456a3cb3c6606ed0a9380b0a772730d4288
MD5 cdbb2ff01b9ae4a40e0fb2b277a51ebd
BLAKE2b-256 b7a6a890a520ef3953634c070730fa9150b44c63577388958c3684f21b7d250c

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 752.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a6e8a21d37d38026f94ff2844c035aee41e590d2db83793cc7ea689b96c50170
MD5 18fa81ee5e1afb89641ba14bfb271e4c
BLAKE2b-256 132e8f7a76678f8d54b102994a96d23ca0c0b7e74bf07c845005e13496209a35

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-win32.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 603.6 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f6838f4ea59134e7a0fe2e5b818c8a6b445c1a9e06398405549c529aebbe1421
MD5 70159727dbd675d4af3835f93fbfd52d
BLAKE2b-256 027fbea7b041c10141ce0fddc7383d96ec8cf1c2b2c189e48290933b27af4bea

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 76c35ffb230b9d2dc923679bfc6a3aa239d20ffe650536b81ab01e9705170c88
MD5 b6541c59c649dfb02c81af9d3095e6c1
BLAKE2b-256 d6fa3bfd3bb75056ddafd411d52034a4d572e39eceba28d22d007992295d7e8d

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 52c9a24edf80ff90ecba771e7b20d735699b7624eed208cc7b3c7c5549dcb3b2
MD5 f82dfb2c9982851eaa429d86c565827d
BLAKE2b-256 6d7c6e49a39df9be24021e0986ce856ff2f8488a4e1c95e6b7fabc99a3023d4c

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abe5e39ddb560da240bf6c5838339b89460a47bb0aa789a06c31b8137a7395de
MD5 d4c665a9bd35a78a3d7a1e681c3de454
BLAKE2b-256 d617ddd1a3b3a95537eec6a41b0222a4a9baa4f1543fce5798b8b79201a11a39

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb40a271b065c4d8b7d99620a3a99ef859b2bd22a6379a3cdbb8176e164999a5
MD5 ca8f2b8658c01bf25627c62a8e946be4
BLAKE2b-256 1d85fe655287ed251c17a3f5f941d428d8237347ba40c37162a95208dfe424bd

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b08d6a1bc6304e775962a1d44505b80985dd7e4bb7f35045fabfefcbc8fb2d86
MD5 daa9a3832c53318982586c33adef57fb
BLAKE2b-256 92ef934fc2bfba89c87653db23bbd346360b98c2d9af04647f68d6eee5ee9ffb

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c1c55d40694e15504496bcb88e194607d17dda6fe721fea2fb562db9a6155c5f
MD5 02f5fdedb7d0bf2c29d1abb2796afce5
BLAKE2b-256 f5e24a713254cdd9e01f9dc0f44721a3dd0f001c4783ea8ad181965557df5784

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 733.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b52e7cb61067465a6fef280663dd486d2bd8c3e15c2a07664ccb16824d028828
MD5 4a6730aff3bac8513177935fb635904c
BLAKE2b-256 dea28b00f3364414de83ebda9016a7484ca5b0d23e9083e007344838484043cf

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: pystreed-1.3.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 603.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 8a78bc0e0946a827c7ff13459e97ce859940b9fcc0c2a2ebac8b251487074b75
MD5 ba166db173f0c1a520ec5fad2e3a8f52
BLAKE2b-256 d3aa4e40b91305b88ae2e90e427d9c6e2ff9fff67196eb0e5532adf4c1e80c8a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9d47208879ad4e8280f2053490c83022a36d3c04219b661af99198209d1a32c2
MD5 aa549db5331af4caf0784f612b94df0f
BLAKE2b-256 f9421d36490ae92af848f1fac946bbf2811fdc0ef9d1b6a589589f66eedc689a

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2de282e3a49ca2a53236a6dc7bf8baa6472129ca20aca312a53f2563b500845e
MD5 d180227a78ca38e467adfd8d9b976c7d
BLAKE2b-256 fc8f24a12332bb7bafc2b2656bfc215126c1e236178aea9ae222d1ab819b5bc2

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8cab9f3c4e097ed2881f935a0d3952894283a219460c28b2388e966ef383fbfc
MD5 0fb949a01d7c65be3adf5ed11ef36ec6
BLAKE2b-256 285b20d837f6f0486fd6e91a66dde2fb54986eb1df557b34b4c75c047b158965

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c3d312d7da033f0f62af7298c3e3864435f858e69567f1572fcd075cf7e02640
MD5 6e0e88e4286a25246e817d093657a0e6
BLAKE2b-256 9e95bb79acb2e2024d3f75885bd216fd727a4e6a2fc0d83f7467e6e8ddd0ebe0

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6c7c19f8060afec2da344201f26c68b1d9abb4f27a0da6046210083fd16d97b
MD5 b04a68eefcc54d95532e89bb154a2de3
BLAKE2b-256 c9f67058ede4ca29dcb401ede076f7c32d167787db8de5466e8019ba0d42bb46

See more details on using hashes here.

File details

Details for the file pystreed-1.3.2-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pystreed-1.3.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 70afe1dfed8063fdca4e16f04b2eee3d85d19d1aad216ce0cb36a720bd7ee928
MD5 8b9616802ca4554f86cd5a859ad51bf8
BLAKE2b-256 b4311de79e8cc76d4785dffc123dc3d94a97664ce9c8bd1e1c1912384e936104

See more details on using hashes here.

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