{ "info": { "author": "Sithis", "author_email": "sithis999@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "PlugSy is a cross-platform threaded plugin framework and SDK for Python. With PlugSy, each plugin runs in a separate\nthread and has a handle to the global PlugSy plugin management object, allowing plugins to communicate and interact with\neach other. Whilst there are numerous existing Python Plugin frameworks, it's this built-in support for threading that\nmakes PlugSy slightly different.\n\n\n|Documentation|\n\n\nLinks\n==============\n * home: https://github.com/sithis993/PlugSy\n * docs: http://plugsy.readthedocs.io\n * PyPI: https://pypi.org/project/PlugSy/\n\nProject Goal\n==============\n\n The goal of this project is to aid with the rapid development of Python applications of varying size and complexity.\n PlugSy tries to make it easy for developers to create small modular components (plugins) that interact and\n combine to form the basis of a complete software piece. By keeping extensibility and modularity in mind, PlugSy\n allows you to move from a basic single-plugin application, to a large application with a multitude of complex\n plugins, at your own pace.\n\nFeatures\n==============\n * Separation of plugins into core and addon packages\n * Cross-platform support\n * Pure-python, no dependencies required\n * Built-in logging support for the PlugSy manager and each individual plugin\n * SDK GUI for quickly creating and deleting plugins\n\nRoadmap\n==============\n * PyInstaller integration and executable production\n * Combining PlugSy and any developed plugins into a PyInstaller executable via SDK and SDK GUI\n * Option to add a Windows service wrapper\n * Further support for additional Python versions\n\nSimilar Projects\n================\n * PluginBase: http://pluginbase.pocoo.org/\n * Yapsy: http://yapsy.sourceforge.net/\n\nExample Usage\n================\n\nPlugSy\n#############\n\nInitiating PlugSy\n::\n\n from plugsy import Plugsy\n\n plugsy = Plugsy()\n\nActivating all existing plugins\n::\n\n plugsy.activate_plugins()\n\nActivating specific plugins\n::\n\n plugsy.activate_plugins([\"MainPlugin\", \"FirstPlugin\", \"FifthPlugin\"])\n\nDeactivating all plugins\n::\n\n plugsy.deactivate_plugins()\n\nDeactivating specific plugins\n::\n\n plugsy.deactivate_plugins([\"MainPlugin\", \"FirstPlugin\", \"FifthPlugin\"])\n\nInteracting with plugin objects\n::\n\n main_plugin = plugsy.get_plugin(\"MainPlugin\")\n main_plugin.do_something()\n main_plugin.do_something_else()\n\n first_plugin = plugsy.get_plugin(\"FirstPlugin\")\n first_plugin.take_an_action(\"some_action\")\n some_data = first_plugin.get_some_data()\n\n\nSDK\n#############\n\nInitiating the SDK\n::\n\n from plugsy.sdk.Sdk import Sdk\n\n # Pass in path to directory containing plugins (or path to an empty dir)\n sdk = Sdk(plugins_home_path=\".\\\\plugins\")\n\nCreating a new plugin\n::\n\n # Pass in the plugin type (core or addon) and plugin name\n sdk.create_plugin(plugin_type=\"core\", name=\"MyNewPlugin\")\n\nDeleting a plugin\n::\n\n sdk.delete_plugin(name=\"MyNewPlugin\")\n\nInstallation\n==================\nInstallation of PlugSy is simple using Pip:\n::\n\n pip install plugsy\n\n\nDependencies\n==================\n * \\*wxPython (4.0.1): https://pypi.org/project/wxPython/#description\n\n\\*wxPython is only required if you're running Windows and want to use the SDK GUI\n\n\n.. |Documentation| image:: https://readthedocs.org/projects/plugsy/badge/?version=latest\n :target: http://plugsy.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sithis993/PlugSy", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "PlugSy", "package_url": "https://pypi.org/project/PlugSy/", "platform": "", "project_url": "https://pypi.org/project/PlugSy/", "project_urls": { "Homepage": "https://github.com/sithis993/PlugSy" }, "release_url": "https://pypi.org/project/PlugSy/0.2.31/", "requires_dist": null, "requires_python": "", "summary": "Threaded plugin system and SDK", "version": "0.2.31" }, "last_serial": 3912901, "releases": { "0.2.30": [ { "comment_text": "", "digests": { "md5": "7785538014292e2572155b4e53bba231", "sha256": "1fdb5035293df563be1675a62f2932f7776e4989f03c09c2fea4414cd6d72227" }, "downloads": -1, "filename": "PlugSy-0.2.30-py3-none-any.whl", "has_sig": false, "md5_digest": "7785538014292e2572155b4e53bba231", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33680, "upload_time": "2018-05-19T17:52:25", "url": "https://files.pythonhosted.org/packages/4c/3b/49bf3196eeba632aac53fa22a8dd17c45f276a4c94fea48d761350956c59/PlugSy-0.2.30-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "616175855f3dd78d0b8fc99bb60d7c50", "sha256": "7228607193ad7ecc667d429600c6216ddc7a488d8f7818a44a867c06b81d20a0" }, "downloads": -1, "filename": "PlugSy-0.2.30.tar.gz", "has_sig": false, "md5_digest": "616175855f3dd78d0b8fc99bb60d7c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24272, "upload_time": "2018-05-19T17:52:38", "url": "https://files.pythonhosted.org/packages/ed/04/ac682d3e0edacd4b34f718c222c8dad771bad8a9d14ee9f7e6da2afab11b/PlugSy-0.2.30.tar.gz" } ], "0.2.31": [ { "comment_text": "", "digests": { "md5": "2173c752737e1b23e9adcb7314af42cb", "sha256": "1f0e534f0fbb9c7b06318ef77ef04435726793959c1402d182ab0895cccc2683" }, "downloads": -1, "filename": "PlugSy-0.2.31-py3-none-any.whl", "has_sig": false, "md5_digest": "2173c752737e1b23e9adcb7314af42cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33781, "upload_time": "2018-05-30T13:39:05", "url": "https://files.pythonhosted.org/packages/c9/f5/9c3264ecc5277ce3dd5c2732878dce0fb8fa09c67fc420ad6b83e458031f/PlugSy-0.2.31-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e06ab2f64569cebbc5a635eae831af0", "sha256": "322ca917434c32cb05d7433bf3bab9bb3c4f26816c54393a38dd506131f2ed75" }, "downloads": -1, "filename": "PlugSy-0.2.31.tar.gz", "has_sig": false, "md5_digest": "2e06ab2f64569cebbc5a635eae831af0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24354, "upload_time": "2018-05-30T13:38:50", "url": "https://files.pythonhosted.org/packages/28/4a/450b880bfa1e5b26230081c450c7d930c6f6e1f5311033148df165ad5bd1/PlugSy-0.2.31.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2173c752737e1b23e9adcb7314af42cb", "sha256": "1f0e534f0fbb9c7b06318ef77ef04435726793959c1402d182ab0895cccc2683" }, "downloads": -1, "filename": "PlugSy-0.2.31-py3-none-any.whl", "has_sig": false, "md5_digest": "2173c752737e1b23e9adcb7314af42cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33781, "upload_time": "2018-05-30T13:39:05", "url": "https://files.pythonhosted.org/packages/c9/f5/9c3264ecc5277ce3dd5c2732878dce0fb8fa09c67fc420ad6b83e458031f/PlugSy-0.2.31-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e06ab2f64569cebbc5a635eae831af0", "sha256": "322ca917434c32cb05d7433bf3bab9bb3c4f26816c54393a38dd506131f2ed75" }, "downloads": -1, "filename": "PlugSy-0.2.31.tar.gz", "has_sig": false, "md5_digest": "2e06ab2f64569cebbc5a635eae831af0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24354, "upload_time": "2018-05-30T13:38:50", "url": "https://files.pythonhosted.org/packages/28/4a/450b880bfa1e5b26230081c450c7d930c6f6e1f5311033148df165ad5bd1/PlugSy-0.2.31.tar.gz" } ] }