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.3.0.tar.gz (104.6 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.3.0-cp314-cp314-win_amd64.whl (36.0 kB view details)

Uploaded CPython 3.14Windows x86-64

pyahocorasick-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (117.9 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pyahocorasick-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (114.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyahocorasick-2.3.0-cp314-cp314-macosx_11_0_arm64.whl (34.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyahocorasick-2.3.0-cp314-cp314-macosx_10_15_universal2.whl (60.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

pyahocorasick-2.3.0-cp313-cp313-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.13Windows x86-64

pyahocorasick-2.3.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.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (114.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyahocorasick-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (34.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyahocorasick-2.3.0-cp313-cp313-macosx_10_13_universal2.whl (60.1 kB view details)

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

pyahocorasick-2.3.0-cp312-cp312-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.12Windows x86-64

pyahocorasick-2.3.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.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (114.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyahocorasick-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (34.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyahocorasick-2.3.0-cp312-cp312-macosx_10_13_universal2.whl (60.1 kB view details)

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

pyahocorasick-2.3.0-cp311-cp311-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.11Windows x86-64

pyahocorasick-2.3.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.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (113.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyahocorasick-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (34.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyahocorasick-2.3.0-cp311-cp311-macosx_10_9_universal2.whl (59.7 kB view details)

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

pyahocorasick-2.3.0-cp310-cp310-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.10Windows x86-64

pyahocorasick-2.3.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.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (110.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyahocorasick-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (34.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyahocorasick-2.3.0-cp310-cp310-macosx_10_9_universal2.whl (59.7 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyahocorasick-2.3.0.tar.gz
Algorithm Hash digest
SHA256 2960f5838bbcca4d7765c40478ec56f938e3f161946ff84f00c06d2b3a0ba9dd
MD5 6435ee3a08f0cf59ff75b452eaaa6378
BLAKE2b-256 adeb6bf175a745bdb3b247c0f8bff784745f0b30fdfafb5760d635b45d91c607

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0c6d9379ddf58cad4abd661795b4b975ba9b542227e78de6ded80757c3ac599d
MD5 b37277d61e743c6fa460934e60afe815
BLAKE2b-256 6afc81b8a915762bdbd6e1d4582e186ec4bdb7fa60998f83d3a81bff3a5d9e89

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9dee08a895eaa39712b65d2efe88b8aa642e07c1bd621a8f9056beb7001f1539
MD5 8f88546430419794c11d4c63db0b2089
BLAKE2b-256 d6021ab239ebaa20027ccc5be7e56a815c35a944dfd9b27758eb825ba060ec4a

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f0326076ee2049822ca434529baf2c0b0d31886892d4ebfcfa5f0f64d307c6f0
MD5 abc152bb2445915ac230de39d1c5d233
BLAKE2b-256 3b27fc534a12b7bf7f383e3f03442e02a3364b94cacedd8ef18ca1d86c829bbd

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc53e4fe83fae539ceae2252e289fe0875db6aec12d07444368903e4dd074291
MD5 8d5465ebb7438b9d448ec04ce7aac2f9
BLAKE2b-256 0dd1e9ec411993665eca477d4228e6e4a3a1f9737f971814911a2f149fd3778f

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d4cca977f05a18c926a1d0dca05916825dd8923100e47e44d0735d8a949cc9d4
MD5 fc1395bc857e964c94a67c0ac43436fd
BLAKE2b-256 bfd98b4dbe51c0225122eb367a7e0b042111dbc02092abf6fd644ba42e632973

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 52116146fea2331bc0714fef229648f05d8f2451f08d29389eb9833ebddcfc72
MD5 f60f0a264a176f56c1222b388e093402
BLAKE2b-256 3111eece0b8b20aaa443c9ae9785b29dc22b2b70a413ea51c1273524f9855ade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05777c88934df56044927aef1239917d7bbfebe4460ff953924c9d177f574098
MD5 73b5f291606b9ca3bd47a5ab720792aa
BLAKE2b-256 23302d469e77be232b0a047195527a31fd91eae7ece3e1f8403601709a238034

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 28306dd19224b572f82d46d4831d6240770237e7188e9f9f3b267592f31af211
MD5 a296240c2b245b1ff81fe6e3e09d4a18
BLAKE2b-256 1b2ce09a706f23771421847e4ff8b3f91fd80ade76343609610ced54401fb309

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6623f2b395f2c32a5e65b780254eaca5ab8defa4f7819ebcdd68f1c98a761e25
MD5 a7519cbdafaade75d9c4efaa5ecd9a34
BLAKE2b-256 0447ce51f9a07e5f610b27686096bcbbe1a9517101ae83f8ce33c43755d2d630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a0ed6066cc97e1277801f64f7633d85db4778801b3e775e0addf2e300e2e25bc
MD5 e0ed738ca022369721d2632717453b66
BLAKE2b-256 3e0283d47473c0e528330b04558d23f345c7cf61d197ad2b321283f9ab15cc74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b417241fb8483a2b269502cdca5c69bd71579c11adb982663d61466936086fff
MD5 1d6e284e09baac451b4e937766b734e1
BLAKE2b-256 a85ba363817c238d8484bfc93854c36bd938302c0d0749a62030ed21818a0765

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c0c42322518c99c49623a1784d27ae73a2765251955808e2edd64fd151e6fa57
MD5 8d3946c7246b126ff51a983aca7eaf68
BLAKE2b-256 42355cbba34fc6f3438d1016d609ed47d74222dd038cd83bd86540edaff0070d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dc9423ffaae542cfaeed516045576968a5ce6203a6f03d0034fcedbcabcb48cd
MD5 530464343c32f51baa4d6ebd18ec898d
BLAKE2b-256 852a1356e69aac6b0c746d786df1ec5a0a884018e1464fbeb7f358338c8f880e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7917f513aef244465e2e6a0ae1b5690e971dc336a7b15f68de2f03869d68302
MD5 a8fe91fd80329413bf0101170a24429d
BLAKE2b-256 4fa7b0bde3d74d32f88a875d7397bbe81a118b5c70f83c400629c14771ed345b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7abfe09f6dca8656cc3d1122b25ea0caf272916c18a6e5a6a45ae74aa325a7fe
MD5 30d1d8f0a2ee074ac7b80d17489c0e0a
BLAKE2b-256 5f54c705885bb82f32aa50846d1de8b8fa48233361093ff9e30d01cb69d6d7a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0eae7c9fb67109649d653c20e163ae2ac33686ff266718c3bf12392cde8a42b6
MD5 702c6ad2d9a03c88c2ba20fca1d93191
BLAKE2b-256 f02a1abc6938ca762c9fe7093e2dcb4aa7dd2150ec4de523d0c64d594d8ea3fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2fb0b6fedec6558e7c8cd9397131325b03db72b2683b7abede3a37ae87150ae6
MD5 2656e0af404310fb5389917c1343b81a
BLAKE2b-256 4badbf7d80ec2abea631b1f0960a4f3e94c90ec39efe66aa1f2f66322d579e60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 41ec7f66d2fd5452d9d5e2f4ca919401981b0f52e7f1b0c2a9b7b30163ea86ea
MD5 e369f3f8aa4bf82442d9da9a61da8867
BLAKE2b-256 31965b3305eadbda045bcf616172c8c1a15cc81935af6926ba6f3b3b99ae0db8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a1cbd603d471e118a60f780f2b4d83a35975d71a1745419854e722dfa7fadfc
MD5 8c91a75e72dada6dbf7c74df16aabdc6
BLAKE2b-256 e234ccdfaed1d584e7be0806700166b82a574123437a8d4ef235e730eb24f44c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3f15f8cd42e6d8164f5621e2acd768a58854740f1796a1649f91485505da4776
MD5 f97b0485e75a98a329cd5813e6ea41f0
BLAKE2b-256 f619b7a9dbbd0083110b5f077c3911787765d5285ccfad5d3f08e1230beca1ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 265e71e2635a7ddd2019a5d9f1815642c9e6d24081dcc6d728d9040d9702739f
MD5 d52a885e7ad6a056f384fc79adbdac95
BLAKE2b-256 ae390516ef42197c003131761ed4bf2946b28108ef45f8a4ab9ff5ed5a80b898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 668dae5f54a20ac94521c30290beadb6b941cda9aaed4ef939fd16a393c65871
MD5 af87c59624b582984c8e5c8a28e66359
BLAKE2b-256 64adfe51ee47de6c3e346986f587f883b7471174199266ab93bc5b33f1e4a69f

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cf22b22278c2352b9c2ace3d44842b9bfc2c220accbd744bbec3204b9d78f3c3
MD5 733e26170ce0455d3cb8252fea45e335
BLAKE2b-256 c180852b9eccd72bf165b98c25f1c6a99997aa9954c7ebc7ce2b63059760c93c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1138b8f802e8f9aefd74c73314593a3e470cc5547fc4fe1d381426f31e2a264
MD5 e2eb9a3bf4797cbb968b54bd8f37c4b7
BLAKE2b-256 10d40432fd3e130c9cafa8ce92dd9bd207204307368e2fe8e855af23433798ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d16b9ab607814968d047e26871653992240f0128ffc5d142922929afaea3bcdf
MD5 8f7d9ce12bf9054f2ce29599fea2ad82
BLAKE2b-256 d689f20ba51b6cf6b91e0dab2bc3b9797f6027991b47f567d30fc18b781f65d1

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