Metadata-Version: 1.0
Name: acora
Version: 1.0
Summary: Fast multi-keyword search engine for text strings
Home-page: http://pypi.python.org/pypi/acora
Author: Stefan Behnel
Author-email: stefan_ml@behnel.de
License: UNKNOWN
Download-URL: http://pypi.python.org/packages/source/a/acora/acora-1.0.tar.gz
Description: Acora
        ======
        
        Author: Stefan Behnel
        
        
        What is Acora?
        ---------------
        
        Acora is 'fgrep' for Python, a fast multi-keyword text search engine.
        
        Based on a set of keywords, it generates a search automaton (DFA) and
        runs it over string input, either unicode or bytes.
        
        It is based on the Aho-Corasick algorithm and an adapted NFA-to-DFA
        transformation.
        
        
        Features
        ---------
        
        * works with unicode strings and byte strings
        * about 2-3x as fast as Python's regular expression engine
        * finds overlapping matches, i.e. all matches of all keywords
        * support for case insensitive search (~10x as fast as 're')
        * frees the GIL while searching
        * additional (slow but short) pure Python implementation
        * support for Python 2.5+ and 3.x
        * support for searching in files
        
        How do I use it?
        -----------------
        
        Import the package::
        
        >>> from acora import AcoraBuilder
        
        Collect some keywords::
        
        >>> builder = AcoraBuilder('ab', 'bc', 'de')
        >>> builder.add('a', 'b')
        
        Generate the Acora search engine::
        
        >>> ac = builder.build()
        
        Search a string for all occurrences::
        
        >>> ac.findall('abc')
        [('a', 0), ('ab', 0), ('b', 1), ('bc', 1)]
        >>> ac.findall('abde')
        [('a', 0), ('ab', 0), ('b', 1), ('de', 2)]
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.1
Classifier: Operating System :: OS Independent
Classifier: Topic :: Text Processing
