Merge pull request '0.0.5' (#12) from 0.0.5 into main

Reviewed-on: https://gitea.com/Lerking/XtendR/pulls/12
This commit is contained in:
Lerking
2025-02-24 08:23:28 +00:00
4 changed files with 7 additions and 12 deletions
+4 -4
View File
@@ -3,9 +3,9 @@
A very basic Python >= 3.12 plugin system based on the K.I.S.S principle. A very basic Python >= 3.12 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:
- Simple to use :heavy_plus_sign: Simple to use
- Work well with Python 3.12 :heavy_plus_sign: Work well with Python 3.12
- Maintainable - Don't expect to see new releases every month. __If it ain't broken, don't fix it!!!__ :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. 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: No longer simple, and simple to use (Simplicity in use has been sacrificed for more complexity. It has become bloated)
@@ -27,4 +27,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 example_plugin.py/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 -1
View File
@@ -3,7 +3,7 @@ if __name__ == "__main__":
setup( setup(
name="XtendR", name="XtendR",
version="0.0.4", version="0.0.5",
packages=find_packages(), packages=find_packages(),
install_requires=[], install_requires=[],
author="Jan Lerking", author="Jan Lerking",
-4
View File
@@ -1,7 +1,3 @@
import importlib
import sys
import os
import json
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
class XtendRBase(ABC): class XtendRBase(ABC):
+1 -2
View File
@@ -2,7 +2,6 @@ import importlib
import sys import sys
import os import os
import json import json
from abc import ABC, abstractmethod
from xtendr.xtendrbase import XtendRBase from xtendr.xtendrbase import XtendRBase
class XtendRSystem: class XtendRSystem:
@@ -10,7 +9,7 @@ class XtendRSystem:
Example: Example:
>>> system = XtendRSystem() >>> system = XtendRSystem()
>>> system.attach("example_plugin") # Assuming 'example_plugin/plugin_info.json' exists >>> system.attach("example_plugin") # Assuming 'example_plugin/example_plugin.json' exists
>>> system.run("example_plugin") >>> system.run("example_plugin")
ExamplePlugin is running! ExamplePlugin is running!
>>> system.stop("example_plugin") >>> system.stop("example_plugin")