Welcome to PyLucene

What is PyLucene ?

PyLucene is a Python extension for accessing Java Lucene™. Its goal is to allow you to use Lucene's text indexing and searching capabilities from Python. It is API compatible with Java Lucene version 10.0.0 as of October 20th, 2024.

PyLucene is not a Lucene port but a Python wrapper around Java Lucene. PyLucene embeds a Java VM with Lucene into a Python process. The PyLucene Python extension, a Python module called lucene is machine-generated by JCC.

PyLucene is built with JCC, a C++ code generator that makes it possible to call into Java classes from Python via Java's Native Invocation Interface (JNI). Sources for JCC are included with the PyLucene sources.

See here for more information and documentation about PyLucene.

Requirements

PyLucene is supported on macOS, Linux, Solaris and Windows.

PyLucene requires Python 3.x (x >= 3), and Java x (x >= 8 for PyLucene 8 and earlier, x >= 11 for PyLucene 9, x >= 21 for PyLucene 10). Python 2 support is untested since PyLucene 9.4.1 / JCC 3.13. Building PyLucene requires GNU Make and a C++ compiler. Use of setuptools is recommended.

See the JCC installation instructions for more information about building JCC from sources.

See the PyLucene installation instructions for more information about building PyLucene from sources.

Latest News

20 October 2024 - PyLucene 10.0.0 available

This release tracks Lucene Core's 10.0.0 release and requires Java 21 or greater.
See PyLucene 10.0.0 CHANGES and JCC 3.15 CHANGES for details.
Source distributions are available here.

11 October 2024 - PyLucene 9.12.0 available

This release tracks Lucene Core's 9.12.0 release and requires Java 11 or greater.
See PyLucene 9.12.0 CHANGES and JCC 3.14 CHANGES for details.
Source distributions are available here.

4 March 2024 - PyLucene 9.10.0 available

This release tracks Lucene Core's 9.10.0 release and requires Java 11.
See PyLucene 9.10.0 CHANGES and JCC 3.14 CHANGES for details.
Source distributions are available here.

For all news items, see PyLucene News