Skip to main content

pyahocorasick is a fast and memory efficient library for exact or approximate multi-pattern string search. With the ``ahocorasick.Automaton`` class, you can find multiple key string occurrences at once in some input text. You can use it as a plain dict-like Trie or convert a Trie to an automaton for efficient Aho-Corasick search. And pickle to disk for easy reuse of large automatons. Implemented in C and tested on Python 3.6+. Works on Linux, macOS and Windows. BSD-3-Cause license.

Project description

Appveyor Windows Master branch tests status GitHub Action build on test -  Master branch status Documentation Status

pyahocorasick is a fast and memory efficient library for exact or approximate multi-pattern string search meaning that you can find multiple key strings occurrences at once in some input text. The strings “index” can be built ahead of time and saved (as a pickle) to disk to reload and reuse later. The library provides an ahocorasick Python module that you can use as a plain dict-like Trie or convert a Trie to an automaton for efficient Aho-Corasick search.

pyahocorasick is implemented in C and tested on Python 3.6 and up. It works on 64 bits Linux, macOS and Windows.

The license is BSD-3-Clause. Some utilities, such as tests and the pure Python automaton are dedicated to the Public Domain.

Testimonials

Many thanks for this package. Wasn’t sure where to leave a thank you note but this package is absolutely fantastic in our application where we have a library of 100k+ CRISPR guides that we have to count in a stream of millions of DNA sequencing reads. This package does it faster than the previous C program we used for the purpose and helps us stick to just Python code in our pipeline.

Miika (AstraZeneca Functional Genomics Centre) https://github.com/WojciechMula/pyahocorasick/issues/145

Download and source code

You can fetch pyahocorasick from:

The documentation is published at https://pyahocorasick.readthedocs.io/

Quick start

This module is written in C. You need a C compiler installed to compile native CPython extensions. To install:

pip install pyahocorasick

Then create an Automaton:

>>> import ahocorasick
>>> automaton = ahocorasick.Automaton()

You can use the Automaton class as a trie. Add some string keys and their associated value to this trie. Here we associate a tuple of (insertion index, original string) as a value to each key string we add to the trie:

>>> for idx, key in enumerate('he her hers she'.split()):
...   automaton.add_word(key, (idx, key))

Then check if some string exists in the trie:

>>> 'he' in automaton
True
>>> 'HER' in automaton
False

And play with the get() dict-like method:

>>> automaton.get('he')
(0, 'he')
>>> automaton.get('she')
(3, 'she')
>>> automaton.get('cat', 'not exists')
'not exists'
>>> automaton.get('dog')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError

Now convert the trie to an Aho-Corasick automaton to enable Aho-Corasick search:

>>> automaton.make_automaton()

Then search all occurrences of the keys (the needles) in an input string (our haystack).

Here we print the results and just check that they are correct. The Automaton.iter() method return the results as two-tuples of the end index where a trie key was found in the input string and the associated value for this key. Here we had stored as values a tuple with the original string and its trie insertion order:

>>> for end_index, (insert_order, original_value) in automaton.iter(haystack):
...     start_index = end_index - len(original_value) + 1
...     print((start_index, end_index, (insert_order, original_value)))
...     assert haystack[start_index:start_index + len(original_value)] == original_value
...
(1, 2, (0, 'he'))
(1, 3, (1, 'her'))
(1, 4, (2, 'hers'))
(4, 6, (3, 'she'))
(5, 6, (0, 'he'))

You can also create an eventually large automaton ahead of time and pickle it to re-load later. Here we just pickle to a string. You would typically pickle to a file instead:

>>> import pickle
>>> pickled = pickle.dumps(automaton)
>>> B = pickle.loads(pickled)
>>> B.get('he')
(0, 'he')

See also:

Documentation

The full documentation including the API overview and reference is published on readthedocs.

Overview

With an Aho-Corasick automaton you can efficiently search all occurrences of multiple strings (the needles) in an input string (the haystack) making a single pass over the input string. With pyahocorasick you can eventually build large automatons and pickle them to reuse them over and over as an indexed structure for fast multi pattern string matching.

One of the advantages of an Aho-Corasick automaton is that the typical worst-case and best-case runtimes are about the same and depends primarily on the size of the input string and secondarily on the number of matches returned. While this may not be the fastest string search algorithm in all cases, it can search for multiple strings at once and its runtime guarantees make it rather unique. Because pyahocorasick is based on a Trie, it stores redundant keys prefixes only once using memory efficiently.

A drawback is that it needs to be constructed and “finalized” ahead of time before you can search strings. In several applications where you search for several pre-defined “needles” in a variable “haystacks” this is actually an advantage.

