Skip to main content

Open source plugin system.

Project description

OpenPS

Open source plugin system.

Install

Windows

pip install OpenPS

Linux

pip3 install OpenPS

Built-in events

IMPORTANT: These events will not called automatically. You need to define when need to call.

  • OnProgamStart
  • OnProgamExit
  • OnProgamInit

How to use

If you have a project and want to add a plugin system then you just need to follow these instructions. First you need to make the project folder.

.
├── main_program.py
└── plugins
    └── hello.py

You need to add a plugin.py file.

.
├── main_program.py
├── plugin.py
└── plugins
    └── hello.py

Write the following code to the plugin.py

# plugin.py
import OpenPS

event = OpenPS.Event("./plugins/")

call = lambda name: event.call(name)
register = lambda name: event.register(name)

event.init()

If you want to add your own events then add this line in the code above the event.init() line.

# plugin.py
import OpenPS

event = OpenPS.Event("./plugins/")

call = lambda name: event.call(name)
register = lambda name: event.register(name)

event.create("OnProgramFoo") # Create event.

event.init()
# main_program.py
import plugin

def main():
  plugin.call("OnProgramFoo")
  print("hello world!")

main()
# /plugins/hello.py
import plugin

@plugin.register("OnProgramFoo")
def function():
  print("hello from the plugin!")

When you run the main_program.py the output should be looks like this

hello from the plugin!
hello world!

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

OpenPS_1.1.0.tar.gz (2.4 kB view hashes)

Uploaded Source

Built Distribution

OpenPS_1.1.0-py3-none-any.whl (6.9 kB view hashes)

Uploaded

Supported by

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