Skip to main content

A fast implementation of the Aho-Corasick algorithm using the compact double-array data structure

Project description

python-daachorse

daachorse is a fast implementation of the Aho-Corasick algorithm using the compact double-array data structure. This is a Python wrapper.

PyPI Build Status Documentation Status

Installation

Install pre-built package from PyPI

Run the following command:

$ pip install daachorse

Build from source

You need to install the Rust compiler following the documentation beforehand. daachorse uses pyproject.toml, so you also need to upgrade pip to version 19 or later.

$ pip install --upgrade pip

After setting up the environment, you can install daachorse as follows:

$ pip install git+https://github.com/daac-tools/python-daachorse

Example usage

Daachorse contains some search options, ranging from basic matching with the Aho-Corasick algorithm to trickier matching. All of them will run very fast based on the double-array data structure and can be easily plugged into your application as shown below.

Finding overlapped occurrences

To search for all occurrences of registered patterns that allow for positional overlap in the input text, use find_overlapping(). When you instantiate a new automaton, unique identifiers are assigned to each pattern in the input order. The match result has the character positions of the occurrence and its identifier.

>> import daachorse
>> patterns = ['bcd', 'ab', 'a']
>> pma = daachorse.Automaton(patterns)
>> pma.find_overlapping('abcd')
[(0, 1, 2), (0, 2, 1), (1, 4, 0)]

Finding non-overlapped occurrences with standard matching

If you do not want to allow positional overlap, use find() instead. It performs the search on the Aho-Corasick automaton and reports patterns first found in each iteration.

>> import daachorse
>> patterns = ['bcd', 'ab', 'a']
>> pma = daachorse.Automaton(patterns)
>> pma.find('abcd')
[(0, 1, 2), (1, 4, 0)]

Finding non-overlapped occurrences with longest matching

If you want to search for the longest pattern without positional overlap in each iteration, use MATCH_KIND_LEFTMOST_LONGEST in the construction.

>> import daachorse
>> patterns = ['ab', 'a', 'abcd']
>> pma = daachorse.Automaton(patterns, daachorse.MATCH_KIND_LEFTMOST_LONGEST)
>> pma.find('abcd')
[(0, 4, 2)]

Finding non-overlapped occurrences with leftmost-first matching

If you want to find the the earliest registered pattern among ones starting from the search position, use MATCH_KIND_LEFTMOST_FIRST.

This is so-called the leftmost first match, a bit tricky search option. For example, in the following code, ab is reported because it is the earliest registered one.

>> import daachorse
>> patterns = ['ab', 'a', 'abcd']
>> pma = daachorse.Automaton(patterns, daachorse.MATCH_KIND_LEFTMOST_FIRST)
>> pma.find('abcd')
[(0, 2, 0)]

License

Licensed under either of

at your option.

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

daachorse-0.1.7.tar.gz (13.8 kB view details)

Uploaded Source

Built Distributions

