Skip to main content

A modular plugin system for Python.

Project description

XtendR

A very basic Python 3.12 friendly plugin system based on the K.I.S.S principle.

I was in need of a new plugin system, which should meet these requirements:
:heavy_plus_sign: Simple to use
:heavy_plus_sign: Work well with Python 3.12
:heavy_plus_sign: Maintainable - Don't expect to see new releases every month. If it ain't broken, don't fix it!!!

I previously used yapsy, but it doesn't meet the requirements anymore.
:x: No longer simple, and simple to use (Simplicity in use has been sacrificed for more complexity. It has become bloated)
:x: Not workink with Python 3.12
:x: No longer maintained (Hasn't been maintained for a few years)

I didn't find anything that suited my needs, so I decided to make my own plugin system.
It simply contains 2 classes, one for the plugin system and one abstraction base class for the plugins themselves.

At the moment only 4 functions are available:

  • Attach - including call to pre-load data in plugin.
  • Run
  • Stop
  • Detach

Attach and Detach are used for registrering/unregistrering a module on the system. The Run and Stop functions are mandatory in the plugin modules.

The system expects a folder called 'plugins', placed at the root, along side your main python file. Each plugin should be placed in subfolders, named as the plugin, inside the 'plugins' folder.

The example.py along with the plugins/example_plugin/example_plugin.py and plugins/example_plugin/example_plugin.json shows the workings of this plugin system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xtendr-0.3.3.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xtendr-0.3.3.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file xtendr-0.3.3.1.tar.gz.

File metadata

  • Download URL: xtendr-0.3.3.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for xtendr-0.3.3.1.tar.gz
Algorithm Hash digest
SHA256 7401c59e4cb2d7081e11244cd58a487d552822f579a934474d7390d220bea16d
MD5 0a81d528a6a5c1c19a816f65606c8412
BLAKE2b-256 7d6ac6cfaf4bba07047220d3c7dcbac99dca00e2ba9f5bd4a189b90968307b2c

See more details on using hashes here.

File details

Details for the file xtendr-0.3.3.1-py3-none-any.whl.

File metadata

  • Download URL: xtendr-0.3.3.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for xtendr-0.3.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec01b1772889af105776f74123a6c528b3f043529755fae739c523e63ebc27c9
MD5 0fbac4e91b18c04437d8622dcb220ed2
BLAKE2b-256 c0075b0019d75f51f2510bf62774d47d71e8f1b9550b518e215a795a2b492bfc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page