Aho-Corasick automatons are commonly used for fast multi-pattern matching in intrusion detection systems (such as snort), anti-viruses and many other applications that need fast matching against a pre-defined set of string keys.

Internally an Aho-Corasick automaton is typically based on a Trie with extra data for failure links and an implementation of the Aho-Corasick search procedure.

Behind the scenes the pyahocorasick Python library implements these two data structures: a Trie and an Aho-Corasick string matching automaton. Both are exposed through the Automaton class.

In addition to Trie-like and Aho-Corasick methods and data structures, pyahocorasick also implements dict-like methods: The pyahocorasick Automaton is a Trie a dict-like structure indexed by string keys each associated with a value object. You can use this to retrieve an associated value in a time proportional to a string key length.

pyahocorasick is available in two flavors:

  • a CPython C-based extension, compatible with Python 3 only. Use older version 1.4.x for Python 2.7.x and 32 bits support.

  • a simpler pure Python module, compatible with Python 2 and 3. This is only available in the source repository (not on Pypi) under the etc/py/ directory and has a slightly different API.

Unicode and bytes

The type of strings accepted and returned by Automaton methods are either unicode or bytes, depending on a compile time settings (preprocessor definition of AHOCORASICK_UNICODE as set in setup.py).

The Automaton.unicode attributes can tell you how the library was built. On Python 3, unicode is the default.

Build and install from PyPi

To install for common operating systems, use pip. Pre-built wheels should be available on Pypi at some point in the future:

pip install pyahocorasick

To build from sources you need to have a C compiler installed and configured which should be standard on Linux and easy to get on MacOSX.

To build from sources, clone the git repository or download and extract the source archive.

Install pip (and its setuptools companion) and then run (in a virtualenv of course!):

pip install .

If compilation succeeds, the module is ready to use.

Support

Support is available through the GitHub issue tracker to report bugs or ask questions.

Contributing

You can submit contributions through GitHub pull requests.

  • There is a Makefile with a default target that builds and runs tests.

  • The tests can run with a pip installe -e .[testing] && pytest -vvs

  • See also the .github directory for CI tests and workflow

Authors

The initial author and maintainer is Wojciech Muła. Philippe Ombredanne is Wojciech’s sidekick and helps maintaining, and rewrote documentation, setup CI servers and did a some work to make this module more accessible to end users.

Alphabetic list of authors:

  • Andrew Grigorev

  • Bogdan

  • David Woakes

  • Edward Betts

  • Frankie Robertson

  • Frederik Petersen

  • gladtosee

  • INADA Naoki

  • Jan Fan

  • Pastafarianist

  • Philippe Ombredanne

  • Renat Nasyrov

  • Sylvain Zimmer

  • Xiaopeng Xu

and many others!

This library would not be possible without help of many people, who contributed in various ways. They created pull requests, reported bugs as GitHub issues or via direct messages, proposed fixes, or spent their valuable time on testing.

Thank you.

License

This library is licensed under very liberal BSD-3-Clause license. Some portions of the code are dedicated to the public domain such as the pure Python automaton and test code.

Full text of license is available in LICENSE file.

Other Aho-Corasick implementations for Python you can consider

While pyahocorasick tries to be the finest and fastest Aho Corasick library for Python you may consider these other libraries:

  • Written in pure Python.

  • Poor performance.

  • Written in pure Python.

  • Better performance than py-aho-corasick.

  • Using pypy, ahocorapy’s search performance is only slightly worse than pyahocorasick’s.

  • Performs additional suffix shortcutting (more setup overhead, less search overhead for suffix lookups).

  • Includes visualization tool for resulting automaton (using pygraphviz).

  • MIT-licensed, 100% test coverage, tested on all major python versions (+ pypy)

  • Written in C. Does not return overlapping matches.

  • Does not compile on Windows (July 2016).

  • No support for the pickle protocol.

  • Written in Cython.

  • Large automaton may take a long time to build (July 2016)

  • No support for a dict-like protocol to associate a value to a string key.

  • Written in C.

  • seems unmaintained (last update in 2005).

  • GPL-licensed.

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

