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

Uploaded CPython 3.14Windows x86-64

pyahocorasick-2.3.1-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.1-cp314-cp314-musllinux_1_2_aarch64.whl (116.4 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

pyahocorasick-2.3.1-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.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (113.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

pyahocorasick-2.3.1-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.1-cp313-cp313-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.13Windows x86-64

pyahocorasick-2.3.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl (116.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pyahocorasick-2.3.1-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.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (113.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

pyahocorasick-2.3.1-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.1-cp312-cp312-win_amd64.whl (35.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pyahocorasick-2.3.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl (116.5 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pyahocorasick-2.3.1-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.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (113.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

pyahocorasick-2.3.1-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.1-cp311-cp311-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.11Windows x86-64

pyahocorasick-2.3.1-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.1-cp311-cp311-musllinux_1_2_aarch64.whl (116.2 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyahocorasick-2.3.1-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.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (113.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pyahocorasick-2.3.1-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.1-cp310-cp310-win_amd64.whl (35.2 kB view details)

Uploaded CPython 3.10Windows x86-64

pyahocorasick-2.3.1-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.1-cp310-cp310-musllinux_1_2_aarch64.whl (113.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyahocorasick-2.3.1-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.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (109.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

pyahocorasick-2.3.1-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.1.tar.gz.

File metadata

  • Download URL: pyahocorasick-2.3.1.tar.gz
  • Upload date:
  • Size: 105.0 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.1.tar.gz
Algorithm Hash digest
SHA256 9d0f6bb522237ed7f111ed59c9e8baea7d1e75813587b6773babd43bda35db9f
MD5 4f2627196bd843ceac43053ce583d707
BLAKE2b-256 b03cdc9e31a0f004eabe2ef5d31456766555a02e2af29e159daa31266934af79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4acb11a0a2ff10519465749d22ad70789e9fe7f81dc8fe9957a8868e499e18ab
MD5 e3ba64a0785b40d3f40515be7503a311
BLAKE2b-256 c59637c50ac951bb0260ec38d8d12e5b51587ef1ef4035c279088f2771544b28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ba7b98de0ff3203e2cd8c27682f6934c0d893cd97e65a45b8478e468d9919c90
MD5 270b174995c5891dab2d1c0e9e779e99
BLAKE2b-256 c4dbd174d6bbc6caa811ac3c3695de28785b36d83ee94aecd461f58e621068fc

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8b10d29fb3eddf8228e41d285f2e052efddb99b6dd1ed1e0f28f00d0d0570005
MD5 64eee81aadbf1070c8328310459a2f7e
BLAKE2b-256 79c1a0c0ed44ebe2a0e62bebc545158707b9543fa685c384a9af90bb568444cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7c90328fb64f6d1c24bbf969194f4fe0b3aacbdddadf28ec920b34a524681a54
MD5 2f3300b28430adfb88add856279900ea
BLAKE2b-256 29b554b057c13eae27ceca51e68e13e1194e4c624d624b0369b571177f390a62

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0e59226baf6ffb5acb6f72868ef345a4bd23d2a30ef08a9e1bf51043ea9b430d
MD5 b902e4fc3fd122704a4582675291ef1f
BLAKE2b-256 6097b06f783364347a369c86344dbebb194535b7f41bf1df0f42dc4e64e3b655

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 523c5460afae4b9228bb9df7571ef23b90ceb3411428beb7df167d696ae054dc
MD5 f50288cfc4be820b91a287c44faa716f
BLAKE2b-256 638df98d8caad8bed8dc70b5b406704ca652c5bb59168984424e61732f31de50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9b87fa566bd71b46407ea8cfd86ddc6c97ba7f20eb29041ce9b5213b111e76be
MD5 49d1460a791a84fdc2395c55d49bc8eb
BLAKE2b-256 000bce8637d57f122533067e5080cbd54d4698968acd2a16921469c838ee1ae3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 31c743e80e92f81c390214b69f474945689f0f83db8d9bae7118a4623e5da63d
MD5 0c26bbf7eda4f43e2f4de186b93d9d1a
BLAKE2b-256 30755d5d377fab5b93462ff22496ac5a09725534ec37217626b0a5480c321e5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7b52bb618a6d29223470c5518daa59f319cbbca878373dcec3ca89a63759c0e5
MD5 87e4a254a56841540fb8373b067b2126
BLAKE2b-256 7099f028911b158fd9d6ea0c50a99b17b798f4cbb4d14aedf9bc07dcebfd406c

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 648ee2e1dae6753cbe153d610cd8208f3da00e20456d3696de49a7606106afad
MD5 bf50eb5ee0373962722ace16bde2ec9a
BLAKE2b-256 84dca7c78f3fafdee825ab2a69c7aeedc8c3bf1a82f69a710071bbeac3d8be29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 343c93387146ddef771118cab8fc60e3be1c9c5595b647ad6c898fc940a63e20
MD5 0e3cb71d8baf33108dbc89ed53d5453d
BLAKE2b-256 64e0398f558e004616411ae6914666f0aa51eb019405ef4f48358e6a9b26bc4d

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 43e79e7f1737e8bd5290ee61bfbbc0af0a44975b8aa719ffbb00e3cd8c5c8e35
MD5 5d99228aebd1e415a88d2007b8be4655
BLAKE2b-256 5c114464450c9c44719ab47082eda69424de22af51ef68c482f7e8c48a30a727

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec6908893dffc271c1f89fe5a0f6ae872c5b7fdfb82ce032185a1fcf02339a60
MD5 9dea0bb0c2578ba4d5a57cb7c82cd7bf
BLAKE2b-256 ec5308c717e8696b3f243be89278155512a360a13b5a11bfe87a3a417f180c5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1b16eab55f961671c6eff5ead4e3fda6e85982acea86fda734b68e39e52dcd3b
MD5 00b31cbbb220fea71e812b90a3b05714
BLAKE2b-256 31164ea7db7a118778a2f56b217b8f142d1bd55e10cb6c6d59329bc58c41952a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f5cc3c021be241fe9317c5991f8efba2b876e3956691322ad9e55c0d9ff7c599
MD5 be9f9820f5e0bd6fa90331fa34f85c31
BLAKE2b-256 3a6e5fa2f6fafb7a5bb82cad6e2ef3c8eed7c859ba16242766a5a425e19334b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3922f66721b5b777eae758d2a0acffd98ee97dc7e6e452ba533d1c5892e15b7
MD5 20f1f0f1eab7ea806705325ba195ec2a
BLAKE2b-256 0ec92e3019eb9f4404dc1fe1309535d1220740cc95275ad1b4a70f7f891cb296

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e4e1e90eb2e755c79b9b904fd8adcca61c22b4b48811b9435f0c4b2d718895d6
MD5 36cad3855538070b81af6f544deaa594
BLAKE2b-256 af32d79302845be8629f9aee2a3dbeb9ad089b036f089e99589a08814e7e5910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9ec1d3465f25a5063c7eaa85ecb106cbe256064669c754e0b13b2483cf613a98
MD5 6ea270225f4a3f1348893de42307d45a
BLAKE2b-256 a1f2d13807476195e4ec5999a78f22db592a64da54229c9183438f3165105779

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 9a4d4f5b05ce9d8af82c40ed39cd6892613e9e8bf1b5e6ea79009c566430adb1
MD5 fa034408596d8f023c126f3a14e2d250
BLAKE2b-256 f7010a7387a6327f4ef9b7dcf3cea84dfea3e4b0e85eb37a52b612985b1f9a9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 873911f1d80acd82ac00aae277a9a2b335a0c0cac0a0ef1c6635b57badc6f7a6
MD5 5edca9b474cb3242e6027350363dab1f
BLAKE2b-256 7cc6f242c7966d8207822d7ecb183101522ca03df5f302ee6520fe4412f03fae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f0df14cb10ed1e942a30c0f11d242472452e7c567acbf3ac070e5d6912b71ca9
MD5 d7486ef440932d094a93039b8d83fe67
BLAKE2b-256 29a62ee9301a36c9d6bcd7e745e8a98e72fddf1ff1cd3ae899f498383c3ad1c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cb75c32f73be3f70435e49bbc5518105b54f1320a51e7da18ac989bfe93f6c1c
MD5 d1e435ffea0f794051c07bc5931227c4
BLAKE2b-256 12637072ae6d6458518c277b256a14dd1b20726192e880915b4f6d3daeb0700d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dfc4749cca4df4327dd2fcbbd49e5148e72840366023429729cf468f28c938a2
MD5 9f37669cce9c3769584a016da6588a37
BLAKE2b-256 1c97c5b6962d93d0e7870a8e0e1d76c71cd30133a96c642190531d5fae754de0

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa05c56eaeee2e0242a84f53d9927d795d26002493c69ba8a4af1d86bdca7edb
MD5 ac368a0db88fdf697abf4c2771c8f5dd
BLAKE2b-256 b1d4ffe0a07979ed128ed55c9e4ac7007be4d2048c2582de68035bd84c22e585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2541c437dc0f04475729076ec36aac72604b767fa347107bcd6945d61d5ba437
MD5 18ab7a49467cde1f6c82479a6f2f1319
BLAKE2b-256 bf55807c408bd7baaa137643e99b4b642abd850d83c3e80b17e17f62b5842429

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 0a8bed95da02e7c874818825d65e6e31d5b38c88ecba02a6c7144524074ddade
MD5 f28ed41012f1812f7b9eb7ce00ae9572
BLAKE2b-256 329b5eef7545f3556d8b2ca8ee943938e94a62b659ee6f6978573efd2d597e2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8f9c21fd2bd72c0454ba6df0c7dbdfd7236c5cfd161fc983476fffbde92e18f
MD5 813dc116f9ba2c5c10734d89f938a896
BLAKE2b-256 58004b475d2f26240253bc6412c509c1c103844a8eac326a1353d9bc798beb74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3a69041f5fd665ec0edcffd9562dd0f2f23c236bbc950e18ada854e29fc3dd88
MD5 5351a573d110d11f7690480c5f128792
BLAKE2b-256 7c062798edbcff0d50a51f8ef527cb3f861e69f694d80043826529c33fe15aa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fb6be24637846604463cd414a7537c95bdab378b0796651f78a131d5871c8e3e
MD5 4ca44f5881644587883919438beb8382
BLAKE2b-256 d0236dfae42e0b23607566e1aae66a603c5e1b7a343a4c7e8baa43d21f675632

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f015ca482c8105e28fbd6a1952726f3376534caf8bea19ea0cda34a796f7a8f8
MD5 c04c1caa3f81e7f3e76ed9921cd76f3f
BLAKE2b-256 690fc7a359810bef1b10c1900016028dd83f630c53c152d80a6c035a391c3237

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9dee8c8aa59914435f90f6fb7ad4e02f448ac0c2533cc525414b1dd0f730a6b8
MD5 176032ebe0770eab6f6978b35584a0e3
BLAKE2b-256 d09f2a438bfbc7d445cfc7d595cee367e683e34514adc028f41d39caeb895380

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1e48e921996044f7d161368079663608813e82dd9c22a74ba5a51abc326bb731
MD5 e8a63924ec045d61494f8455bb59ddb5
BLAKE2b-256 b7315d2bc0107384a9426fbfad10e287db917929ce004b67fa54cb46f1a0b188

See more details on using hashes here.

File details

Details for the file pyahocorasick-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 3e70206da4ecfffdd31073b26e2e9c877503ccbeb87e1fd843ca6f9f55b16077
MD5 365a0d92ddfa0180ca790230abf05c89
BLAKE2b-256 4717d9dfb1df9c1d2b749377fec553af1dd62341ffc1c124d969f5fc738b3a87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b9bc8f48c78897fd6f073098f7007a87ce0a7e0ad38099a4aad4d760f2f3161
MD5 2e527155a4305163a706af84d895cc2e
BLAKE2b-256 fad6a829b06c264cd38e5c57ace7bed48226c3ec088e2f0e7930c8a5572cc89f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyahocorasick-2.3.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d0dcad4cf8f472764870ab70bd810fe04b5fb9d290c13db1f3e112e62b91e023
MD5 8e20eaa4062032dedd833a4d377188fc
BLAKE2b-256 dfae55837133a70590fd36a412f5ae09eb497603da1dd1b036eb7b3486a34d1d

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