watch and (re)load/remove nonebot plugins from a directory
Project description
nonebot-plugins-watch
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nbplugins_watch-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3856a0c6c4bd49046a9e843ddba6b1a299c6d27fd470f521e410489f991fb5a4 |
|
MD5 | 6f8a815e1a3f8a1d8d80d005044df9ef |
|
BLAKE2b-256 | e5ebece2f36435509a41aeaf841a39b669b9029935fbcd2f2cb4d9a9dd136e4f |