Skip to main content

ACV is a library that provides robust and accurate explanations for machine learning models or data

Project description

Active Coalition of Variables (ACV):

ACV is a python library that aims to explain any machine learning models or data.

  • It gives local rule-based explanations for any model or data.
  • It provides a better estimation of Shapley Values for tree-based model (more accurate than path-dependent TreeSHAP). It also proposes new Shapley Values that have better local fidelity.
    • and the correct way of computing Shapley Values of categorical variables after encoding (eg., One Hot or Dummy, etc.)

We can regroup the different explanations in two groups: Agnostic Explanations and Tree-based Explanations.

See the papers here.

Installation

Requirements

Python 3.6+

OSX: ACV uses Cython extensions that need to be compiled with multi-threading support enabled. The default Apple Clang compiler does not support OpenMP. To solve this issue, obtain the lastest gcc version with Homebrew that has multi-threading enabled: see for example pysteps installation for OSX.

Windows: Install MinGW (a Windows distribution of gcc) or Microsoft’s Visual C

Install the acv package:

$ pip install acv-exp

A. Agnostic explanations

The Agnostic approaches explain any data (X, Y) or model (X, f(X)) using the following explanation methods:

  • Same Decision Probability (SDP) and Sufficient Explanations
  • Sufficient Rules

See the paper Consistent Sufficient Explanations and Minimal Local Rules for explaining regression and classification models for more details.

I. First, we need to fit our explainer (ACXplainers) to input-output of the data (X, Y) or model (X, f(X)) if we want to explain the data or the model respectively.

from acv_explainers import ACXplainer

# It has the same params as a Random Forest, and it should be tuned to maximize the performance.  
acv_xplainer = ACXplainer(classifier=True, n_estimators=50, max_depth=5)
acv_xplainer.fit(X_train, y_train)

roc = roc_auc_score(acv_xplainer.predict(X_test), y_test)

II. Then, we can load all the explanations in a webApp as follow:

import acv_app
import os

# compile the ACXplainer
acv_app.compile_ACXplainers(acv_xplainer, X_train, y_train, X_test, y_test, path=os.getcwd())

# Launch the webApp
acv_app.run_webapp(pickle_path=os.getcwd())

Capture d’écran de 2021-11-03 19-50-12

III. Or we can compute each explanation separately as follow:

Same Decision Probability (SDP)

The main tool of our explanations is the Same Decision Probability (SDP). Given , the same decision probability of variables is the probabilty that the prediction remains the same when we fixed variables or when the variables are missing.

  • How to compute ?
sdp = acv_xplainer.compute_sdp_rf(X, S, data_bground) # data_bground is the background dataset that is used for the estimation. It should be the training samples.

Minimal Sufficient Explanations

The Sufficient Explanations is the Minimal Subset S such that fixing the values permit to maintain the prediction with high probability . See the paper here for more details.

  • How to compute the Minimal Sufficient Explanation ?

    The following code return the Sufficient Explanation with minimal cardinality.

sdp_importance, min_sufficient_expl, size, sdp = acv_xplainer.importance_sdp_rf(X, y, X_train, y_train, pi_level=0.9)
  • How to compute all the Sufficient Explanations ?

    Since the Minimal Sufficient Explanation may not be unique for a given instance, we can compute all of them.

sufficient_expl, sdp_expl, sdp_global = acv_xplainer.sufficient_expl_rf(X, y, X_train, y_train, pi_level=0.9)

Local Explanatory Importance

For a given instance, the local explanatory importance of each variable corresponds to the frequency of apparition of the given variable in the Sufficient Explanations. See the paper here for more details.

  • How to compute the Local Explanatory Importance ?
lximp = acv_xplainer.compute_local_sdp(d=X_train.shape[1], sufficient_expl)

Local rule-based explanations

For a given instance (x, y) and its Sufficient Explanation S such that , we compute a local minimal rule which contains x such that every observation z that satisfies this rule has . See the paper here for more details

  • How to compute the local rule explanations ?
sdp, rules, _, _, _ = acv_xplainer.compute_sdp_maxrules(X, y, data_bground, y_bground, S) # data_bground is the background dataset that is used for the estimation. It should be the training samples.

B. Tree-based explanations

ACV gives Shapley Values explanations for XGBoost, LightGBM, CatBoostClassifier, scikit-learn and pyspark tree models. It provides the following Shapley Values:

  • Classic local Shapley Values (The value function is the conditional expectation )
  • Active Shapley values (Local fidelity and Sparse by design)
  • Swing Shapley Values (The Shapley values are interpretable by design) (Coming soon)

