Skip to main content

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.

Release files for pyahocorasick 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyahocorasick 2.3.1
File Size Uploaded
pyahocorasick-2.3.1.tar.gz 105.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyahocorasick 2.3.1
File
pyahocorasick-2.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
pyahocorasick-2.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
pyahocorasick-2.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
pyahocorasick-2.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pyahocorasick-2.3.1-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
pyahocorasick-2.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
pyahocorasick-2.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
pyahocorasick-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
pyahocorasick-2.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pyahocorasick-2.3.1-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
pyahocorasick-2.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
pyahocorasick-2.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
pyahocorasick-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
pyahocorasick-2.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pyahocorasick-2.3.1-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
pyahocorasick-2.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
pyahocorasick-2.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pyahocorasick-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
pyahocorasick-2.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pyahocorasick-2.3.1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
pyahocorasick-2.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
pyahocorasick-2.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
pyahocorasick-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
pyahocorasick-2.3.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pyahocorasick-2.3.1-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size:3.0 MB

Release files / pyahocorasick-2.3.1.tar.gz

Download URL pyahocorasick-2.3.1.tar.gz
Size 105.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9d0f6bb522237ed7f111ed59c9e8baea7d1e75813587b6773babd43bda35db9f
BLAKE2b-256 checksum
How to use checksums
b03cdc9e31a0f004eabe2ef5d31456766555a02e2af29e159daa31266934af79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-win_amd64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-win_amd64.whl
Size 36.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4acb11a0a2ff10519465749d22ad70789e9fe7f81dc8fe9957a8868e499e18ab
BLAKE2b-256 checksum
How to use checksums
c59637c50ac951bb0260ec38d8d12e5b51587ef1ef4035c279088f2771544b28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_x86_64.whl
Size 117.9 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ba7b98de0ff3203e2cd8c27682f6934c0d893cd97e65a45b8478e468d9919c90
BLAKE2b-256 checksum
How to use checksums
c4dbd174d6bbc6caa811ac3c3695de28785b36d83ee94aecd461f58e621068fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 116.4 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8b10d29fb3eddf8228e41d285f2e052efddb99b6dd1ed1e0f28f00d0d0570005
BLAKE2b-256 checksum
How to use checksums
79c1a0c0ed44ebe2a0e62bebc545158707b9543fa685c384a9af90bb568444cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 114.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7c90328fb64f6d1c24bbf969194f4fe0b3aacbdddadf28ec920b34a524681a54
BLAKE2b-256 checksum
How to use checksums
29b554b057c13eae27ceca51e68e13e1194e4c624d624b0369b571177f390a62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 113.5 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0e59226baf6ffb5acb6f72868ef345a4bd23d2a30ef08a9e1bf51043ea9b430d
BLAKE2b-256 checksum
How to use checksums
6097b06f783364347a369c86344dbebb194535b7f41bf1df0f42dc4e64e3b655
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 34.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
523c5460afae4b9228bb9df7571ef23b90ceb3411428beb7df167d696ae054dc
BLAKE2b-256 checksum
How to use checksums
638df98d8caad8bed8dc70b5b406704ca652c5bb59168984424e61732f31de50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp314-cp314-macosx_10_15_universal2.whl

