4 Commits
4 changed files with 13 additions and 6 deletions
+4 -3
View File
@@ -1,6 +1,6 @@
# XtendR # XtendR
A very basic Python 3.12 plugin system based on the K.I.S.S principle. 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: I was in need of a new plugin system, which should meet these requirements:
:heavy_plus_sign: Simple to use :heavy_plus_sign: Simple to use
@@ -16,7 +16,8 @@ I didn't find anything that suited my needs, so I decided to make my own plugin
It simply contains 2 classes, one for the plugin system and one abstraction base class for the plugins themselves. 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: At the moment only 4 functions are available:
- Attach
- Attach - including call to pre-load data in plugin.
- Run - Run
- Stop - Stop
- Detach - Detach
@@ -27,4 +28,4 @@ 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. 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. 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. 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.
+1
View File
@@ -0,0 +1 @@
setuptools==68.2.2
+7 -2
View File
@@ -1,9 +1,12 @@
if __name__ == "__main__": if __name__ == "__main__":
from setuptools import setup, find_packages from setuptools import setup, find_packages
from pathlib import Path
this_directory = Path(__file__).parent
long_description = (this_directory / "README.md").read_text()
setup( setup(
name="XtendR", name="XtendR",
version="0.3.2", version="0.3.3.1",
packages=find_packages(), packages=find_packages(),
install_requires=[], install_requires=[],
author="Jan Lerking", author="Jan Lerking",
@@ -16,4 +19,6 @@ if __name__ == "__main__":
"Operating System :: OS Independent", "Operating System :: OS Independent",
], ],
python_requires='>=3.11', python_requires='>=3.11',
long_description=long_description,
long_description_content_type='text/markdown'
) )
+1 -1
View File
@@ -5,7 +5,7 @@ import json
import threading import threading
from xtendr.xtendrbase import XtendRBase from xtendr.xtendrbase import XtendRBase
__version__ = "0.3.2" __version__ = "0.3.3.1"
class XtendRSystem: class XtendRSystem:
"""Plugin system to manage plugins. """Plugin system to manage plugins.