Skip to main content

watch and (re)load/remove nonebot plugins from a directory

Project description

nonebot-plugins-watch

Python3.7 package codecov PyPI version

hot plug and remove nonebot plugins

Installation

pip install nbplugins-watch

To validate installation

python -c "import nbplugins_watch; print(nbplugins_watch.__version__)"
0.0.6

Usage

Make a directory somewhere and place an empty __init__.py and a plugin file in it.

Monitor the directory in your nonebot runner file, e.g. in my_nonebot.py:

import nonebot
from nbplugins_watch import nbplugins_watch

nonebot.load_builtin_plugins()  # optional
nonebot.load_builtin_plugins("mature-plugin-dir")

plugin_dir_path = r"path_to_plugin_dir"  # absolute or relative path

nbplugins_watch(plugin_dir_path)
# turn debug on to see what's going on
# nbplugins_watch(plugin_dir_path, debug=True)

nonebot.run()

Create a file, say fancy_plugin.py if not already there, in the directory above. Edit and test and/or remove the file fancy_plugin.py to your heart's content.

Note: if a plugin file contains syntax errors (as opposed to logic errors), you'll have to restart nonebot, in other words, nbplugins_watch will cease to work after an uncaught error. nbplugins_watch can recover from syntax errors, in other words, even when a plugin file contains syntax errors (as opposed to logic errors), it just still works.

Acknowledgments

  • Thanks to everyone whose code was used

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

nbplugins-watch-0.0.6.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

nbplugins_watch-0.0.6-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file nbplugins-watch-0.0.6.tar.gz.

File metadata

  • Download URL: nbplugins-watch-0.0.6.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.6.7

File hashes

Hashes for nbplugins-watch-0.0.6.tar.gz
Algorithm Hash digest
SHA256 f16579188d1b65a4a20cc5cc03cb7265d7c6b68bc24ae63186333a0d4c765cfc
MD5 6f5d4eb296bdfa5fde71e84e9386f9b0
BLAKE2b-256 8ee6cd6c253c205fccee3ed367f5282eeb73d3bb353a22f021ca333d3b65f0c8

See more details on using hashes here.

File details

Details for the file nbplugins_watch-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: nbplugins_watch-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.43.0 CPython/3.6.7

File hashes

Hashes for nbplugins_watch-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3856a0c6c4bd49046a9e843ddba6b1a299c6d27fd470f521e410489f991fb5a4
MD5 6f8a815e1a3f8a1d8d80d005044df9ef
BLAKE2b-256 e5ebece2f36435509a41aeaf841a39b669b9029935fbcd2f2cb4d9a9dd136e4f

See more details on using hashes here.

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