Skip to main content

Yapsy QT GUI

Python plugin manager

This project is a GUI python plugin manager. Backend is implemented over Yapsy

Basic plugin structure:

plugin1.plugin
# Plugin descriptor file
[Core]
Name = Plugin Test
Module = plugin1

[Documentation]
Author = Leonel Hernandez
Version = 0.1
Website = https://github.com/leonelhs/
Description = This is a demo plugin
plugin1.py
# Plugin module file
from qtpy.QtWidgets import QPushButton
from yapsy.IPlugin import IPlugin


class PluginOne(IPlugin):

    def __init__(self):
        super().__init__()
        self.context = None
        self.name = "Plugin test-01"

    def action(self, context):
        self.context = context
        button = QPushButton(self.name)
        button.clicked.connect(self.task)
        context.layout().addWidget(button)

    def task(self):
        self.context.output.append("This is a text from plugin test-01")

Minimal Application

import sys
from qtpy import QtWidgets
from qtpy.QtWidgets import QWidget, QVBoxLayout, QPushButton, QTextBrowser
from yapsygui import DialogPlugins


def fetchPlugins(plugins):
    for plugin in plugins:
        plugin.plugin_object.action(win)


app = QtWidgets.QApplication()
win = QWidget(None)
win.setLayout(QVBoxLayout())
btn_manager = QPushButton("Show Manager")
win.layout().addWidget(btn_manager)

manager = DialogPlugins(win, "./plugins")
manager.connect(fetchPlugins)
manager.loadPlugins()

btn_manager.clicked.connect(manager.show)
win.output = QTextBrowser(win)
win.layout().addWidget(win.output)

win.show()
sys.exit(app.exec_())

Install

foo@bar:~$ pip install yapsygui
foo@bar:~$ yapsygui

For install a new plugin just locate plugin descriptor

Test plugin action

Metadata

Release files for yapsygui 1.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for yapsygui 1.1.4
File Interpreter ABI Platform
yapsygui-1.1.4-py3.11.egg Legacy Egg format - - Details
yapsygui-1.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 55.5 kB

Release files / yapsygui-1.1.4-py3.11.egg

Download URL yapsygui-1.1.4-py3.11.egg
Size 38.1 kB
Tags Egg
SHA-256 checksum
How to use checksums
318d6b8298bc0f23b75ecef7afdd250acbacb76a73db3b2d17f8ce562e53c0c9
BLAKE2b-256 checksum
How to use checksums
1d0e2c7394e5a43fc98c21cbd0b260a124047a4326539c044e5895ea4c8e0e74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release files / yapsygui-1.1.4-py3-none-any.whl

Download URL yapsygui-1.1.4-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e1d7c58faa8fd7b9fd7de9acb0356283ba9fb185fe58924c847177c42f07e9e
BLAKE2b-256 checksum
How to use checksums
680f5d66da8db0fd8bcecd0b751f282b19dd21ce86bd49e3690a0b1ed0b707ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Security for yapsygui 1.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page