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:
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
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.
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user