Skip to main content

Official Python bindings for PocketSphinx

Project description

PocketSphinx 5.0.4

This is PocketSphinx, one of Carnegie Mellon University's open source large vocabulary, speaker-independent continuous speech recognition engines.

Although this was at one point a research system, active development has largely ceased and it has become very, very far from the state of the art. I am making a release, because people are nonetheless using it, and there are a number of historical errors in the build system and API which needed to be corrected.

The version number is strangely large because there was a "release" that people are using called 5prealpha, and we will use proper semantic versioning from now on.

Please see the LICENSE file for terms of use.

Installation

You should be able to install this with pip for recent platforms and versions of Python:

pip3 install pocketsphinx

Alternately, you can also compile it from the source tree. I highly suggest doing this in a virtual environment (replace ~/ve_pocketsphinx with the virtual environment you wish to create), from the top level directory:

python3 -m venv ~/ve_pocketsphinx
. ~/ve_pocketsphinx/bin/activate
pip3 install .

On GNU/Linux and maybe other platforms, you must have PortAudio installed for the LiveSpeech class to work (we may add a fall-back to sox in the near future). On Debian-like systems this can be achieved by installing the libportaudio2 package:

sudo apt-get install libportaudio2

Usage

See the examples directory for a number of examples of using the library from Python. You can also read the documentation for the Python API or the C API.

It also mostly supports the same APIs as the previous pocketsphinx-python module, as described below.

LiveSpeech

An iterator class for continuous recognition or keyword search from a microphone. For example, to do speech-to-text with the default (some kind of US English) model:

from pocketsphinx import LiveSpeech
for phrase in LiveSpeech(): print(phrase)

Or to do keyword search:

from pocketsphinx import LiveSpeech

speech = LiveSpeech(keyphrase='forward', kws_threshold=1e-20)
for phrase in speech:
    print(phrase.segments(detailed=True))

With your model and dictionary:

import os
from pocketsphinx import LiveSpeech, get_model_path

speech = LiveSpeech(
    sampling_rate=16000,  # optional
    hmm=get_model_path('en-us'),
    lm=get_model_path('en-us.lm.bin'),
    dic=get_model_path('cmudict-en-us.dict')
)

for phrase in speech:
    print(phrase)

AudioFile

This is an iterator class for continuous recognition or keyword search from a file. Currently it supports only raw, single-channel, 16-bit PCM data in native byte order.

from pocketsphinx import AudioFile
for phrase in AudioFile("goforward.raw"): print(phrase) # => "go forward ten meters"

An example of a keyword search:

from pocketsphinx import AudioFile

audio = AudioFile("goforward.raw", keyphrase='forward', kws_threshold=1e-20)
for phrase in audio:
    print(phrase.segments(detailed=True)) # => "[('forward', -617, 63, 121)]"

With your model and dictionary:

import os
from pocketsphinx import AudioFile, get_model_path

model_path = get_model_path()

config = {
    'verbose': False,
    'audio_file': 'goforward.raw',
    'hmm': get_model_path('en-us'),
    'lm': get_model_path('en-us.lm.bin'),
    'dict': get_model_path('cmudict-en-us.dict')
}

audio = AudioFile(**config)
for phrase in audio:
    print(phrase)

Convert frame into time coordinates:

from pocketsphinx import AudioFile

# Frames per Second
fps = 100

for phrase in AudioFile(frate=fps):  # frate (default=100)
    print('-' * 28)
    print('| %5s |  %3s  |   %4s   |' % ('start', 'end', 'word'))
    print('-' * 28)
    for s in phrase.seg():
        print('| %4ss | %4ss | %8s |' % (s.start_frame / fps, s.end_frame / fps, s.word))
    print('-' * 28)

# ----------------------------
# | start |  end  |   word   |
# ----------------------------
# |  0.0s | 0.24s | <s>      |
# | 0.25s | 0.45s | <sil>    |
# | 0.46s | 0.63s | go       |
# | 0.64s | 1.16s | forward  |
# | 1.17s | 1.52s | ten      |
# | 1.53s | 2.11s | meters   |
# | 2.12s |  2.6s | </s>     |
# ----------------------------

Authors

PocketSphinx is ultimately based on Sphinx-II which in turn was based on some older systems at Carnegie Mellon University, which were released as free software under a BSD-like license thanks to the efforts of Kevin Lenzo. Much of the decoder in particular was written by Ravishankar Mosur (look for "rkm" in the comments), but various other people contributed as well, see the AUTHORS file for more details.

David Huggins-Daines (the author of this document) is guilty^H^H^H^H^Hresponsible for creating PocketSphinx which added various speed and memory optimizations, fixed-point computation, JSGF support, portability to various platforms, and a somewhat coherent API. He then disappeared for a while.

Nickolay Shmyrev took over maintenance for quite a long time afterwards, and a lot of code was contributed by Alexander Solovets, Vyacheslav Klimkov, and others. The pocketsphinx-python module was originally written by Dmitry Prazdnichnov.

Currently this is maintained by David Huggins-Daines again.

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

