zope.index
Indices for using with catalog like text, field, etc.
What it is and what it does
zope.index is a collection of indexing data structures designed for use with Zope catalogs. It provides four main index types: field indices for orderable values, keyword indices, topic indices, and text indices with pluggable lexicon, splitter, and normalizer components. The package sits in the Zope ecosystem and depends on BTrees for tree storage, persistent for object persistence, and zope.interface for interface definitions.
Developers use zope.index when building catalog systems that need to efficiently search and retrieve objects by various criteria. It's primarily relevant for Zope-based applications or systems that adopt the Zope catalog pattern. The package is actively maintained, supports Python 3.10 through 3.14, and has no known security vulnerabilities.
Use it for:
- Index orderable fields (dates, numbers, strings) in a Zope catalog for range queries and sorted retrieval
- Build keyword-based search indices for tagging and multi-value attribute lookups
- Create full-text search indices with custom tokenization, normalization, and lexicon handling
- Implement topic indices for hierarchical or categorical object classification in catalog systems
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
zope.index provides indexing structures for Zope catalogs, including field, keyword, topic, and text indices with support for lexicon, splitter, and normalizer customization.
Yes, if you are building a Zope-based application or adopting the Zope catalog pattern. The package is stable, actively maintained, and has no known vulnerabilities. However, verify the ZPL-2.1 license implications for your project first, as license treatment is marked unclear. Not recommended for general Python search/indexing needs outside the Zope ecosystem.
Install
zope-index on PyPI
pip
pip install zope-indexuv
uv add zope-indexpoetry
poetry add zope-indexInstalling zope.index
Before you install
Medium install friction due to compiled wheels across multiple platforms and Python versions. Active maintenance with recent commits; last release 269 days ago. Depends on BTrees, persistent, and zope.interface—all established Zope ecosystem packages.
License in practice
Licensed under ZPL-2.1 (Zope Public License), but license treatment is marked unclear in the fact sheet. Verify licensing implications for your use case before relying on this package in proprietary or restricted-license projects.
Quickstart
pip install zope.index
from zope.index.field import FieldIndex
index = FieldIndex('field_name')
Requires Python 3.10 or later; depends on BTrees, persistent, and zope.interface packages.
Verify before relying
- Exact scope and performance characteristics of each index type (field, keyword, topic, text) for different data scales
- Whether text index lexicon/splitter/normalizer customization is documented with examples
- Integration patterns with Zope catalog systems outside the Zope framework itself
Package facts
| License | ZPL-2.1 (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — BTrees, persistent, zope.interface |
| Maintenance | actively maintained — 269 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 76,309/month — #14,636 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zope_index-8.1-cp310-cp310-macosx_10_9_x86_64.whl; zope_index-8.1-cp310-cp310-macosx_11_0_arm64.whl; zope_index-8.1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_index-8.1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_index-8.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_index-8.1-cp310-cp310-win_amd64.whl; zope_index-8.1-cp311-cp311-macosx_10_9_x86_64.whl; zope_index-8.1-cp311-cp311-macosx_11_0_arm64.whl; zope_index-8.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_index-8.1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_index-8.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_index-8.1-cp311-cp311-win_amd64.whl; zope_index-8.1-cp312-cp312-macosx_10_9_x86_64.whl; zope_index-8.1-cp312-cp312-macosx_11_0_arm64.whl; zope_index-8.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_index-8.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_index-8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_index-8.1-cp312-cp312-win_amd64.whl; zope_index-8.1-cp313-cp313-macosx_10_9_x86_64.whl; zope_index-8.1-cp313-cp313-macosx_11_0_arm64.whl
Keywords: zope, index
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
zope.i18nProvides internationalization and localization…
unclear · top 15,000 on PyPI
algoliasearch-djangoIntegrates Algolia's hosted search service into…
permissive · top 5,000 on PyPI
zope.structuredtextParses and renders Zope structured text (STX),…
unclear · top 15,000 on PyPI
zope.locationProvides a structural location system for Zope…
unclear · top 15,000 on PyPI
zope.browserProvides a set of standard interfaces for…
unclear · top 15,000 on PyPI
MultiMappingMultiMapping provides special mapping objects…
unclear · top 15,000 on PyPI
zope.schemaDefines structured data schemas for Python…
unclear · top 5,000 on PyPI
zope.exceptionsProvides general-purpose exception classes and…
unclear · top 15,000 on PyPI
zope.sequencesortSorts sequences by multiple keys with support…
unclear · top 15,000 on PyPI
zope.proxyzope.proxy provides transparent wrapper objects…
unclear · top 15,000 on PyPI