catalogue
Super lightweight function registries for your library
Install
catalogue on PyPI
pip
pip install catalogueuv
uv add cataloguepoetry
poetry add cataloguePackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — zipp, typing-extensions |
| Maintenance | actively maintained — 1,053 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: catalogue-2.0.10-py3-none-any.whl
About catalogue
from the package's own PyPI description — quoted content, verbatim
<a href="https://explosion.ai"><img src="https://explosion.ai/assets/img/logo.svg" width="125" height="125" align="right" /></a>
catalogue: Super lightweight function registries for your library
catalogue is a tiny, zero-dependencies library that makes it easy to add
function (or object) registries to your code. Function registries are helpful
when you have objects that need to be both easily serializable and fully
customizable. Instead of passing a function into your object, you pass in an
identifier name, which the object can use to lookup the function from the
registry. This makes the object easy to serialize, because the name is a simple
string. If you instead saved the function, you'd have to use Pickle for
serialization, which has many drawbacks.
tests (image) Current Release Version (image) [![pypi...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
catalogue provides lightweight function registries that let you register and look up functions by string name, making it easy to build extensible, serializable plugin systems without relying on pickle.
Low friction: pure Python wheel with only two lightweight runtime dependencies (zipp, typing-extensions). Active maintenance with last commit in March 2026 and stable production status.
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.
Usage
pip install catalogue
import catalogue
loaders = catalogue.create("my_app", "loaders")
@loaders.register("my_loader")
def my_loader(data):
return data
loader_func = loaders.get("my_loader")
Requires Python 3.6 or later; catalogue v2.0+ is not compatible with Python 2.7.
Verdict: catalogue is a stable, actively maintained, zero-friction utility for building plugin systems. With no known vulnerabilities, permissive MIT licensing, and minimal dependencies, it's a reliable choice for projects needing serializable function registries.
Needs verification
- Whether entry_points integration is commonly used and whether it adds meaningful overhead or complexity for typical use cases.
- Performance characteristics when registries grow to hundreds or thousands of registered functions.
Similar packages
permissive · top 1,000 on PyPI
click-pluginspermissive · top 1,000 on PyPI
spacypermissive · top 1,000 on PyPI
beartypepermissive · top 1,000 on PyPI
decoratorpermissive · top 1,000 on PyPI
srslypermissive · top 1,000 on PyPI
weaselpermissive · top 1,000 on PyPI
entrypointspermissive · top 1,000 on PyPI
blispermissive · top 1,000 on PyPI
py-serializablepermissive · top 1,000 on PyPI