You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Steve Nyemba 89e15a79fa
documentation
10 months ago
bin bug fix 10 months ago
meta bug fixes, version 10 months ago
plugins bug fixes, version 10 months ago
LICENSE Initial commit 10 months ago
README.md documentation 10 months ago
setup.py bug fixes installer 10 months ago

README.md

About Plugins-ix

The goal of this project is to facilitate a plug-n-play architectural style with python i.e have a function in a file, load it and execute it. Plugins-ix is fully open-source and feel free to change distribute at will ... giving credit wont hurt ;-)

Easy Installation

    pip install git+https://github.com/lnyemba/plugins-ix

The Plugins-ix is using python libraries (no dependencies other than typer) and is made of 3 components :

  1. Loader

This class loads files from disk, loads the functions and applies provides a means to access the functions

  1. Registry

This class provides functions to manage a location on disk that serves as registry. Calling code can use this to manage plug-n-play functions on disk.

The registry aggregates a load and allow quick access to a given function

functions are referenced here in the following format function@file e.g: in the file demo.py, the function foo will be referenced as foo@demo

#
# This function will be referenced as copyright@demo

def copyright():
    return {"copyright":"2024 - 2025, Steve Nyemba", "license":"MIT"}
  1. CLI: plugin-ix

The command-line interpreter plugin-ix helps manage plugins in a given location (considered the registry). It is a great example for how we use registry

plugin-ix --help