跳转到主要内容

简单、现代且高性能的Python文件监控和代码重载。

项目描述

watchfiles

CI Coverage pypi CondaForge license

简单、现代且高性能的Python文件监控和代码重载。


文档: watchfiles.helpmanual.io

源代码: github.com/samuelcolvin/watchfiles


底层文件系统通知由Notify Rust库处理。

此软件包之前名为"watchgod",有关更多信息,请参阅迁移指南

安装

watchfiles需要Python 3.8 - 3.13。

pip install watchfiles

以下为可用的二进制文件

  • Linux: x86_64aarch64i686armv7lmusl-x86_64 & musl-aarch64
  • MacOS: x86_64 & arm64
  • Windows: amd64 & win32

否则,您可以从源代码安装,这需要安装Rust稳定版本。

用法

以下是一些关于watchfiles能做什么的示例

watch用法

from watchfiles import watch

for changes in watch('./path/to/dir'):
    print(changes)

查看更多详细信息,请参阅 watch 文档

awatch 使用方法

import asyncio
from watchfiles import awatch

async def main():
    async for changes in awatch('/path/to/dir'):
        print(changes)

asyncio.run(main())

查看更多详细信息,请参阅 awatch 文档

run_process 使用方法

from watchfiles import run_process

def foobar(a, b, c):
    ...

if __name__ == '__main__':
    run_process('./path/to/dir', target=foobar, args=(1, 2, 3))

查看更多详细信息,请参阅 run_process 文档

arun_process 使用方法

import asyncio
from watchfiles import arun_process

def foobar(a, b, c):
    ...

async def main():
    await arun_process('./path/to/dir', target=foobar, args=(1, 2, 3))

if __name__ == '__main__':
    asyncio.run(main())

查看更多详细信息,请参阅 arun_process 文档

命令行界面 (CLI)

watchfiles 还提供命令行界面用于运行和重新加载代码。当 src 目录中的文件发生变化时,运行 some command

watchfiles "some command" src

更多详细信息,请参阅 命令行界面文档

或者运行

watchfiles --help

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

watchfiles-0.24.0.tar.gz (37.9 kB 查看哈希值)

上传时间 源代码

构建分布

watchfiles-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (369.4 kB 查看哈希值)

上传时间 PyPy macOS 11.0+ ARM64

watchfiles-0.24.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (377.0 kB 查看哈希值)

上传时间 PyPy macOS 10.12+ x86-64

watchfiles-0.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (428.3 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (441.0 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (371.7 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

watchfiles-0.24.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (377.1 kB 查看哈希值)

上传于 PyPy macOS 10.12+ x86-64

watchfiles-0.24.0-cp313-none-win_amd64.whl (276.6 kB 查看哈希值)

上传于 CPython 3.13 Windows x86-64

watchfiles-0.24.0-cp313-none-win32.whl (263.9 kB 查看哈希值)

上传于 CPython 3.13 Windows x86

watchfiles-0.24.0-cp313-cp313-musllinux_1_1_x86_64.whl (593.6 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp313-cp313-musllinux_1_1_aarch64.whl (612.5 kB 查看哈希值)

上传于 CPython 3.13 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.3 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (473.0 kB 查看哈希值)

上传于 CPython 3.13 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (468.9 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (451.8 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (432.8 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (438.4 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp313-cp313-macosx_11_0_arm64.whl (367.9 kB 查看哈希值)

上传时间: CPython 3.13 macOS 11.0+ ARM64

watchfiles-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl (373.8 kB 查看哈希值)

上传时间: CPython 3.13 macOS 10.12+ x86-64

watchfiles-0.24.0-cp312-none-win_arm64.whl (266.2 kB 查看哈希值)

上传时间: CPython 3.12 Windows ARM64

watchfiles-0.24.0-cp312-none-win_amd64.whl (277.1 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86-64

watchfiles-0.24.0-cp312-none-win32.whl (264.1 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86

watchfiles-0.24.0-cp312-cp312-musllinux_1_1_x86_64.whl (594.9 kB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp312-cp312-musllinux_1_1_aarch64.whl (612.9 kB 查看哈希值)

上传于 CPython 3.12 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.7 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (473.0 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (469.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (452.1 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (433.4 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (437.3 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp312-cp312-macosx_11_0_arm64.whl (367.7 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

watchfiles-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl (374.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.12+ x86-64

watchfiles-0.24.0-cp311-none-win_arm64.whl (266.3 kB 查看哈希值)

上传于 CPython 3.11 Windows ARM64

watchfiles-0.24.0-cp311-none-win_amd64.whl (277.5 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

watchfiles-0.24.0-cp311-none-win32.whl (264.2 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86

watchfiles-0.24.0-cp311-cp311-musllinux_1_1_x86_64.whl (595.1 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp311-cp311-musllinux_1_1_aarch64.whl (612.3 kB 查看哈希值)

上传时间: CPython 3.11 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.5 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (475.5 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (469.1 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (450.9 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (433.6 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (437.7 kB 查看哈希值)

上传时间: CPython 3.11 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp311-cp311-macosx_11_0_arm64.whl (367.7 kB 查看哈希值)

上传时间: CPython 3.11 macOS 11.0+ ARM64

watchfiles-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl (375.6 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.12+ x86-64

watchfiles-0.24.0-cp310-none-win_amd64.whl (277.5 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

watchfiles-0.24.0-cp310-none-win32.whl (264.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

watchfiles-0.24.0-cp310-cp310-musllinux_1_1_x86_64.whl (595.1 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp310-cp310-musllinux_1_1_aarch64.whl (612.3 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (425.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (476.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (469.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (451.1 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (433.6 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (437.7 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp310-cp310-macosx_11_0_arm64.whl (367.4 kB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

watchfiles-0.24.0-cp310-cp310-macosx_10_12_x86_64.whl (375.1 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.12+ x86-64

watchfiles-0.24.0-cp39-none-win_amd64.whl (277.8 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86-64

watchfiles-0.24.0-cp39-none-win32.whl (264.3 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86

watchfiles-0.24.0-cp39-cp39-musllinux_1_1_x86_64.whl (596.2 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp39-cp39-musllinux_1_1_aarch64.whl (613.2 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.4 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (476.6 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (469.9 kB 查看哈希值)

上传时间: CPython 3.9 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (451.8 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (433.7 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (438.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp39-cp39-macosx_11_0_arm64.whl (369.4 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

watchfiles-0.24.0-cp39-cp39-macosx_10_12_x86_64.whl (375.9 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.12+ x86-64

watchfiles-0.24.0-cp38-none-win_amd64.whl (277.7 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

watchfiles-0.24.0-cp38-none-win32.whl (264.4 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

watchfiles-0.24.0-cp38-cp38-musllinux_1_1_x86_64.whl (596.3 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

watchfiles-0.24.0-cp38-cp38-musllinux_1_1_aarch64.whl (613.1 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (426.7 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (476.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (470.1 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ppc64le

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (451.5 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ i686

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (433.9 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ARMv7l

watchfiles-0.24.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.4 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ ARM64

watchfiles-0.24.0-cp38-cp38-macosx_11_0_arm64.whl (369.8 kB 查看哈希值)

上传时间 CPython 3.8 macOS 11.0+ ARM64

watchfiles-0.24.0-cp38-cp38-macosx_10_12_x86_64.whl (376.0 kB 查看哈希值)

上传时间 CPython 3.8 macOS 10.12+ x86-64

由以下组织支持