pluginbase
PluginBase is a module for Python that enables the development of flexible plugin systems in Python.
What it is and what it does
PluginBase is a Python module that abstracts the mechanics of discovering and loading plugins from the filesystem. It lets you define a package namespace and search paths, then dynamically import plugin modules at runtime without pre-registering them. The framework handles the import process so your application can treat plugins as regular Python modules once loaded.
Typical use involves three steps: instantiate a PluginBase with a package name, create a plugin source pointing to directories containing plugin code, then load individual plugins by name or import them as context managers. This is useful for applications that need extensibility without requiring users to modify core code or restart the application.
Use it for:
- Build an extensible application where users can drop plugin files into a directory and have them automatically discovered
- Create a command-line tool with optional feature plugins that load on demand from a plugins folder
- Develop a data processing pipeline where transformation steps are implemented as separate plugin modules
- Build a game or graphics application with modular content packs loaded as plugins at startup
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PluginBase provides a framework for building plugin systems in Python, allowing applications to dynamically load and execute plugins from specified directories.
Yes, if you need a lightweight plugin framework and can accept that the package is no longer maintained. The core functionality is stable and has no known vulnerabilities, but verify compatibility with your target Python version before committing. For new projects, consider whether an actively maintained alternative better suits your needs.
Install
pluginbase on PyPI
pip
pip install pluginbaseuv
uv add pluginbasepoetry
poetry add pluginbaseInstalling pluginbase
Before you install
High install friction with no runtime dependencies. The package is marked abandoned (last commit 2021-05-16, 1916 days since release), though it remains in production/stable status and has accumulated 1139 repository stars. Use only if plugin architecture is essential and no actively maintained alternative exists.
License in practice
Licensed under BSD (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
from pluginbase import PluginBase
plugin_base = PluginBase(package='yourapplication.plugins')
plugin_source = plugin_base.make_plugin_source(searchpath=['./plugins'])
my_plugin = plugin_source.load_plugin('my_plugin')
my_plugin.do_something_cool()
Verify before relying
- Whether the package works reliably with Python versions beyond 3.9 (classifiers list 3.9 as the latest tested)
- Whether abandonment status affects compatibility with modern Python packaging standards
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,916 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 819,144/month — #4,978 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pluginbase-1.0.1.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
plugincodePlugincode provides a plugin system for Python…
permissive · top 15,000 on PyPI
pluginlibPluginlib provides a framework for defining,…
copyleft · top 15,000 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
stevedoreStevedore manages dynamic plugin loading for…
permissive · top 1,000 on PyPI
napari-plugin-engineA plugin discovery and hook-calling system for…
permissive · top 15,000 on PyPI
lmllml provides a lazy plugin management system…
permissive · top 5,000 on PyPI
entrypointsDiscovers and loads entry points from installed…
permissive · top 1,000 on PyPI
pluxPlux is a dynamic plugin loading framework…
permissive · top 5,000 on PyPI
polylith-cliA command-line tool that scaffolds and manages…
permissive · top 15,000 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI