Skip to main content

Efficient matrix representations for working with tabular data.

Project description

Efficient matrix representations for working with tabular data

CI

Installation

Simply install via conda-forge!

conda install -c conda-forge tabmat

Use case

TL;DR: We provide matrix classes for efficiently building statistical algorithms with data that is partially dense, partially sparse and partially categorical.

Data used in economics, actuarial science, and many other fields is often tabular, containing rows and columns. Further common properties are also common:

  • It often is very sparse.
  • It often contains a mix of dense and sparse columns.
  • It often contains categorical data, processed into many columns of indicator values created by "one-hot encoding."

High-performance statistical applications often require fast computation of certain operations, such as

  • Computing sandwich products of the data, transpose(X) @ diag(d) @ X. A sandwich product shows up in the solution to weighted least squares, as well as in the Hessian of the likelihood in generalized linear models such as Poisson regression.
  • Matrix-vector products, possibly on only a subset of the rows or columns. For example, when limiting computation to an "active set" in a L1-penalized coordinate descent implementation, we may only need to compute a matrix-vector product on a small subset of the columns.
  • Computing all operations on standardized predictors which have mean zero and standard deviation one. This helps with numerical stability and optimizer efficiency in a wide range of machine learning algorithms.

This library and its design

We designed this library with the above use cases in mind. We built this library first for estimating generalized linear models, but expect it will be useful in a variety of econometric and statistical use cases. This library was borne out of our need for speed, and its unified API is motivated by the desire to work with a unified matrix API internal to our statistical algorithms.

Design principles:

  • Speed and memory efficiency are paramount.
  • You don't need to sacrifice functionality by using this library: DenseMatrix and SparseMatrix subclass np.ndarray and scipy.sparse.csc_matrix respectively, and inherit behavior from those classes wherever it is not improved on.
  • As much as possible, syntax follows NumPy syntax, and dimension-reducing operations (like sum) return NumPy arrays, following NumPy dimensions about the dimensions of results. The aim is to make these classes as close as possible to being drop-in replacements for numpy.ndarray. This is not always possible, however, due to the differing APIs of numpy.ndarray and scipy.sparse.
  • Other operations, such as toarray, mimic Scipy sparse syntax.
  • All matrix classes support matrix-vector products, sandwich products, and getcol.

Individual subclasses may support significantly more operations.

Matrix types

  • DenseMatrix represents dense matrices, subclassing numpy nparray. It additionally supports methods getcol, toarray, sandwich, standardize, and unstandardize.
  • SparseMatrix represents column-major sparse data, subclassing scipy.sparse.csc_matrix. It additionally supports methods sandwich and standardize.
  • CategoricalMatrix represents one-hot encoded categorical matrices. Because all the non-zeros in these matrices are ones and because each row has only one non-zero, the data can be represented and multiplied much more efficiently than a generic sparse matrix.
  • SplitMatrix represents matrices with both dense, sparse and categorical parts, allowing for a significant speedup in matrix multiplications.
  • StandardizedMatrix efficiently and sparsely represents a matrix that has had its column normalized to have mean zero and variance one. Even if the underlying matrix is sparse, such a normalized matrix will be dense. However, by storing the scaling and shifting factors separately, StandardizedMatrix retains the original matrix sparsity.

Wide data set

Benchmarks

See here for detailed benchmarking.

API documentation

See here for detailed API documentation.

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

tabmat-4.0.0a1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