pocketsphinx-5.0.4.tar.gz (34.1 MB view details)

Uploaded Source

Built Distributions

pocketsphinx-5.0.4-pp310-pypy310_pp73-win_amd64.whl (29.1 MB view details)

Uploaded PyPy Windows x86-64

pocketsphinx-5.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl (29.1 MB view details)

Uploaded PyPy macOS 11.0+ ARM64

pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (29.1 MB view details)

Uploaded PyPy macOS 10.15+ x86-64

pocketsphinx-5.0.4-cp313-cp313-win_amd64.whl (29.1 MB view details)

Uploaded CPython 3.13 Windows x86-64

pocketsphinx-5.0.4-cp313-cp313-musllinux_1_2_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

pocketsphinx-5.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-cp313-cp313-macosx_10_13_universal2.whl (29.6 MB view details)

Uploaded CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)

pocketsphinx-5.0.4-cp312-cp312-win_amd64.whl (29.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

pocketsphinx-5.0.4-cp312-cp312-musllinux_1_2_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

pocketsphinx-5.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-cp312-cp312-macosx_10_13_universal2.whl (29.6 MB view details)

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

pocketsphinx-5.0.4-cp311-cp311-win_amd64.whl (29.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

pocketsphinx-5.0.4-cp311-cp311-musllinux_1_2_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

pocketsphinx-5.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-cp311-cp311-macosx_10_9_universal2.whl (29.6 MB view details)

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

pocketsphinx-5.0.4-cp310-cp310-win_amd64.whl (29.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

pocketsphinx-5.0.4-cp310-cp310-musllinux_1_2_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

pocketsphinx-5.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-cp310-cp310-macosx_10_9_universal2.whl (29.5 MB view details)

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

pocketsphinx-5.0.4-cp38-cp38-win_amd64.whl (29.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

pocketsphinx-5.0.4-cp38-cp38-musllinux_1_2_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

pocketsphinx-5.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (29.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pocketsphinx-5.0.4-cp38-cp38-macosx_10_9_universal2.whl (29.5 MB view details)

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

File details

Details for the file pocketsphinx-5.0.4.tar.gz.

File metadata

  • Download URL: pocketsphinx-5.0.4.tar.gz
  • Upload date:
  • Size: 34.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for pocketsphinx-5.0.4.tar.gz
Algorithm Hash digest
SHA256 17d2971e998490def9554b6ba41886708422af5b4ae888723b1b077aab0fe8d4
MD5 fd119292c70c837fecdfbd054c6d9415
BLAKE2b-256 ce8923e37c19bf30f0570088b7c4b548a666ca94331a6aa5a59b34402becc2d5

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ef3bb0f69a7fdbce46f6d815ed025ae4860b38d5f9c610e512201dff19f4ce53
MD5 70fd013dde4891b37c0db2abe24ab91d
BLAKE2b-256 024a0f5e44b3c4c4536c8ff3e4556b3366da3492c08fda43c30bc0d13ca9927e

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aea292504f21ff243c52221710176842417b5bad5728d47a666f955f21f28024
MD5 fef6558277e1c970a9082038ca70f024
BLAKE2b-256 b3cd32932aa3e1927e001c04f6cb17e38eb850cebd160a5b44c40869414e5f71

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09f2c7922b8673b9b41be63a813c679ceead4bd760e4e4654cb1ec0529e51e97
MD5 f0e8560068af1737e513a7fc786e5200
BLAKE2b-256 9cf071d37470d2ac6768ed1d6a98cabf38fb1253e46dd6b2c747237e8bb6af82

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c20e62f37d92a1447ceb8cd217811a2a4f86abb34748b44cad8b9c1dadce6ba3
MD5 7692687b8518481cf219e788278332fa
BLAKE2b-256 afabe4e59030b835180e88497e50df287ef5fd2d1ebf09f36487bdf7f61476bf

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c04bc224c9bf812d46b2ffbb576cde0353fc4e765fb59f98756668935647a505
MD5 3226719db7e706eda2c6534e2de360bb
BLAKE2b-256 bb0e101c9bacba8b6650c75d0699c28b7ab7777c8678e5566776e095d9df19e9

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a423114051c1be9417238282f2aef98f803345dd0c10ad3be1156869e433bc66
MD5 7aa82ca5bad1c159cd510bcb65f82bbe
BLAKE2b-256 c95ae35ca2b438e4a9be4f4e70d0fafda3ae685171a30c95ecebc93cf774a80d

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51d220084d0f465608894ef885c0d03936d56998c858abc0f96bf81f0cc924b1
MD5 2a3d09dcd7b53f15766b411c700508bb
BLAKE2b-256 ab869ace06ce85fae8d4e8627723eb3a6a8785129a5b5801a76aaf55e4f1a0f1

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f929ff0dbf550c6e9f08021b481a01c323e79ebd00730f3018fa431ff7e6aded
MD5 8686b3abf23cebb7cf6360c1cb3e07dd
BLAKE2b-256 293821c7a14308424a4ab443615f532ac0bd4d7d217bd94a9dd9a790d3e95131

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fd4f9bf9e3643ab00dd7978b64f34876189f4720231636b5185e8e8589c49e16
MD5 a1a9d16c36ce80222056d9c6a21effa7
BLAKE2b-256 9d230bec37be81cf871c6845d72393ff2818e47863cfa20ec15c11e088abb32e

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d422e0f1bf6c1fb1b5405e2df73046ea8764375282f28d7b0e739a8177546c2e
MD5 7559ae61cf72ac56569bc95db9bc456d
BLAKE2b-256 bed59732146444f9c4627603d3d1259197a3d06c7cb160e55cb50d49d2379d48

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efd1ab4a14560764b4d635f4995994e6d94d6fa70a00f5e38d08418a90ea8547
MD5 f2754f0d0715d89286ad828de5a29b07
BLAKE2b-256 b749d1e2e6617299ea16c369fdb116263e5a42bdb78813f1ee842c219064f1f8

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 833d0ba73affdec98883e0828dbacb69ab4932f4e739062076ed679e54878f21
MD5 73a3d80c686a7b7a3610a56ead340ce5
BLAKE2b-256 1c65c162a577ffae63e06f15b286abeb277cada5cadb77a7110be24ceab83004

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8a80ee83afd5c837ed14b5dcf7dce12cc87fcf1431fabe82ab51d8ee0aeebbc4
MD5 207ac73c89142c9d7ca9fa1ae0fb1bc1
BLAKE2b-256 06ac36366079b189090cbd683040ab652ab6a3b78011983c20f0ed57e34191ce

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6cb6962b4715c3b0340d7c4b1d7043a00d0f95a7cffe2eb0a21a59d8ac791d1
MD5 e3124a96652d8cebd3210f1a9456526a
BLAKE2b-256 bd675abdd029319be1977b1740b9d9a010ecbc81d3f7a1a21587e8705069014f

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3541ad8b6ce00230bd96fe520d48c3a252e031531bc8337dfccf7553cbca998
MD5 c17eb61a4afc9ab9dd73da8112e814ac
BLAKE2b-256 be63e91c6c77a6af3049fd168e42cae868bad71e2248a8f7a3cfedfe50d95f6c

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 282cb925422b11dcc0c66e04ae3bb1f0a0af9518ef37db279a4b9a27826ae9bd
MD5 e678509c504bdfbcd9073fcdecc96dba
BLAKE2b-256 acb7beee8251f79675d4c93eed260c3fe9d99ff825699219df8098bdded49633

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3dbbca377ca081c1afeb87dac8d17e41e17dcb89ff04041edb03a73b42e53bbd
MD5 f6f81325229cb6b31a5ed380e829d2dd
BLAKE2b-256 310601e49eb93696f03d2d6e27a0fa0dfdef0cc1508d8036cdcf7137d67ea56d

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3af489151b2bdd910fe279fd6abdc7e53936c6b140a4bae743478cc3419a4cda
MD5 fb3b597c9803adc871ebcfce9d46822b
BLAKE2b-256 4858aa8b8150528a1d8d0a6374d4bb553f85a9d4c239c566c8d036d57697a85d

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1252b6ba31fb1404aa10d182d9b2685a3cac1753729390c8ec2dde0a882d88b9
MD5 b63d535c710f4a4977abeaa9c621ebb0
BLAKE2b-256 1532eb08a9e433aacb727f2b51da33f9c1612c6279fb7c2716ea28163412a2ba

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 46d55f8e39e4efd7a9510b4e3f04fff1f584d01feaf1eb916a6c0f1a1d9fc08e
MD5 fcc86f4f3ce6ac68e95a07a94a575387
BLAKE2b-256 ba6390d0ebc82743fc9e14b6ec5fc1c6c11189b4fe305b6049eb5a5625cdb1ee

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ad19f3c37554df6bbadd7d73fd2178be9959071cea4f2b5775864102abeeae0a
MD5 f8d8685cab4187a1530f4a4846830323
BLAKE2b-256 3c3a2f063df862ad0ac05c2f6f23094a405e75fbc77838aa8055e20e0a10dc1d

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f65ad8b78d96267fae103206425eb6e9cebcbb12a408ac5da3e22e7623631fa6
MD5 3a51a08525836ca9a3c952faca6bfb63
BLAKE2b-256 77fbf85d4d3333521e257c0e6e149bc938a544436cb39c29299f22b9a0955376

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3365a0b783879ece2553ac33015b12350b0c968c2b343a8387142252caaf10bd
MD5 fd97ae8f8a3e59a83fe2f3a68cf44418
BLAKE2b-256 2c2b5af129864160bb926af1e6e9f7a5458cd91a83361f525f70e989ea1f8b03

See more details on using hashes here.

File details

Details for the file pocketsphinx-5.0.4-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pocketsphinx-5.0.4-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ea9efc6bd47690f4a453d11f0e7fb4b4a4d47978b742b87e7f1741cc75a5d597
MD5 0843437bbfd6c9756587ace2a7e931fe
BLAKE2b-256 fc364fed866e5f1598f59df972ae62de60e6662d39ad0c290d99a83b959d0893

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