Python热代码重载工具
项目描述
Reloadr
Python热代码重载工具。
pip安装reloadr
使用方法
您只需用@autoreload装饰您的函数/类,然后即可开始使用。
from reloadr import autoreload
@autoreload
def do_something(a, b):
return a + b
@autoreload
class SomeThing:
def do_stuff(self):
pass
高级使用
要手动重载代码,您可以使用以下方法
from reloadr import reloadr
@reloadr
class SomeThing:
def do_stuff(self):
pass
# Manual reload
SomeThing._reload()
# Automatic reload using filesystem notifications
SomeThing._start_watch_reload()
# Automatic reload in a thread every 1 second
SomeThing._start_timer_reload(1)
示例
启动一个示例(它们每个都包含一个无限循环),然后更改装饰的类或函数的源代码。
git clone https://github.com/hoh/reloadr.git
python examples/01_manual_reload.py
工作原理
与再次导入您的源文件不同,这可能会导致不希望的结果,Reloadr会获取Python源文件中函数的新代码,并在已加载模块的环境中执行该代码。
这使得它能够重载包含阻塞指令的代码,例如示例中的无限循环。
为此,Reloadr依赖于RedBaron,这是一个用于操作Python源代码的出色工具。
未来计划
此项目仍处于早期阶段。欢迎所有改进建议。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源分发
Reloadr-0.4.1.tar.gz (3.8 kB 查看哈希值)
构建分发
Reloadr-0.4.1-py3-none-any.whl (8.7 kB 查看哈希值)