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

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.9 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 and contributors:

  • Andrew Grigorev

  • Ayan Mahapatra

  • 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.2.0.tar.gz (103.9 kB view details)

Uploaded Source

Built Distributions

pyahocorasick-2.2.0-cp313-cp313-win_amd64.whl (35.0 kB view details)

Uploaded CPython 3.13Windows x86-64

pyahocorasick-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (117.9 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyahocorasick-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyahocorasick-2.2.0-cp313-cp313-macosx_11_0_arm64.whl (33.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyahocorasick-2.2.0-cp313-cp313-macosx_10_13_universal2.whl (58.2 kB view details)

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

pyahocorasick-2.2.0-cp312-cp312-win_amd64.whl (35.0 kB view details)

Uploaded CPython 3.12Windows x86-64

pyahocorasick-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (117.9 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyahocorasick-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyahocorasick-2.2.0-cp312-cp312-macosx_11_0_arm64.whl (33.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyahocorasick-2.2.0-cp312-cp312-macosx_10_13_universal2.whl (58.2 kB view details)

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

pyahocorasick-2.2.0-cp311-cp311-win_amd64.whl (35.0 kB view details)

Uploaded CPython 3.11Windows x86-64

pyahocorasick-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (116.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyahocorasick-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (113.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyahocorasick-2.2.0-cp311-cp311-macosx_11_0_arm64.whl (33.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyahocorasick-2.2.0-cp311-cp311-macosx_10_9_universal2.whl (58.1 kB view details)

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

pyahocorasick-2.2.0-cp310-cp310-win_amd64.whl (35.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pyahocorasick-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (113.5 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyahocorasick-2.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (106.6 kB view details)

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

pyahocorasick-2.2.0-cp310-cp310-macosx_11_0_arm64.whl (33.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyahocorasick-2.2.0-cp310-cp310-macosx_10_9_universal2.whl (58.2 kB view details)

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

pyahocorasick-2.2.0-cp39-cp39-win_amd64.whl (35.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pyahocorasick-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (113.1 kB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyahocorasick-2.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (98.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ x86-64

pyahocorasick-2.2.0-cp39-cp39-macosx_11_0_arm64.whl (33.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyahocorasick-2.2.0-cp39-cp39-macosx_10_9_universal2.whl (58.2 kB view details)

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

File details

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

File metadata

  • Download URL: pyahocorasick-2.2.0.tar.gz
  • Upload date:
  • Size: 103.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pyahocorasick-2.2.0.tar.gz
Algorithm Hash digest
SHA256 817f302088400a1402bf2f8631fdb21cf5a2666888e0d6a7d5a3ad556212e9da
MD5 0fbb2fb9ec1182d030c7501893fe55b1
BLAKE2b-256 684be3bee663803e2202be984e1291084355f064dfa3a6a632e01fe496445a5c

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8eabbd6fcd65595d36dadc3fc57d536aa302833991cd6b0b872aae60c5eac3e9
MD5 ab0fc59b9cfa578059185e40c94aaa71
BLAKE2b-256 1fe37680654f2d5e06ed7df9c7e6387cf86ed48c670fc65d64924a9a03ccb0e7

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3f388b66e8973e8ac7cd7db7f90c56b2aaec4b5563b6da7bfc3e973b7ea34e1d
MD5 ff3b9737e58615b75f9336714986aa70
BLAKE2b-256 6148862fc0d3c92aa70a7c1721aa41460b8ac0a8d2e62aab039773c9b8d0c9d9

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67c4489c2615fc4a25824d1f12c9e775d84c2207eecedde273bbffd479d82e71
MD5 aece4b9238610fcdc5dc0d40a60c1b3d
BLAKE2b-256 d644b1cd7d1b35a5f77b45b5694def4a8e6560b44cafc0dce12b7dc19a609dbe

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57932f7e894107d5ddf011051feb081b0ff7fdd6ab94462ead0c4c716ffdbd47
MD5 a389ea5ea3c274b50ece5d58caf4c41c
BLAKE2b-256 4197b3cf05d0a3e545ce38a10c828fb188500a31261b679fd15ef717147eadee

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 54c9604d73051f96c2d5a6c267f404f3d2d02790a2680a0c0ee7069ef7660d8b
MD5 6c67794ade12fd24e99d10ee5df9e800
BLAKE2b-256 898cd62a60af6025bc02ef2d25f29f93c591c06f4e43e51b2127f9a4a0954eb8

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1dbc761cdf8c9a1b85f065fb2442c234b742203df8e3cd2f38fc45e4838b02d3
MD5 dd0b9c31ec80192d1326767bfebb3dae
BLAKE2b-256 5515ebd27c91dcb49487f8032e6046c11bee9037c793eb045a87d4df40c0af60

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 346f92c0086589e44c279d1519187bd3421d94836875033b27b7730f11bc923e
MD5 a175de1ed44fe45e50eb49a925748f75
BLAKE2b-256 66e5d3198bba8ce7cdf4c946f71a15bf75b26e2796b805ad43041a0ea77c422d

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c3fb6406b3311319bef625f0269af276b75f834e5cba33b81f2e8c35a9c6c91
MD5 08f54dfa915b79a58cc37a0e90428b40
BLAKE2b-256 4ce5088c0169c36581d961eb24d770a3c0a48b95d029fd12fa343f7c1a28c11f

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 73bb94c5621565c5ad22d2f44d45edc7e568de5bd629d22a435e76d7023dae4e
MD5 5aaa2b271571d6fdfdd8ed2e78554dc8
BLAKE2b-256 b7e36aa83f4f2852d03ce28872c139580913532a85686fc49f5136e4a7efce23

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 744f63790fc4d337e129c80d28f57e6ba4d22a4b7e065825c72e98f92a77e16b
MD5 c25ae4ed59a2f580b77de2ab3c4f5e42
BLAKE2b-256 97a6b88ab854348f8449a544a435abb270ed65ed5b77ceada372ef9e998f367c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e55347e2b884ec87c972e5f7706625f5bc4e07e703fbc1fb51a6f3bb3087d650
MD5 3fab1305c5ae0918b38bb563e30b810c
BLAKE2b-256 ac06d956a977db3cfa6f58cc031ca3e728bf7fc24076b5e040927b2fad2eb5e3

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9850cc8fc3071c239965ba1ca2114de990493025381582176af5951a64ff11cb
MD5 bd8e3bb0d22cc151ef5759a16383d08e
BLAKE2b-256 55356af44ddde1198d4a55c521fc42028046dabf5413212d74ac6c1b3caae471

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3463d65232e93ddbdab22be8c22ebc9246419d9be738da07af2bccf800c57107
MD5 6d201f94c9228fd65b5011a271d1a5b0
BLAKE2b-256 92e2f233e79c6f70c0d5eaee4382f4994b8db505e9947f6c08c6bb99daacce03

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4352ade48042067eae16c9c049351cd037078fdf1885c6befe44c7fd38ec7bc9
MD5 86dc5fc5c9663a0f4a827dcd61233d8a
BLAKE2b-256 b6a4ebea4cb5450fa77c0168fb2054916ff88eb26e1b4471d63a89b2be3f4291

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a20d05f965ba3d5d38fd26b80d087fb59b8945d3dab3571ff9d64cef6d7edf01
MD5 91472fca02ee46e5068c4ac078a90f0f
BLAKE2b-256 fc3df4348a913b1731ca8724f093321896d3ec19ac2526bf959f6a3365873267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 43a2f3302a1c45d54fb24cd988629908b11e70da32fed0042e3558f1a6603b00
MD5 1104b317db57024a34052db054adadc2
BLAKE2b-256 f7c2ce20c9a5b89147b70b2002f0c9b4d692677f011bb532826c4c204e72a207

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f6be205779ba8e58670356a8cc5fbbbcf9255bfe24569c736d45f036fce9f2af
MD5 952c12194b8177a459356352ee75a0c7
BLAKE2b-256 11c989d776685a0c2d0062b6d7d29e7d91525bc9528404fe49fff60a3b39ca84

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.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.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9b82717334794ee1bf50ab574c2b990179fc5bfedf1ff40875f18f011f5f7d5d
MD5 a0ce40dbf29e8da0477e44f3151f6a68
BLAKE2b-256 5f7a9bd41a59d6ee3abec9a494c21a2da425c3ca54b0d440b84deb37d47e3b66

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e9e082ffc2b240017357aeccaedc7aaccba530cb9e64945e23e999ef98b19c5
MD5 cc1f1cd02c56e59ff59724080bd160ba
BLAKE2b-256 10c602d4adcf2e75eb68c4e9f929b09731d9c21459af1184efe90d51ad837b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 779f1bb63644655d6001f5b1c5f864ec1284cf1b622ac24774f8444ab92f4f84
MD5 d369ff9620432f290968cb11fc34cf65
BLAKE2b-256 add462c7eb67e304d0e746a0a782f261011d78fc4a440f00d37ee95fd93816fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a54abc9f24ec9578769ce6ae24fce438e92171932d400c77b4ff5564e5be3b97
MD5 1ecc0e40f55a79ab101fc372ff12f6cb
BLAKE2b-256 605e00a1a63194a3c9f72f8e48ccab325c87547806ef31105fb533b07313beb3

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cfb8d47b5d709342c6f65770d266a5f608f7e2736f161427146ff504bc698bc6
MD5 24dc570eb0929a1421315d1f4e95adad
BLAKE2b-256 95520780049884b2d66a6b7d252d618df65effef9da8fbeaf1ce5736c63e2632

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 08e7125b4baa5e6e293c06a994e7d11462c5bd4f08b708ab97ba5edddf07c5ff
MD5 fcfd7f3e90c991eb7d9a89b1957ec651
BLAKE2b-256 9bbf203aeab3bf5db13a0bc85b69777986f2ca3a691e0dbd8b05975e8cbce810

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 179fb28f3bd9865ec175ed47283feb68af99d9ca1c63a4f25282d6575f29cdbd
MD5 50ea5617a18e14907eb097000eefb3ba
BLAKE2b-256 d16d718db0b31ce5df316abadc01dd9e81e4a179ebbcb15c18f87c5d99bf7512

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.2.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9c964af712aa57216575d1d42afed9a9b1df296794739654ed1359a2c4a6074f
MD5 ffaac61da029d434071520324cd06a8b
BLAKE2b-256 cb4f7ef4e0a7ee5c94e8a4d9fc332baf3be743d2634f0aeb2d3d3e6f8700c26d

See more details on using hashes here.

Supported by

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