In addition, we use the coalitional version of SV to properly handle categorical variables in the computation of SV.

See the papers here

To explain the tree-based models above, we need to transform our model into ACVTree.

from acv_explainers import ACVTree

forest = XGBClassifier() # or any Tree Based models
#...trained the model

acvtree = ACVTree(forest, data_bground) # data_bground is the background dataset that is used for the estimation. It should be the training samples.

Accurate Shapley Values

sv = acvtree.shap_values(X)

Note that it provides a better estimation of the tree-path dependent of TreeSHAP when the variables are dependent.

Accurate Shapley Values with encoded categorical variables

Let assume we have a categorical variable Y with k modalities that we encoded by introducing the dummy variables . As shown in the paper, we must take the coalition of the dummy variables to correctly compute the Shapley values.

# cat_index := list[list[int]] that contains the column indices of the dummies or one-hot variables grouped 
# together for each variable. For example, if we have only 2 categorical variables Y, Z 
# transformed into [Y_0, Y_1, Y_2] and [Z_0, Z_1, Z_2]

cat_index = [[0, 1, 2], [3, 4, 5]]
forest_sv = acvtree.shap_values(X, C=cat_index)

In addition, we can compute the SV given any coalitions. For example, let assume we have 10 variables and we want the following coalition

coalition = [[0, 1, 2], [3, 4], [5, 6]]
forest_sv = acvtree.shap_values(X, C=coalition)

How to compute for tree-based classifier ?

Recall that the is the probability that the prediction remains the same when we fixed variables given the subset S.

sdp = acvtree.compute_sdp_clf(X, S, data_bground) # data_bground is the background dataset that is used for the estimation. It should be the training samples.

How to compute the Sufficient Coalition and the Global SDP importance for tree-based classifier ?

Recall that the Minimal Sufficient Explanations is the Minimal Subset S such that fixing the values permit to maintain the prediction with high probability .

sdp_importance, sdp_index, size, sdp = acvtree.importance_sdp_clf(X, data_bground) # data_bground is the background dataset that is used for the estimation. It should be the training samples.

Active Shapley values