daachorse-0.1.7-cp311-none-win_amd64.whl (162.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

daachorse-0.1.7-cp311-none-win32.whl (150.8 kB view details)

Uploaded CPython 3.11 Windows x86

daachorse-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (589.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

daachorse-0.1.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (605.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

daachorse-0.1.7-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (524.6 kB view details)

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

daachorse-0.1.7-cp310-none-win_amd64.whl (162.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

daachorse-0.1.7-cp310-none-win32.whl (150.8 kB view details)

Uploaded CPython 3.10 Windows x86

daachorse-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (589.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

daachorse-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (605.2 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

daachorse-0.1.7-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (524.6 kB view details)

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

daachorse-0.1.7-cp39-none-win_amd64.whl (162.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

daachorse-0.1.7-cp39-none-win32.whl (150.9 kB view details)

Uploaded CPython 3.9 Windows x86

daachorse-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (589.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

daachorse-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (605.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

daachorse-0.1.7-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (525.5 kB view details)

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

daachorse-0.1.7-cp38-none-win_amd64.whl (162.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

daachorse-0.1.7-cp38-none-win32.whl (151.2 kB view details)

Uploaded CPython 3.8 Windows x86

daachorse-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (590.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

daachorse-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (605.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

daachorse-0.1.7-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (526.0 kB view details)

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

daachorse-0.1.7-cp37-none-win_amd64.whl (162.6 kB view details)

Uploaded CPython 3.7 Windows x86-64

daachorse-0.1.7-cp37-none-win32.whl (151.2 kB view details)

Uploaded CPython 3.7 Windows x86

daachorse-0.1.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (590.2 kB view details)

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

daachorse-0.1.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl (605.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.5+ i686

daachorse-0.1.7-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl (526.0 kB view details)

Uploaded CPython 3.7m macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64

File details

Details for the file daachorse-0.1.7.tar.gz.

File metadata

  • Download URL: daachorse-0.1.7.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7.tar.gz
Algorithm Hash digest
SHA256 1c14cff63b39853ecfd8017fe5f27a1c53579e3e530df55087ca472f9483cc59
MD5 095a32e3ddf58d250b15342ca16f30c2
BLAKE2b-256 341f2167612ac355fd82b1ee2f6ab9b3037b97295934d241b2a143a6138340f4

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 3d055c12eaa68bf59c0be8a0e5b9b81bd57ea99c30b817656487acf5312e2bb2
MD5 3b8f23cfebc0090f112523c898b8c658
BLAKE2b-256 e98900ca554a137eca9d055c523a69a66e9338c647d436a895c036ff86b617cc

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp311-none-win32.whl.

File metadata

  • Download URL: daachorse-0.1.7-cp311-none-win32.whl
  • Upload date:
  • Size: 150.8 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7-cp311-none-win32.whl
Algorithm Hash digest
SHA256 792373ace8a7140ecf4ccc233f07c186d1f2c11357f9454d17fcfbb5dedd9a9d
MD5 9af2358030f4c0373745e5ee81ff3b72
BLAKE2b-256 b4fbac6d34d3531fd100b504c854fefc07cedaecba558b1b391265dce08c25c5

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60015303339b2002dc2b61d793c319b30dccfbc63ddd334c97281a0c6767711b
MD5 f1db083b338d1760eb7cbe16e595931f
BLAKE2b-256 bb5d0cdb658a530f8855ed81af7158f67d7eba2eb0b846c5d35959de4cac7616

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 99a414f633f73d0815e0d4a549003f31aef39a57e43fdcb91e6105574f5eadcb
MD5 fad48b311714124b39e1a1e8f2cb52b3
BLAKE2b-256 bfe50928b200a490cf5bf50698bdd99f6d188dcfe7861a52f80cb21da70d0dc3

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dc01390b04cb8b3b6215050d844821041b3a469f7e9e676e665325d08e43baad
MD5 9d95fae9b4fb82dfce1e33812a525edd
BLAKE2b-256 afb4a785d4288668214412fbf41542ad2412d41467923d46a548d5dffbe6bd86

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 97b41d832474ae6614589bc086e32b1a360f5983c45fe8167445f9598412e0e6
MD5 b563cc3600f0c7afe3dd6a19a9058e00
BLAKE2b-256 458377ed7e25b08a301060458c9f233938aa10c137285cb8d88da352a423f135

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp310-none-win32.whl.

File metadata

  • Download URL: daachorse-0.1.7-cp310-none-win32.whl
  • Upload date:
  • Size: 150.8 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7-cp310-none-win32.whl
Algorithm Hash digest
SHA256 164b0899bbfbd9add91a7185034d058f4fe1c2acba7b3b4ebf14ab267fe603e5
MD5 e8f624c447015bcf03af10ef46db6ce4
BLAKE2b-256 fac11b7dafca29c2224a23cabf453ac2c21b164cf14173f22b6f55c0067b1006

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c4c6d0ed1d3fe3db6ac5a64009c5462a698b2324f434121bc69d66e42ba3333
MD5 3d1b3cccbad50fdb6a6e93c034040e21
BLAKE2b-256 4195ffdbce5ffe5530bd7e7d6d6bd998b431203c9bba9707877fa20b3132fe11

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ee12ab6e674e1bcb739ed71d45ff8467a4fe21ac2f28f0a9d3def6c3bc8373a3
MD5 84565d153f22954438e254389c8f1007
BLAKE2b-256 411a2ed99b128c405520c2d685eea489eb7b0cb3dfe5303fecf916323c4e7f0d

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a2137dfc5df7f07042a8fceb94b12ada85a4f04c68cd7bab72fe3a5e0a9eed35
MD5 cf5bce1c1b8359986a15ea3bff1d1c1d
BLAKE2b-256 29a81219638a3424292bdd041e20e03c5d3e5302e7ec7653be777b4655b7b3ee

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 93f68b9735dc3dc78f75144f48dd4f255ea8e439577f040aacfb13b653dfd006
MD5 f15aa6bda207ced20ad8c9297c9ecefc
BLAKE2b-256 6eba6fd626a640a83cce55f71d23817a4e886c53e7b5db151174529892ca38a7

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp39-none-win32.whl.

File metadata

  • Download URL: daachorse-0.1.7-cp39-none-win32.whl
  • Upload date:
  • Size: 150.9 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7-cp39-none-win32.whl
Algorithm Hash digest
SHA256 c1954fe72dcf15a24f4467444f387272a4b028991057c06408f0e951100487af
MD5 fe1dc1eb33166460fbee8433cab13a90
BLAKE2b-256 98f38bf8920d1f317292f6184ec0ca7000bde0f87b086b481fce8e3f62eb1263

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a0550cd6e392b037355b24807f0ad9dd6544997eeff42ffa326a21453dc0dca
MD5 221ff8774dda2de2a33da3f82ebac56a
BLAKE2b-256 89b244ca6faaa43941c1a07cd683b5a9182eeb812b000923f0c07ce51894e497

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 91166fdf3ff519344122db34a854803da34f6efee7c9eb9473643ed7f91d780a
MD5 d5c88934d5d64a11a4faba5e93adee93
BLAKE2b-256 fa785dca42dee30b340983c357599878c08a31dfd2c25f26ee0382ea77745dfd

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 aa3d8c94a3459cfef5ee37b36e69f28849a2fe6b6a2fb7fee3cea45e938b0d23
MD5 5739b27413de563d6968b28c59009541
BLAKE2b-256 d86d13499095203a967080c848b8d851622080e45c3540610393e2f2434a3d0e

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 d9a42158fdc70b2b8df5e8ee70d3d9772c9eedf4344f32d5ec8408f86dcc2a8b
MD5 c37fe9f429c3074ca5231fd836effda5
BLAKE2b-256 75f3eb0daae3e7fbd903dfe77e66efcc5d8f2c86b0ec7b37ae541f43367ac035

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp38-none-win32.whl.

File metadata

  • Download URL: daachorse-0.1.7-cp38-none-win32.whl
  • Upload date:
  • Size: 151.2 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7-cp38-none-win32.whl
Algorithm Hash digest
SHA256 4300da8b17642b224a8f393fcbf1c781109d0ad7fb8a54ea00339d5b86e2f3c5
MD5 817a28e1f9abb645cc8c7b97833f2346
BLAKE2b-256 768eeb79f10420e803b91862b899477104ee8b11705d0729c91603db9b4caf56

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1776858e1c08b3591eb08edf97c299992d06db367babceb5a2aa07e4d0e468f7
MD5 6fbc8e01f80eda7b9f79b876b7b6dca6
BLAKE2b-256 ec4fd5dae4a1b57fdf851a38d1cd70e1d1dc852b128d71752f2034de621cc6ad

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 82587b0bef5ce71e97a4f8908e0f78b9b13fe1ec21ba365c4bd0abf9958e98d4
MD5 ad7f1712167a366558ded6eb5d343607
BLAKE2b-256 ed111bbd5f69ee22bf31a5337732fa5e6849928278e7e07083689a882a74ac37

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f28a16c9a80aea895bd7854c0c4cdb9fbeeb903342b4fd88a1eb079179891ee6
MD5 446f96a10ae91172321865db67a5f3b0
BLAKE2b-256 ff524407673af2cb1f13897555c02b9135e4bbfac754c14f8082a3f4309c430a

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp37-none-win_amd64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 210451d3aac8a2df1375e1b53483537547158ce9c178d6b46c4597782e099712
MD5 917198fa81e393cc55fe745a43ee50f9
BLAKE2b-256 ebf58d10a8442d7f3d098e377673025e144a160e209db76ba5d50d31d57a7ddf

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp37-none-win32.whl.

File metadata

  • Download URL: daachorse-0.1.7-cp37-none-win32.whl
  • Upload date:
  • Size: 151.2 kB
  • Tags: CPython 3.7, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.12

File hashes

Hashes for daachorse-0.1.7-cp37-none-win32.whl
Algorithm Hash digest
SHA256 f90da26c6e374f94a7142bb510b6024702ffe2fc74de054c2b89dba1b4275785
MD5 63920fc96384e6e4a6198e1371ac6164
BLAKE2b-256 093cc296f74192760f6dd05e9424692326be79ce8bebe3f30bbe4f7b6af09a41

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da8b8440a5bf29f976999cc061370dff0b6d52ef3f89c58f1ce8afd2888a2f88
MD5 390ffad9663651505b481874eebeb621
BLAKE2b-256 b1bc4f8785a4eece33325ad6a5fc4d4658d5d746bec6febce240432a3bf89fa2

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 2ed556928d7773705b2e79b05a86db5f36b44fa6e78fb7fec048972eb82d3bf5
MD5 bf896d6cf65e959fa5424ffeefa2825f
BLAKE2b-256 bf1d3cca607d89b775b0ae461c4d03cee5f32e6a6a269a6855b380ff58ad2f64

See more details on using hashes here.

File details

Details for the file daachorse-0.1.7-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for daachorse-0.1.7-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 25389772c0b6aadf86fd969524c0f19b692f017308d63745d35845ab85182aab
MD5 903135a59bf041575ce7e2ccd19c32ca
BLAKE2b-256 bc2c75403ade5875f9a9fd9587a7bd92d17d6acd67618d42f42c61fb01655a4d

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