Skip to main content

The Blis BLAS-like linear algebra library, as a self-contained C-extension.

Project description

Cython BLIS: Fast BLAS-like operations from Python and Cython, without the tears

This repository provides the Blis linear algebra routines as a self-contained Python C-extension.

Currently, we only supports single-threaded execution, as this is actually best for our workloads (ML inference).

Azure Pipelines pypi Version conda Python wheels

Installation

You can install the package via pip, first making sure that pip, setuptools, and wheel are up-to-date:

pip install -U pip setuptools wheel
pip install blis

Wheels should be available, so installation should be fast. If you want to install from source and you're on Windows, you'll need to install LLVM.

Building BLIS for alternative architectures

The provided wheels should work on x86_64 and osx/arm64 architectures. Unfortunately we do not currently know a way to provide different wheels for alternative architectures, and we cannot provide a single binary that works everywhere. So if the wheel doesn't work for your CPU, you'll need to specify source distribution, and tell Blis your CPU architecture using the BLIS_ARCH environment variable.

a) Install with auto-detected CPU support

pip install spacy --no-binary blis

b) Install using an existing configuration

Provide an architecture from the supported configurations.

BLIS_ARCH="power9" pip install spacy --no-binary blis

c) Install with generic arch support

⚠️ generic is not optimized for any particular CPU and is extremely slow. Only recommended for testing!

BLIS_ARCH="generic" pip install spacy --no-binary blis

d) Build specific support

In order to compile Blis, cython-blis bundles makefile scripts for specific architectures, that are compiled by running the Blis build system and logging the commands. We do not yet have logs for every architecture, as there are some architectures we have not had access to.

See here for list of architectures. For example, here's how to build support for the Intel architecture knl:

git clone https://github.com/explosion/cython-blis && cd cython-blis
git pull && git submodule init && git submodule update && git submodule status
python3 -m venv venv
source venv/bin/activate
pip install -U pip setuptools wheel
pip install -r requirements.txt
./bin/generate-make-jsonl linux knl
BLIS_ARCH="knl" python setup.py build_ext --inplace
BLIS_ARCH="knl" python setup.py bdist_wheel

Fingers crossed, this will build you a wheel that supports your platform. You could then submit a PR with the blis/_src/make/linux-knl.jsonl and blis/_src/include/linux-knl/blis.h files so that you can run:

BLIS_ARCH="knl" pip install --no-binary=blis

Usage

Two APIs are provided: a high-level Python API, and direct Cython access, which provides fused-type, nogil Cython bindings to the underlying Blis linear algebra library. Fused types are a simple template mechanism, allowing just a touch of compile-time generic programming:

cimport blis.cy
A = <float*>calloc(nN * nI, sizeof(float))
B = <float*>calloc(nO * nI, sizeof(float))
C = <float*>calloc(nr_b0 * nr_b1, sizeof(float))
blis.cy.gemm(blis.cy.NO_TRANSPOSE, blis.cy.NO_TRANSPOSE,
             nO, nI, nN,
             1.0, A, nI, 1, B, nO, 1,
             1.0, C, nO, 1)

Bindings have been added as we've needed them. Please submit pull requests if the library is missing some functions you require.

Development

To build the source package, you should run the following command:

./bin/update-vendored-source

This populates the blis/_src folder for the various architectures, using the flame-blis submodule.

Updating the build files

In order to compile the Blis sources, we use jsonl files that provide the explicit compiler flags. We build these jsonl files by running Blis's build system, and then converting the log. This avoids us having to replicate the build system within Python: we just use the jsonl to make a bunch of subprocess calls. To support a new OS/architecture combination, we have to provide the jsonl file and the header.

Linux

The Linux build files need to be produced from within the manylinux2014 Docker container, so that they will be compatible with the wheel building process.

First, install docker. Then do the following to start the container:

sudo docker run -it quay.io/pypa/manylinux2014_x86_64:latest

Once within the container, the following commands should check out the repo and build the jsonl files for the generic arch:

mkdir /usr/local/repos
cd /usr/local/repos
git clone https://github.com/explosion/cython-blis && cd cython-blis
git pull && git submodule init && git submodule update && git submodule
status
/opt/python/cp36-cp36m/bin/python -m venv env3.6
source env3.6/bin/activate
pip install -r requirements.txt
./bin/generate-make-jsonl linux generic --export
BLIS_ARCH=generic python setup.py build_ext --inplace
# N.B.: don't copy to /tmp, docker cp doesn't work from there.
cp blis/_src/include/linux-generic/blis.h /linux-generic-blis.h
cp blis/_src/make/linux-generic.jsonl /

Then from a new terminal, retrieve the two files we need out of the container:

sudo docker ps -l # Get the container ID
# When I'm in Vagrant, I need to go via cat -- but then I end up with dummy
# lines at the top and bottom. Sigh. If you don't have that problem and
# sudo docker cp just works, just copy the file.
sudo docker cp aa9d42588791:/linux-generic-blis.h - | cat > linux-generic-blis.h
sudo docker cp aa9d42588791:/linux-generic.jsonl - | cat > linux-generic.jsonl

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

blis-0.9.1.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

blis-0.9.1-cp310-cp310-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.10 Windows x86-64

blis-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

blis-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

blis-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (893.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

blis-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

blis-0.9.1-cp39-cp39-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

blis-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

blis-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

blis-0.9.1-cp39-cp39-macosx_11_0_arm64.whl (892.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

blis-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

blis-0.9.1-cp38-cp38-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.8 Windows x86-64

blis-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

blis-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

blis-0.9.1-cp38-cp38-macosx_11_0_arm64.whl (887.4 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

blis-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

blis-0.9.1-cp37-cp37m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.7m Windows x86-64

blis-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

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

blis-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

blis-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

blis-0.9.1-cp36-cp36m-win_amd64.whl (7.4 MB view details)

Uploaded CPython 3.6m Windows x86-64

blis-0.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

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

blis-0.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

blis-0.9.1-cp36-cp36m-macosx_10_9_x86_64.whl (5.3 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file blis-0.9.1.tar.gz.

File metadata

  • Download URL: blis-0.9.1.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for blis-0.9.1.tar.gz
Algorithm Hash digest
SHA256 7ceac466801f9d97ecb34e10dded8c24cf5e0927ea7e834da1cc9d2ed3fc366f
MD5 e66cbf5f5ffdcee431c0cbfd7be08084
BLAKE2b-256 741e18f5068e5c4f2e10248f65bc0f799e9017f70749fa3f5c9fdd30be179784

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: blis-0.9.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for blis-0.9.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c509241073b3b6c16c7aa2e2acd6dd45f4427c6b4fde7615b2d016a6ace1ed87
MD5 1a44cc0d03a55467bcc63ea0bae1f55a
BLAKE2b-256 e71b92200ac645d548e10eea17d41fc8f1939de916046f980efe267610c15254

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7f0c3aecb5162b8b19d0d6fe2dd33a002710252607ca55f1ff67d15d4ce6d4e
MD5 9c59b7d94a08a295b98267b345fd1032
BLAKE2b-256 39d446c27b9fd4c693c332d0d93f04af3694765dee8276bde4cf81f42c048fa0

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ceab0b6ab1c254d0bf4a3951adb0ad7e1c92b90475fe1fbabe81db029aef5bfd
MD5 3a01964e4c2ac1b569116aa878de0808
BLAKE2b-256 6796661731c24a875f1d41b61a9b0a0cb4699e3f97eb34d2e758c68237c32a46

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c855db2f917bc7ff45499ce4fc7bb95298134534912580758db19dcb5bb2d20
MD5 08b7a161ce4b35fc0cbcea2e3c3e3e83
BLAKE2b-256 27c55c2291f1982112214ec8201fdac30fa2c5b9e4df8f66b23e826eb5ad246d

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc946bb41205c45c2e195d5cd75876c5808cb3ac42eaaf9041dc3255a3da7ca7
MD5 a85e3f535b03b76503aaa10331f65ac0
BLAKE2b-256 0c617f1037fe593fc8ff0f6b198705c3d7d3be030f06cb007a2a547afc02b22b

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: blis-0.9.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for blis-0.9.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c4453bf5d2dde2d226c5ab2f0cf22d22fc04979d75e4542af0d0acf25b253f50
MD5 e5887146fb8fe6401707b057c8241fd7
BLAKE2b-256 890fa3aa7c2cb7e5521166b1b0c8533bfe2b4e0bff4d97c1f5cf3501ba2600e7

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c56e816a81ab03c1c1ea61b7f7d0b7a030172ff0b176cf03561b8d6d58c44387
MD5 f32843a321192795f59b2c2e60d9dd6b
BLAKE2b-256 0ba26b58b478b877c70cb71d5cfa456a6c43a3bb281c2d63685eece9424e4301

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eb3004d70eeadc3959415a864dc6b577a735c4b9961266c596145ebae789544c
MD5 e4a78f1f4fcfb94d091890c419984f50
BLAKE2b-256 741904de88448bbd81c797bece1bc64b508ce9bc87832a22c42ed2810eed5f15

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efab5d43eb6ca57ebdb17f32ab7359c7380c274a6b2730b7a3596eeaa0314a7a
MD5 dd7344e54abbd0a9e60a8be227191e4d
BLAKE2b-256 ffdb013b909b21450d0c01d6bc49391fa2f42f711bba624547477d1254f7ecc1

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4be4d983fc1501eefa67363a3c69e98a7fc29fcddc457b283850e34223f7070e
MD5 7cbb67f65c4a7cf9260fcdcb70be0d5a
BLAKE2b-256 c06b2ee2deaf173da8038b3745f3d95a6db18009a4bc74cd1968b4af07ab7080

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: blis-0.9.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for blis-0.9.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 44b92afe95801a370e3ce147aefb608ef0167b5e82b2f629aee723581adbdf44
MD5 901e6253977f8a8cefda77659fc10e28
BLAKE2b-256 cd021e91b0f463d0e6c98a6153e46ed0ebd2ec30ca63b77470a01440e57d764b

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbc4655175e59b20e458be40c3794dfa723c1eac8115ff5fc49cfd240c8efe29
MD5 9d6cf3744d2effa43bded54ea3b75b88
BLAKE2b-256 472dc5cf84fc034d7fb7b5493af4ad43ba190a0bbb0fa827aa5aeb71d816ce7a

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 693ad3dbb61c09a898f2590f58ab1c3132f281fc80dd5c36c19b87c1d1e6ba00
MD5 0b364331de4cbbfdd87b6c6702b737bb
BLAKE2b-256 c3c8842fe598b551368ba5f2b7d046a103937c7edf77ebf8dc8ddde57af6aca3

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ee43fc0e675b1466f6d8c27ea98b9acdace2d5828ba6744a0f65ef29e0b9ebe
MD5 96d6ec6006c9dc9f12cc25a1ce5eba5d
BLAKE2b-256 c4b34de5868c6df968434b8bf1b7b76c100d9a69a58d83fb2f388278dce53593

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f64f96c552dd866d65c6414cab815d248d57630330f16d1244142a4339640d3f
MD5 a1ed1ff013426a473cb69b09838e85a3
BLAKE2b-256 394ea1ea4ee30b55c8ef084a8a2ea9fbf72db02bc553a36718286ae5a03fef79

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp37-cp37m-win_amd64.whl.

File metadata

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

File hashes

Hashes for blis-0.9.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f4cdcac31b7c58f9ecb82165c72d053740c58a73e5be637034271be758b29326
MD5 6f21f6c921edea0f03226f667cb3ac45
BLAKE2b-256 d67ee17dbe2960db3b7f13fa59076c58550fcfcad454d3a8bff68e30f338cfee

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db2c29b24023e82f230aa0d45df6acdd2d5ce620c50405ac661c642dbdbedb8a
MD5 1a1f646706685ff17d66a62d4e7fd653
BLAKE2b-256 78da732cf72fc2801b4c35ed67dbbe5862aa12709a5a5c98120cf41aac81e9e9

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bf216ecab3986e2736f0f0b2cd9bf1717c56ca821b0fc361ba7f1d065fa2458e
MD5 57767db8273b321d4dfb85575f89074e
BLAKE2b-256 e423884f319fe521ca1b210cdb34c5871a6f61517fa331d23adb29ea0924fb80

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 49b326230e879f8a490349859e7732f41e97f9702f54a25948fcc49c133a2677
MD5 9ccde840f103cc525c135ffb95e1031b
BLAKE2b-256 5ce8466d35f5cf996e975c5af65f8d69dbb2562c80b28fcef59a1d0b0a0427ca

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: blis-0.9.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.7.9

File hashes

Hashes for blis-0.9.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0b6ce2e94824065d6fea99485b687717af4cc31ec9281bf4b02fd99172fe1db9
MD5 7ae5f9b02f8d77fed2cfed4636675940
BLAKE2b-256 3b979eb0c0f33fcfdce8397939c8da13cafaa22b359aec23c7b1ff030cf8c1c6

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b322ff0bb3bcd6cd03d9f9a7033885c12d6b3a6c959c7547e77f45d3277534e
MD5 7b8f34a9c80bbffd7b806ae348ce8f05
BLAKE2b-256 41b4364f307cc57cdcb23adaf5ec4747a79938e6b787ffe28d9b86f7b5a97b83

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4802e0000b3d22e4f6c1d15aa31348337a26d26ff0ac832d6be367699cb6c49f
MD5 9ff0873e7f4527e065dba90d2373cf17
BLAKE2b-256 68a171fbd48edb3b591bec702e1fca1108a77be31b2ddc6ee59ad2f0a184bfbe

See more details on using hashes here.

File details

Details for the file blis-0.9.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for blis-0.9.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84c98ab9cf4df12936794ff13bb145cb8c825cbaa9a284e3767f0fe2d7d6ae9c
MD5 3d7c546b3de5d9cd8f0dab2a936a384f
BLAKE2b-256 606e847d06661405d23d232f34afc6ad9f3c9f039ec497df10de5ed4929de0f8

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page