The Active Shapley values is a SV based on a new game defined in the Paper (Accurate and robust Shapley Values for explaining predictions and focusing on local important variables such that null (non-important) variables has zero SV and the "payout" is fairly distribute among active variables.

  • How to compute Active Shapley values ?
import acv_explainers

# First, we need to compute the Active and Null coalition
sdp_importance, sdp_index, size, sdp = acvtree.importance_sdp_clf(X, data_bground)
S_star, N_star = acv_explainers.utils.get_active_null_coalition_list(sdp_index, size)

# Then, we used the active coalition found to compute the Active Shapley values.
forest_asv_adap = acvtree.shap_values_acv_adap(X, C, S_star, N_star, size)
Remarks for tree-based explanations:

If you don't want to use multi-threaded (due to scaling or memory problem), you have to add "_nopa" to each function (e.g. compute_sdp_clf ==> compute_sdp_clf_nopa). You can also compute the different values needed in cache by setting cache=True in ACVTree initialization e.g. ACVTree(model, data_bground, cache=True).

Examples and tutorials (a lot more to come...)

We can find a tutorial of the usages of ACV in demo_acv and the notebooks below demonstrate different use cases for ACV. Look inside the notebook directory of the repository if you want to try playing with the original notebooks yourself.

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

acv-exp-1.2.3.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

acv_exp-1.2.3-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

acv_exp-1.2.3-cp310-cp310-win32.whl (975.9 kB view details)

Uploaded CPython 3.10 Windows x86

acv_exp-1.2.3-cp310-cp310-musllinux_1_1_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

acv_exp-1.2.3-cp310-cp310-musllinux_1_1_i686.whl (8.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

acv_exp-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

acv_exp-1.2.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (7.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

acv_exp-1.2.3-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

acv_exp-1.2.3-cp39-cp39-win32.whl (980.1 kB view details)

Uploaded CPython 3.9 Windows x86

acv_exp-1.2.3-cp39-cp39-musllinux_1_1_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

acv_exp-1.2.3-cp39-cp39-musllinux_1_1_i686.whl (8.8 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

acv_exp-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

acv_exp-1.2.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (7.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

acv_exp-1.2.3-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

acv_exp-1.2.3-cp38-cp38-win32.whl (987.8 kB view details)

Uploaded CPython 3.8 Windows x86

acv_exp-1.2.3-cp38-cp38-musllinux_1_1_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

acv_exp-1.2.3-cp38-cp38-musllinux_1_1_i686.whl (9.4 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

acv_exp-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

acv_exp-1.2.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (8.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

acv_exp-1.2.3-cp37-cp37m-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

acv_exp-1.2.3-cp37-cp37m-win32.whl (955.9 kB view details)

Uploaded CPython 3.7m Windows x86

acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_i686.whl (8.4 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (7.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

File details

Details for the file acv-exp-1.2.3.tar.gz.

File metadata

  • Download URL: acv-exp-1.2.3.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv-exp-1.2.3.tar.gz
Algorithm Hash digest
SHA256 43bfcec06d0e40d2eb2dfd5898a3a522d537a60786ccc741d17611c0cac3e01a
MD5 9d28eb62f5bdc3ded1e7e0e7b21fa544
BLAKE2b-256 af88446b7af71d7072141b26e2b92a14dd2664b086cd15b577a8d215787fc401

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 31b5b62d10d5b403957fd416fceecdf0e571fb6d20de8dde9890f09674e633a7
MD5 2b57b2272eadcb7273943a0e799512ea
BLAKE2b-256 12bf7be3e3f21441420053421a5b295e7cb3239fa28d29bd8c633323f3345e61

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 975.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 9c4aca41dcdc49b83b18dd63341aaaa3d38f0614d71e9a8f3cb13a80ae46c835
MD5 6aac2dea3cab7a085138a91852fb2664
BLAKE2b-256 31e75b85f39038725415593d4eb53b4f111bb51b6266d2034f6176648811b626

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1c3da22f35f476257911d99dc11b27421950b062a42790b9465e2757257f52fe
MD5 52e3dd418038bef43fc9c01b8ebfd612
BLAKE2b-256 78369756b471bedf566aeddbef08f6fa77b7147b42247fa0ecfd3ed1b0a232d9

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ad7e7d40a98d1ad6c95c69b4de5cca055c50836e1af825aa94418a7537ea7347
MD5 d273307f730e083a7eb1ef42372bf7c4
BLAKE2b-256 12e972132118e01dcdfab98e8b5cc5dba7851841a50f1339b4b3239e5fbfb143

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b8370693d8b9eac2b12c595379d43db4380a120aed3fbfc97cf82d822a12e11
MD5 790b1d2c64fc371f1bb14c040a30c148
BLAKE2b-256 f393cd821a9f4d65fbdfe9f9e1a13ab9e223eeca0be6624692477b8e6a5023e5

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 045470fc8c6d922c024d8ffac202fe1cccbbc192f7e204d3127c8134918a65b6
MD5 de40026504df01b6c56b0923f7dd9a48
BLAKE2b-256 d60b5bdaf2bac801cf1b37b51b879debd8321e6bb868f34868e9bddf0609ba21

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ef6d321cdfd28f07d410674ac32c2f06f3b211d606f32e6efdb1673d30738dd4
MD5 f8b6c4a8a03bd61d3daf443eb76e3379
BLAKE2b-256 1b9a391e375d605f359258ce772a643018d9615bd3102d874318858afb383565

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 980.1 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b12e46d586af6d68628fd5cc6317919b3d724027905a103590875b357e66b49d
MD5 6d5133035254000d8d05cec882446b46
BLAKE2b-256 e761f5e0aa02d83b4fb86a68fd0cac85cc38c4555944258bab7f263a09ce9cbb

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8fba5934bf86a7b8b7ae1f268f8e310969293cc00182a1bdcd2b9f2ce496b762
MD5 b0224385046697ae5f9e85a883d263af
BLAKE2b-256 7dc1345b8b7fb101a848c52df303d106ea07820ff72eeab8dcf950173a5360cd

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ae7aeea1e7dfc624becffea137deee1b491dec61df151728b2851ab16f6f4fb3
MD5 7ccc92da03d6087124438046f463b79b
BLAKE2b-256 1c169edd4788b2a410751a83a203a000b2671b37f9e5891964823a05f4c193f4

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8dcbb9080cbc5f514fcb768ab5e1f2dd56f22eb1572e9a94adbb988c5750391b
MD5 1add0dc1068525fd7c2c8ebe3678bb99
BLAKE2b-256 06a81c0267cc28e5db510fdca05848f08ab1386d4d2cd14938d1c7d02514e6da

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e112a39598035e2816f2e8d7d61706893379ba1214c5ec666e72dad089ac347c
MD5 598be0ef76885f3f478a2c0391bc7f75
BLAKE2b-256 5786de088e5e43b6cf431ba5c5a3b16845d19c71a346ff2f5db2556ed13b2187

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9014bbda78ec3ac0075f5299ca74a708e0347ef49aa65d568aef848c5122b258
MD5 a335fc2b38555f0f4b253049942d2fa5
BLAKE2b-256 fb88acd7d4c88134c8e4560bc39ed55139189f19bdfc9ea390f75c86d34442ad

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-win32.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 987.8 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f640e8ba0f866f5a981c6776e9939dfed5c952967e82bc95bc4249ecd6e1d6c7
MD5 e2cbafbaf2bacb70beb5d7f119ebc17f
BLAKE2b-256 6e9e747377f0ec4600c8048d70a124e4b2f3ad19f4537bba181caa7ded070bd9

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ba619edefed7b2957d1b58cd3fb47da5fb17fe83d403430cdb870ca024dcfd06
MD5 504dd50f445939d31ff58849d2a3f838
BLAKE2b-256 32ae108b63ce26ee08cb0e4ee4ac95c3e1ba5605783336553ed81208364bbf14

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 96b8de58b612ba23944ad76cc1cae5e98c13552c66bf03f8ffe3085b158e2e57
MD5 e1797378a3cfa5eda1dd5fa9517b021d
BLAKE2b-256 92753db114ef9397b390bd5dae3057ea39043c0edc37e191742127dc22aa5924

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5cf138e2b1a0f261b7e6b56632c07dc0e03e81c98026c9bae1cf95a84220620
MD5 c7511f28afe89eca5afd07430d0c2254
BLAKE2b-256 b2d5aae649bbe2186d5eb3304c6cc06783f690b15c47ceb4d9d7ab364b9c0d5f

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6071363ab2e10563fb1e88734f18f6163d9fc82d4a2b2a08e18cee158c9cc56e
MD5 ba560e74d2a4784b02db7414b903558e
BLAKE2b-256 ebfb5da780266606c392a577672dae514f7c2cadc359ff873f09c1b707d2df15

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0eab4f8ace7310defc8a8c3d6d56ce6e3e3a561d11ee625aa1743721b8c8b466
MD5 4180c8e12f308db57d75bc5306b6a88d
BLAKE2b-256 5d0820d90e5fcdd94d3a63bf542e7149f0fb3eba554214e27a355f1cd5407071

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: acv_exp-1.2.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 955.9 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 36ddc24b5b4baaf832640220de7f659064f2b6dd56a89debc65210e8c1aff611
MD5 928dee91208ff00593d61896c7086bf1
BLAKE2b-256 4a8a990464d06dc10f5f88c4d0b3cad984d0b4feff208b920678976fd2b30fc9

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1d42c40e7c1b57583f93aac4b8d2dd259bcd43c1d9a6ed081fb2a32a78772575
MD5 2207a260dd0c0221457e836898b007c7
BLAKE2b-256 85f52c7124dd076146a0d7e56ed3e888b6c44c146913c58f1f4af0bed059bda1

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 182ce1ac16ec8903a17dafaf3b3a554f7a7b7c4113065a98a629dd7d09334c42
MD5 98bafec1dcd6c1874f2f84d9a4868bf6
BLAKE2b-256 6d57385efdb85622dff0ba33635f4739224a9a9a44e32b4a20b69d7d647bd519

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f8f8152d64c4808d0fddfdbd67d38bfb4f8fd74dd62c8594a6090a62500cf51
MD5 588c5de5a6961bdaa45204a9f8a973b8
BLAKE2b-256 f2d0cc18ff5554909ec602dc203caaf87f4bbcaff34bb7971e3c647d210efc36

See more details on using hashes here.

File details

Details for the file acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for acv_exp-1.2.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1ef479ebbaa6e9ad172483b4e267e1691f4849bd0ec676f561a60ade2f49bd3b
MD5 1ac6255b182e409870fcea9cfc66529e
BLAKE2b-256 b9c67cb72150e1d0d93d34b0ad9650ce58191d0b591b665dad715a4ccdbe80c2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page