skillfed

catalogue

Super lightweight function registries for your library

catalogue Permissive license MIT Active 183 v2.0.10 released

Install

catalogue on PyPI

pip

pip install catalogue

uv

uv add catalogue

poetry

poetry add catalogue

Package 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering

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.
function registry decoratorplugin system pythonfunction lookup by nameserializable function registryextensible callback systemnamespace-based function registrationzero-dependency registry

Similar packages