pyahocorasick-2.0.0.tar.gz (99.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyahocorasick-2.0.0-cp311-cp311-win_amd64.whl (39.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pyahocorasick-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl (113.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

pyahocorasick-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (118.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_universal2.whl (63.6 kB view details)

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

pyahocorasick-2.0.0-cp310-cp310-win_amd64.whl (39.9 kB view details)

Uploaded CPython 3.10Windows x86-64

pyahocorasick-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl (109.9 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

pyahocorasick-2.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (110.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ x86-64manylinux: glibc 2.5+ x86-64

pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_universal2.whl (63.6 kB view details)

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

pyahocorasick-2.0.0-cp39-cp39-win_amd64.whl (40.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pyahocorasick-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl (109.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

pyahocorasick-2.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (103.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ x86-64

pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_universal2.whl (63.6 kB view details)

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

pyahocorasick-2.0.0-cp38-cp38-win_amd64.whl (40.0 kB view details)

Uploaded CPython 3.8Windows x86-64

pyahocorasick-2.0.0-cp38-cp38-musllinux_1_1_x86_64.whl (110.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

pyahocorasick-2.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (104.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ x86-64

pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl (37.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_universal2.whl (63.6 kB view details)

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

pyahocorasick-2.0.0-cp37-cp37m-win_amd64.whl (39.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

pyahocorasick-2.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl (107.8 kB view details)

Uploaded CPython 3.7mmusllinux: musl 1.1+ x86-64

pyahocorasick-2.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (101.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.5+ x86-64

pyahocorasick-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (37.7 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file pyahocorasick-2.0.0.tar.gz.

File metadata

  • Download URL: pyahocorasick-2.0.0.tar.gz
  • Upload date:
  • Size: 99.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.10

File hashes

Hashes for pyahocorasick-2.0.0.tar.gz
Algorithm Hash digest
SHA256 2985cac6d99c0e9165617fe154b4db0b50c4c2819791c2ad5f0aac0c6a6e58c5
MD5 32d4eb1053c0c84a47b1bd3b77c8797c
BLAKE2b-256 280a9cf574f8aed5a38f945944481ea297953dfed065aacdd045c9a0c5df0458

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a3b7059515bb2f6baed72ce20b30ff877a1f5b15acb4590e2af5db9fb2bb8314
MD5 c014fe1ee91d250da4b3a387c918311e
BLAKE2b-256 f6ad2852dba3e9027cb22adfe1563733571d58a9fb36fd8dbaedd00012369223

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f455e517ddef82fc6891d0ffb82f60070ccc13c425d431b82082e5bdd226ac1f
MD5 0f4df94a33212507fb281528ded28a56
BLAKE2b-256 2bcd75a03c619e294ad107583503e4ee2e05b5c38c4bab45a0e724e56c11f53a

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 644a2bc91aaef019242a9530bbd832e31a2388deb2d54587d238cbace13898c4
MD5 210413e32f4a6ac0110704ecb21ea37f
BLAKE2b-256 d2fae8f2df789b9ac352edd7298b7c713748ab0ac663479a1191bae700d62383

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4058b0c35175bedd0d097369d7ef752d03d1e5731d1fda439a7644d90fd4089a
MD5 dc6edc890cbd311a0b519b748844caa2
BLAKE2b-256 b337489c92224a4dcdcd5f719736bc8b70a70caaee1f98e0ba548d1ac7f3a7d1

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1a322cd6c0554caca957cbdf60c3a52b7e57c8e9fb2ac65e6a0f27e86b7e628b
MD5 4f33973c8c6902a09908c2c83949d912
BLAKE2b-256 ccfab8f477a7033920dd3923ca7852cd75277a5498ce1a294b9ac8db00206a13

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4086ba7bb0ab5060661543f9503faac1e4648468c20aa05a986d5af4ed1a423b
MD5 1ff6dac9a5633e51b0ade5625e86759d
BLAKE2b-256 58f2c3862698981d6376acd8a7611a0595ab1a4ee1ccfa275bf5ee96ed2afb16

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8f4b43156b200df99b197d856778f94b489a559a65b7948ebdea67f91e09b20f
MD5 4e28e30b34c366615399652c44237631
BLAKE2b-256 fc04dc4004bbc1d4e499958b5754dfe296a76b7dfe3de42cc65b5a0ffd7961d7

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cd731fbe632edd32c1e4fdf16dd85ceba9bf3bf9793ff70c573d20156e812a29
MD5 1b55416e0210140c96520b21577c119e
BLAKE2b-256 dc5bdd290b77c190f334dc0de4aae20dee58e25daca8dc46137178b24034edef

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04f209fb96b824474185e42a8cc099fd0580d504049359b5296632bbe404dd7d
MD5 2f1ae4d154613b554c76c4a3eb0bbfc8
BLAKE2b-256 a51c9c186d315e1dc13efb6097ffe7cf8f1a8e7c286705490e87782ac12dc774

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e20e58e37ed21ce1007c3753ce462f878b7dc68ae5ff693832fdc390d6537aff
MD5 82e04c103036545afa4352af75b557ce
BLAKE2b-256 f3bbb80e471b8324c5b1d15ab0610be81c3f06d996f7fc565c211c309da12b72

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bb1414ec05e134aca5fd037132de87ea28878573516f44772e90be407882b908
MD5 350bb1b2f50b0a92e6e817354dea88bd
BLAKE2b-256 86e3ff154cb1cbfd08fb38e28206afc43e9f4035d484dffa76c9052f19ca987a

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5081c010c64117965b6bb40e19674bf08f71dea2ddde51795591e427ac261325
MD5 2570869d625be25bae2115f526a69773
BLAKE2b-256 51e0b38571f8faccc4349fb11adbfd0eab157346806300b62b7f911baaf79fea

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 11feb62defff120415a54fab7ae47e27453014614b5fcd732ce93c247c9ab770
MD5 43ace098c9322b59fd905a4dc27665e9
BLAKE2b-256 05dff41e676526745c9299188769c74f4a175a4c16fc3fe3ae327b837924ecce

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bd7adbd4a2088a74e8e78995a8b654c0ead0eb4a47e871c231c502e8c2deaa65
MD5 a1125e777f2c7a545304e4edcd4c2b6c
BLAKE2b-256 2ed479949b45f6ce20faf3a0b4322d1a486843eb7f9faf9c04689129d5c49e72

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9645f4b8f42b27adad6839f77baf3d48d2db50709a72fc35ce74017038aa5545
MD5 1d9669d8a1cff861bf7f40f578e543c7
BLAKE2b-256 f06b08c0a917943f616c2bd7d57baa7b42ed38c434c91ae5f4bcb1af2c395747

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 11adffb8ce4015e36f766afc77bf0c121af052f437049e2f87e10f1bcac43d25
MD5 20e18a24931a9af53b8374447e0c1662
BLAKE2b-256 632948fa55974259e2d5b1daf957d04e11ca15ec9b2f553c5c4469b4aaa615d1

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9e0631784addce1aabe2bd4696b7b557b71b937b24ffe28a56877baf6c35c86b
MD5 619c1fd52dc531a7c5b565e3e35691c0
BLAKE2b-256 82900662b04927e7744376d6a9fffb0e7907e50076c16ae1551feb1e57abec43

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 67f2f85d78290c7de0c770e6c28d8868859950088781440485cffbfeed4c1f8d
MD5 8e9852737162a586d01b9528b9523628
BLAKE2b-256 115398f8c5ce7b164c2dbf8e0eb76cdd5e9f8aa61ec0d33b9b55ed687137fe65

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c706c28423816611cc683ad4082d59619a6bb2dbdff3a61d62d7f8b9d353529a
MD5 72931fcf80fc73dbeec3f96cadb036c3
BLAKE2b-256 c62e8e8c2660a340983e5c40d5f5c5c8e608e36f3ceecd066c4d977b30be9e07

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 fa1ef232f8e816b7fe637e2f60ebc74c231e50b0315c88c841e8fd16ceb31592
MD5 d240c27adc94ce91c2990266a304a679
BLAKE2b-256 32ef85a5b5163b72c211e034f78272ff544c1a06f14fb5524f7f129b11afdbc8

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 67c53f8709611754013541fa781e2dc2aa4653a3d472c8e4789ffa94d9482db3
MD5 c4c44509625c8fc0341da5e7815eda65
BLAKE2b-256 cb3ad67c71fca01075048d8879a2ec06843b1705ae627a6e2f95e9ddbed10748

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 675d0f47b1369748ce8c3b746dba0496022523547aa80f330b45d7e7cf446f5f
MD5 0fc2df099f2eb9c77c91464965dddc67
BLAKE2b-256 4192d874499bd1b9459484bd917a9eb8bd8f40e321cbebf000c9e065c4075739

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a44ab4e11a2c3f292506f2b3d5afefa19d01a3172d6209f4eb2827802a7c3630
MD5 0a37f8a020a6df828bf1a326d1035605
BLAKE2b-256 9daf1990b8c007626352b33004e527e270c2ec538e77e1119f6cdcd5f46de3b9

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f3d68ad21aa63dae116d76c98f160454c199501c592e1cf45d013074ecf79f8
MD5 e345eec3387d790a76f320a721aeb759
BLAKE2b-256 7b316a88187d90594cfb4467b03bc507f8c288cd4f3d3daf593de5a45d2b5c46

See more details on using hashes here.

Supported by

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