tabmat-4.0.0a1-cp311-cp311-win_amd64.whl (672.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

tabmat-4.0.0a1-cp311-cp311-macosx_11_0_arm64.whl (748.7 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

tabmat-4.0.0a1-cp311-cp311-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

tabmat-4.0.0a1-cp310-cp310-win_amd64.whl (669.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

tabmat-4.0.0a1-cp310-cp310-macosx_11_0_arm64.whl (744.4 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

tabmat-4.0.0a1-cp310-cp310-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tabmat-4.0.0a1-cp39-cp39-win_amd64.whl (670.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

tabmat-4.0.0a1-cp39-cp39-macosx_11_0_arm64.whl (746.6 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

tabmat-4.0.0a1-cp39-cp39-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tabmat-4.0.0a1-cp38-cp38-win_amd64.whl (671.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

tabmat-4.0.0a1-cp38-cp38-macosx_11_0_arm64.whl (742.2 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

tabmat-4.0.0a1-cp38-cp38-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

tabmat-4.0.0a1-cp37-cp37m-win_amd64.whl (654.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

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

tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

tabmat-4.0.0a1-cp37-cp37m-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file tabmat-4.0.0a1.tar.gz.

File metadata

  • Download URL: tabmat-4.0.0a1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1.tar.gz
Algorithm Hash digest
SHA256 ee341a7a3547f00ad00b1e977f6c80ce69f5e0bbd010dd690ddbd9d28a2a189a
MD5 2cb6888dab232077ad21bffd6b7edb27
BLAKE2b-256 d402b82145554d44696e6377aad83d131f8deb718d2a73d4fc9574d91b5375f7

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tabmat-4.0.0a1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 672.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dca0b3c9a9f4d178c245dabd0e1b02fa3d03d58e7e1015379d9e4e394f7bf7a7
MD5 786b71de84cf2d4d9de4cdf35edb7fd3
BLAKE2b-256 a70fd9e7ea0466453bbd94a544baf556d2a8b36d86a8cadd2a6dd13a7b361afc

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be2a80a3b0c1f723e0479c783ac91a41ce25900a88b99ab1f0a619865ba7da05
MD5 e5f1b9884e839b81da34acb623c22970
BLAKE2b-256 b9c3a650237f20d9fcbea79abb3086132631164c87e16d341df0c274e15696d1

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1a20b36aa7e85070c9b3f23ec7f5976d9f942b5d2de84c3cff33dca7870d9775
MD5 407467163c03b30772ad81a1ca94afdd
BLAKE2b-256 d6ef40f872604ce97e9d0a9ddbdb56b7d1a145a0f94da8631415818dd54c889d

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 447dc5c43901d30c7b1633ab2c3c110424c770c08035a09b1b563ebdd8a65539
MD5 0ce2dd6874adaad1cc9336b588b36363
BLAKE2b-256 9c9ad141234dc26d39e36c6caee90fe24f1ba4f6f07c2ad07f7dbafb13931aae

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7fe3c76b892d0327f5256321c716aafab1b1eb3b575f65d6dd76b3794ec16417
MD5 b9e5b706df70afefc3c69852f0a712fe
BLAKE2b-256 108c5f191ddf9b27ba8024c91542ef94c15feab40b6655cf86352b6f4ba2fe7d

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tabmat-4.0.0a1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 669.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8ed1f5a4e899432bf0984a38e122c6cdf3c59a3463b271a07d0b35681f205bb6
MD5 a0a6ea6e28836883f11a912972f91bbc
BLAKE2b-256 ff0e69496f55ec72b213a3cd42ee343c7c7d06024918237bcdf69dc65eb50c77

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b87c63c57fcc26aed14bf2148c086dc4dabfce35f24a164e0776cf6d60f060a
MD5 c93465b2adf986496e05488d1fc293f6
BLAKE2b-256 067cc95136cf9aac0dd44b0298736ba2d99c3106774e2b5b454c5fae76795442

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e0e9e8388423147c30cdcb49f2c5eee44ed7f6ffe3f036227d342cd8b19b5f2
MD5 53e3d2d9ed869359b18c7ba3499ef195
BLAKE2b-256 a4c41f451555c7b2c06dc3ef6161fc0786235635b9517decebff0cbe3d66007f

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 790169de81d9e663cb3a1c322350e3716c70b054ab32d2021cafdc17378b6310
MD5 d501ada6b1c07f7ab5edc4915ec4c157
BLAKE2b-256 0f023ecde8c1ba29258e3787a0893c577a637d80dc46c7beda1f60f4149b5315

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 26009ee087b7e3d3bb0e9b78338fdd9e29ea9e4904fc42d1348048e7a4627b4a
MD5 c20dc2222b75c69ee519b08f513dc327
BLAKE2b-256 3e2059965ff778bccf4e6f10109c1a14b7ecfbd491f0cdc3186ccb023fabe8f7

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tabmat-4.0.0a1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 670.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2465d15e0a4e7fe9b1382e7348854f529ce4cd676bcf12ddb19f4ada61bb04b3
MD5 5eb57e6cfcda24d19ba19192d6b3267e
BLAKE2b-256 86c7558477826a5107b30c30f4e2935faef92f3e7e37f0dfbec43a5c1d152577

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 305d71c34c65d18c10e5597c63f76c8a067f8e9407df1275ee7be5be38346648
MD5 74f5e659e3bd2fd655a3b34bddecb9dd
BLAKE2b-256 f288a791440b717002df01e8c5e3ab76d0252f990ef3629cad17a9c0b9939051

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc7b7ef6c2e8953f6bc3cbcb63068c9ddb7a5f3f78ed77673d82a306b5bd1b9d
MD5 a28b59f3667b3d615f3965cb59c9ef82
BLAKE2b-256 616e90344087f2163e892d35e9d86b2185857198f810567450b50b4b55e92370

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a3e10e5a9f121af02ef966079282bf1177ca2ef48a8d1cb8b7b11fbf879066d
MD5 1ae72601e8bb10b1dbb2b02f2ee0d60e
BLAKE2b-256 788cad8b6ddb6e44aa7575e9eab8d7c50ae2db20eebd6f3899f475b5f3500281

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1845ff5ab1d99160cd68f53302e99940f347bb178e113ca84ecebfb7a9727056
MD5 cc145249ff93c966dfadfeeae7de8491
BLAKE2b-256 7f7d03239b7ae28b630daa585e16ba581c8f16c5b84fc1b00c333420b2541718

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tabmat-4.0.0a1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 671.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7c1e91a0528f6d5646b19e257cea37e91cfc0cbd903209992dd0ee1763065780
MD5 2a488fe57fb2e42c40bea0e992f84340
BLAKE2b-256 33d4350061e0b74d20285a1c1b536477aeeb835f3362ca7b10f2ed16d039b8ce

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f10e3092abccb8761a13ee0bf3e91d6ea5c7062a20970ed1a864148aa3ae8f38
MD5 5f75be0168fb071532b4b1ddf82bf07a
BLAKE2b-256 91715dd6a5508c8c951d553629676c2bee5b9a5bd2d929a57bf28ca5ddb6acb3

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88268464661c83d04e25a66d5e6ae654fb9348989badb036b3348955d7c0bd66
MD5 27413690bd8d6651962516889b821b0e
BLAKE2b-256 791baf8e94d697da24f4bc8c92700d6440b31360a2bc86d669b4e6b75e416e7c

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b9cd24daa63820500c19a25739f10aa6ec27e97ffce19ef032fced952e5e5c1
MD5 290a9e28b0aab56699dae84a6bc35a80
BLAKE2b-256 11ca21207e9491b35c6026c6f507718caa4d8987f03634a957e78f47b75859fd

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c46fba808afe6c680e228e33414179c9dc7b7b830a1d34964ba008d845dde2bb
MD5 cb73feac2fcc4a4062c885535488cd7b
BLAKE2b-256 7fdab0c82eba461c4e3a51da41efbc34081823a0989cf40101d0900c29ef51b6

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: tabmat-4.0.0a1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 654.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tabmat-4.0.0a1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 120cd1b63c488cc0f629eec59301372817e637cca6bb7e9a9ef9fd64a418b1e6
MD5 dab8d8a69dc28d6b20760b16bd91e60f
BLAKE2b-256 ccb0fe409c9b3189d72d8cf14428f9775b05f092bdbcdbc33cb622d2ef2b3dff

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a9cd0a6545b2d92742c1c1a8260aae4dd75795e3dd3943870e6033030f12eef
MD5 245d6a85f9cc9aa5a8676a286020a059
BLAKE2b-256 bffd76aa6d6863e01cc134091e44923e0c244572a0e8730faef22bd58e0a5b2e

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bb37abf3134d9397b550fcf274e219267c8cddfa897cac2b88d86438a271b8b1
MD5 805fd9016a5e44eb6d1011734a6f55ac
BLAKE2b-256 96df49295924641ea5792ce10a28c6b55a1a8d1df96b7bea5cd68c98e851401b

See more details on using hashes here.

File details

Details for the file tabmat-4.0.0a1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for tabmat-4.0.0a1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 688f13d3fda48e2d4d3cddc78a48d63b6df760df7f2e43ebf7a9d1fae74f5dcb
MD5 a0bc8e475c2c6fde04f6355ace6aad52
BLAKE2b-256 9566ffce18fc44309786947d0cc9978281bb51757089ae16b29a1dd5ad82a700

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