Download URL pyahocorasick-2.3.1-cp314-cp314-macosx_10_15_universal2.whl
Size 60.0 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
9b87fa566bd71b46407ea8cfd86ddc6c97ba7f20eb29041ce9b5213b111e76be
BLAKE2b-256 checksum
How to use checksums
000bce8637d57f122533067e5080cbd54d4698968acd2a16921469c838ee1ae3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-win_amd64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-win_amd64.whl
Size 35.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
31c743e80e92f81c390214b69f474945689f0f83db8d9bae7118a4623e5da63d
BLAKE2b-256 checksum
How to use checksums
30755d5d377fab5b93462ff22496ac5a09725534ec37217626b0a5480c321e5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 117.9 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7b52bb618a6d29223470c5518daa59f319cbbca878373dcec3ca89a63759c0e5
BLAKE2b-256 checksum
How to use checksums
7099f028911b158fd9d6ea0c50a99b17b798f4cbb4d14aedf9bc07dcebfd406c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 116.4 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
648ee2e1dae6753cbe153d610cd8208f3da00e20456d3696de49a7606106afad
BLAKE2b-256 checksum
How to use checksums
84dca7c78f3fafdee825ab2a69c7aeedc8c3bf1a82f69a710071bbeac3d8be29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 114.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
343c93387146ddef771118cab8fc60e3be1c9c5595b647ad6c898fc940a63e20
BLAKE2b-256 checksum
How to use checksums
64e0398f558e004616411ae6914666f0aa51eb019405ef4f48358e6a9b26bc4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 113.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
43e79e7f1737e8bd5290ee61bfbbc0af0a44975b8aa719ffbb00e3cd8c5c8e35
BLAKE2b-256 checksum
How to use checksums
5c114464450c9c44719ab47082eda69424de22af51ef68c482f7e8c48a30a727
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 34.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ec6908893dffc271c1f89fe5a0f6ae872c5b7fdfb82ce032185a1fcf02339a60
BLAKE2b-256 checksum
How to use checksums
ec5308c717e8696b3f243be89278155512a360a13b5a11bfe87a3a417f180c5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp313-cp313-macosx_10_13_universal2.whl

Download URL pyahocorasick-2.3.1-cp313-cp313-macosx_10_13_universal2.whl
Size 60.1 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
1b16eab55f961671c6eff5ead4e3fda6e85982acea86fda734b68e39e52dcd3b
BLAKE2b-256 checksum
How to use checksums
31164ea7db7a118778a2f56b217b8f142d1bd55e10cb6c6d59329bc58c41952a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-win_amd64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-win_amd64.whl
Size 35.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f5cc3c021be241fe9317c5991f8efba2b876e3956691322ad9e55c0d9ff7c599
BLAKE2b-256 checksum
How to use checksums
3a6e5fa2f6fafb7a5bb82cad6e2ef3c8eed7c859ba16242766a5a425e19334b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
Size 117.9 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e3922f66721b5b777eae758d2a0acffd98ee97dc7e6e452ba533d1c5892e15b7
BLAKE2b-256 checksum
How to use checksums
0ec92e3019eb9f4404dc1fe1309535d1220740cc95275ad1b4a70f7f891cb296
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 116.5 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e4e1e90eb2e755c79b9b904fd8adcca61c22b4b48811b9435f0c4b2d718895d6
BLAKE2b-256 checksum
How to use checksums
af32d79302845be8629f9aee2a3dbeb9ad089b036f089e99589a08814e7e5910
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 114.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9ec1d3465f25a5063c7eaa85ecb106cbe256064669c754e0b13b2483cf613a98
BLAKE2b-256 checksum
How to use checksums
a1f2d13807476195e4ec5999a78f22db592a64da54229c9183438f3165105779
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 113.5 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9a4d4f5b05ce9d8af82c40ed39cd6892613e9e8bf1b5e6ea79009c566430adb1
BLAKE2b-256 checksum
How to use checksums
f7010a7387a6327f4ef9b7dcf3cea84dfea3e4b0e85eb37a52b612985b1f9a9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 34.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
873911f1d80acd82ac00aae277a9a2b335a0c0cac0a0ef1c6635b57badc6f7a6
BLAKE2b-256 checksum
How to use checksums
7cc6f242c7966d8207822d7ecb183101522ca03df5f302ee6520fe4412f03fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp312-cp312-macosx_10_13_universal2.whl

