whoosh3. It keeps
the import name whoosh, so it is a drop-in replacement, and it is
tested on Python 3.10–3.14. Install it with
pip install whoosh3.
If you found this page you are probably about to depend on Whoosh — or you already do — and you want to know whether it is a dead end. That is a fair question, because the project has a genuinely confusing history of forks. Here is the honest state of things in 2026.
A short history of the forks
Whoosh is a pure-Python full-text indexing and search library originally
written by Matt Chaput. It was widely used for years because
it needs no server and no C compiler — you just pip install
it and index. Development on the original slowed and then stopped; the last
release, Whoosh 2.7.4, dates to 2016 and does not install cleanly
on current Python versions.
A community fork, whoosh-reloaded, later picked it up and
kept it alive for a while, publishing under the same whoosh-reloaded
name on PyPI. That effort also wound down; its maintainers have publicly said
they are no longer actively working on it.
| Project | PyPI name | Status in 2026 |
|---|---|---|
| Original Whoosh (Matt Chaput) | Whoosh | Unmaintained since ~2016 (2.7.4) |
| whoosh-reloaded | whoosh-reloaded | Wound down; no active maintenance |
| This continuation | whoosh3 | Actively maintained; regular releases |
What "actively maintained" means here
I picked Whoosh back up and have been maintaining it in the open. Concretely,
the whoosh3 package today:
- installs and runs on CPython 3.10 through 3.14 and on PyPy, with a green CI matrix;
- is still pure Python — no C toolchain, no native wheels, no separate service;
- keeps the import package name
whoosh, so existing code and existing on-disk indexes keep working; - ships tagged releases to PyPI with a changelog — the latest is whoosh3 3.49.0 (August 2026), one of a steady run of bug-fix and feature releases shipped this month;
- has a public issue tracker with labeled good-first-issues and a roadmap.
How to move off an abandoned version
In almost every case the migration is one line. Replace whichever old package you have:
pip uninstall Whoosh whoosh-reloaded
pip install whoosh3
Your imports do not change:
from whoosh.index import create_in
from whoosh.fields import Schema, TEXT, ID
from whoosh.qparser import QueryParser
Existing indexes written by older Whoosh versions remain readable. If you hit anything that does not behave the way it used to, that is a bug I want to hear about — open an issue and I will look at it. There is a migration guide that documents the handful of known differences.
Is it the right choice at all?
Being maintained is necessary but not sufficient — you should still pick the right tool. Whoosh shines when you want a real search engine (BM25 ranking, a query language, faceting, highlighting, spelling correction) that runs in-process anywhere CPython runs, with zero external services. If you need multi-machine scale or the absolute fastest indexing throughput, a compiled engine may suit you better. I keep honest, side-by-side comparisons here:
For full transparency: some projects that used to depend on Whoosh have since moved to other engines, and that is a perfectly reasonable choice depending on your constraints. My aim is not to argue everyone should use Whoosh — it is to make sure that the people for whom Whoosh is the right fit have a version that installs, runs on modern Python, and has someone answering the issue tracker.
Try it in 30 seconds:
pip install whoosh3
Or run a full search index live in your browser (no install), and star the repo on GitHub if you want to follow along.
See also: Full-text search in Flask · Full-text search in Django · Search files from the command line.