Skip to content

Sygil-Dev/whoosh-reloaded

Repository files navigation

CodeFactor codecov Documentation Status PyPI version Downloads License PyPI - Python Version PyPI - Wheel PyPI - Format PyPI - Status

Lines of Code Code Smells Maintainability Rating Security Rating Bugs Vulnerabilities Duplicated Lines (%) Reliability Rating Quality Gate Status Technical Debt


Notice: This repository (whoosh-reloaded) is a fork and continuation of the Whoosh project.

This fork is actively maintained by the Sygil-Dev Organization.


About Whoosh

Whoosh is a fast, featureful full-text indexing and searching library implemented in pure Python. Programmers can use it to easily add search functionality to their applications and websites. Every part of how Whoosh works can be extended or replaced to meet your needs exactly.

Some of Whoosh's features include:

  • Pythonic API.
  • Pure-Python. No compilation or binary packages are needed, no mysterious crashes.
  • Fielded indexing and search.
  • Fast indexing and retrieval -- faster than any other pure-Python, scoring, full-text search solution I know of.
  • Pluggable scoring algorithm (including BM25F), text analysis, storage, posting format, etc.
  • Powerful query language.
  • Pure Python spell-checker (as far as I know, the only one).

Whoosh might be useful in the following circumstances:

  • Anywhere a pure-Python solution is desirable to avoid having to build/compile native libraries (or force users to build/compile them).
  • As a research platform (at least for programmers who find Python easier to read and work with Java ;)
  • When an easy-to-use Pythonic interface is more important to you than raw speed.

Whoosh was created by Matt Chaput and is maintained currently by the Sygil-Dev Organization. It was created for use in the online help system of Side Effects Software's 3D animation software Houdini. Side Effects Software Inc. graciously agreed to open-source the code.

This software is licensed under the terms of the simplified BSD (A.K.A. "two clause" or "FreeBSD") license. See LICENSE.txt for information.

Installing Whoosh

If you have setuptools or pip installed, you can use easy_install or pip to download and install Whoosh automatically::

# Install the stable version from Pypi
$ pip install whoosh-reloaded

# Install the development version from GitHub.
$ pip install git+https://github.com/Sygil-Dev/whoosh-reloaded.git

Getting the source.

You can check out the latest version of the source code on GitHub using git:

$ git clone https://github.com/Sygil-Dev/whoosh-reloaded.git

Contributing

We use pre-commit to format the code and run some checks before committing to avoid common mistakes. To install it, run the following commands:

$ pip install pre-commit
$ pre-commit install

Learning more

Maintainers

Discord Server