Download URL pyahocorasick-2.3.1-cp312-cp312-macosx_10_13_universal2.whl
Size 60.1 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f0df14cb10ed1e942a30c0f11d242472452e7c567acbf3ac070e5d6912b71ca9
BLAKE2b-256 checksum
How to use checksums
29a62ee9301a36c9d6bcd7e745e8a98e72fddf1ff1cd3ae899f498383c3ad1c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-win_amd64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-win_amd64.whl
Size 35.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
cb75c32f73be3f70435e49bbc5518105b54f1320a51e7da18ac989bfe93f6c1c
BLAKE2b-256 checksum
How to use checksums
12637072ae6d6458518c277b256a14dd1b20726192e880915b4f6d3daeb0700d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
Size 116.4 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
dfc4749cca4df4327dd2fcbbd49e5148e72840366023429729cf468f28c938a2
BLAKE2b-256 checksum
How to use checksums
1c97c5b6962d93d0e7870a8e0e1d76c71cd30133a96c642190531d5fae754de0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
Size 116.2 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
aa05c56eaeee2e0242a84f53d9927d795d26002493c69ba8a4af1d86bdca7edb
BLAKE2b-256 checksum
How to use checksums
b1d4ffe0a07979ed128ed55c9e4ac7007be4d2048c2582de68035bd84c22e585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 113.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2541c437dc0f04475729076ec36aac72604b767fa347107bcd6945d61d5ba437
BLAKE2b-256 checksum
How to use checksums
bf55807c408bd7baaa137643e99b4b642abd850d83c3e80b17e17f62b5842429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 113.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0a8bed95da02e7c874818825d65e6e31d5b38c88ecba02a6c7144524074ddade
BLAKE2b-256 checksum
How to use checksums
329b5eef7545f3556d8b2ca8ee943938e94a62b659ee6f6978573efd2d597e2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 34.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e8f9c21fd2bd72c0454ba6df0c7dbdfd7236c5cfd161fc983476fffbde92e18f
BLAKE2b-256 checksum
How to use checksums
58004b475d2f26240253bc6412c509c1c103844a8eac326a1353d9bc798beb74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp311-cp311-macosx_10_9_universal2.whl

Download URL pyahocorasick-2.3.1-cp311-cp311-macosx_10_9_universal2.whl
Size 59.7 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
3a69041f5fd665ec0edcffd9562dd0f2f23c236bbc950e18ada854e29fc3dd88
BLAKE2b-256 checksum
How to use checksums
7c062798edbcff0d50a51f8ef527cb3f861e69f694d80043826529c33fe15aa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-win_amd64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-win_amd64.whl
Size 35.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
fb6be24637846604463cd414a7537c95bdab378b0796651f78a131d5871c8e3e
BLAKE2b-256 checksum
How to use checksums
d0236dfae42e0b23607566e1aae66a603c5e1b7a343a4c7e8baa43d21f675632
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_x86_64.whl
Size 113.5 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f015ca482c8105e28fbd6a1952726f3376534caf8bea19ea0cda34a796f7a8f8
BLAKE2b-256 checksum
How to use checksums
690fc7a359810bef1b10c1900016028dd83f630c53c152d80a6c035a391c3237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-musllinux_1_2_aarch64.whl
Size 113.1 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
9dee8c8aa59914435f90f6fb7ad4e02f448ac0c2533cc525414b1dd0f730a6b8
BLAKE2b-256 checksum
How to use checksums
d09f2a438bfbc7d445cfc7d595cee367e683e34514adc028f41d39caeb895380
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 110.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1e48e921996044f7d161368079663608813e82dd9c22a74ba5a51abc326bb731
BLAKE2b-256 checksum
How to use checksums
b7315d2bc0107384a9426fbfad10e287db917929ce004b67fa54cb46f1a0b188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 109.7 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3e70206da4ecfffdd31073b26e2e9c877503ccbeb87e1fd843ca6f9f55b16077
BLAKE2b-256 checksum
How to use checksums
4717d9dfb1df9c1d2b749377fec553af1dd62341ffc1c124d969f5fc738b3a87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
Size 34.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1b9bc8f48c78897fd6f073098f7007a87ce0a7e0ad38099a4aad4d760f2f3161
BLAKE2b-256 checksum
How to use checksums
fad6a829b06c264cd38e5c57ace7bed48226c3ec088e2f0e7930c8a5572cc89f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / pyahocorasick-2.3.1-cp310-cp310-macosx_10_9_universal2.whl

Download URL pyahocorasick-2.3.1-cp310-cp310-macosx_10_9_universal2.whl
Size 59.7 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d0dcad4cf8f472764870ab70bd810fe04b5fb9d290c13db1f3e112e62b91e023
BLAKE2b-256 checksum
How to use checksums
dfae55837133a70590fd36a412f5ae09eb497603da1dd1b036eb7b3486a34d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

2.3.1 This release

36 release files

2.3.0

26 release files

2.2.0

26 release files

2.1.0

26 release files

2.0.0

25 release files

1.4.4

36 release files

1.4.3

26 release files

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.1.12

1 release file

1.1.11

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

3 release files

1.1.3

3 release files

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page