跳转到主要内容

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 查看哈希值)

上传时间 Python 3

由以下提供支持