Simple, modern and high performance file watching and code reload in python.
Project description
watchfiles
Simple, modern and high performance file watching and code reload in python.
Documentation: watchfiles.helpmanual.io
Source Code: github.com/samuelcolvin/watchfiles
Underlying file system notifications are handled by the Notify rust library.
This package was previously named "watchgod", see the migration guide for more information.
Installation
watchfiles requires Python 3.7 - 3.10.
pip install watchfiles
Binaries are available for:
- Linux:
x86_64
,aarch64
,i686
,musl-x86_64
&musl-aarch64
- MacOS:
x86_64
&arm64
(except python 3.7) - Windows:
amd64
&win32
Otherwise, you can install from source which requires Rust stable to be installed.
Usage
Here are some examples of what watchfiles can do:
watch
Usage
from watchfiles import watch
for changes in watch('./path/to/dir'):
print(changes)
See watch
docs for more details.
awatch
Usage
import asyncio
from watchfiles import awatch
async def main():
async for changes in awatch('/path/to/dir'):
print(changes)
asyncio.run(main())
See awatch
docs for more details.
run_process
Usage
from watchfiles import run_process
def foobar(a, b, c):
...
if __name__ == '__main__':
run_process('./path/to/dir', target=foobar, args=(1, 2, 3))
See run_process
docs for more details.
arun_process
Usage
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())
See arun_process
docs for more details.
CLI
watchfiles also comes with a CLI for running and reloading code. To run some command
when files in src
change:
watchfiles "some command" src
For more information, see the CLI docs.
Or run
watchfiles --help
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 Distributions
Hashes for watchfiles-0.14.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a31aa53d99032885ed2a456dbdd58e3120da06a75e057b01183ff357d3a7199a |
|
MD5 | 4821e4aee6bf7db0649284c8557c0a88 |
|
BLAKE2b-256 | 224afa61a5ea6ce9272be6b95cdd2e724ba3fe60ecc305aab15a47b6af8aa447 |
Hashes for watchfiles-0.14.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ba1cead258a1e5a9211ff78bfa2a1c9a9ee7c1d007fc80bab093dd07756a1b6 |
|
MD5 | b8c092c0f78a4b2c07cbd18d17c5d191 |
|
BLAKE2b-256 | d11666672a0c27e36e5e7bae0145add1c7e68f2504d6f9da39d11fbfe4fcc8c3 |
Hashes for watchfiles-0.14.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b34e6daa9fbfa96bc320921cbcdb82b320ec461ba1ec878806577be967476e |
|
MD5 | 554b35c75719069f43bcfbb5d7f2d0db |
|
BLAKE2b-256 | 900c7279f99a999a51a4f1330dc957b4ed097a0e25ed73db91a515eb2be41535 |
Hashes for watchfiles-0.14.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7969036fc27dbea6db19d395be488a420bae56a86d9c75c19bbe6f4283ef0e1c |
|
MD5 | a4070b7bd0673fd8d77755643cad64fb |
|
BLAKE2b-256 | fac11363db3198090a96c679576f0ac8d2a7c24dfc4d70817d5b09f4850379db |
Hashes for watchfiles-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9c714b9bcea4ba365fd1de7d2f16ba7a4b4ba438af0c1ec063d0f6af2191266 |
|
MD5 | 04b1e1c2a1a3dcbb6926e78b20c5944b |
|
BLAKE2b-256 | 2280b237309e29bcb941fd82ea99a786716496ef01917ec2afda2c9927522a12 |
Hashes for watchfiles-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 140e3465e5d66a0e87eeac124a429f28f69a551c93a636243201f88873bf8614 |
|
MD5 | a519a8b45feeb7417a0e00065328701a |
|
BLAKE2b-256 | 3dcbce0d9b715138badf70bed5e5bdd796519b51e39d99d2e72a23b2879fd934 |
Hashes for watchfiles-0.14.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59235794602c16a54723e1bb2e6581824dddbb9c811fb0be54db5e2302ce1c9e |
|
MD5 | 62308dbc5ff62fa1bf34b63303cdf273 |
|
BLAKE2b-256 | ca3b3fd304f5f869aaedd600d4a6f7455b48ffd157a095542ebdcda7dabe3c09 |
Hashes for watchfiles-0.14.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e7ec627933c308ffb0ca41fcc78ec491b03f32a6a75cef4af67314b29ff8273 |
|
MD5 | 1905221a2a06009058197e09fea1b311 |
|
BLAKE2b-256 | 85ef1fcfa91d76212034d9af24a99991b170e28b7f43ceadfedbe92c250fc8b0 |
Hashes for watchfiles-0.14.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30b0ac54b5d2200b9a831c057aed9ae3ed67e2bd58a77337d2c800b4d7294a29 |
|
MD5 | 2bf578080b3ddfbe999b6f93e3dccac9 |
|
BLAKE2b-256 | d83f847bdfb6e8aebcafe353387240f7fb21e613e8dd5b5c912b64816fe87e54 |
Hashes for watchfiles-0.14.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 153feeee6264b3d943282a139d2dc7e45c2e53d55e40bf50146f1c7a3d50bdf1 |
|
MD5 | 735e1c306eaeb3689241987f52e9e1d0 |
|
BLAKE2b-256 | 2f9eb95c8af8381ddad02fcac35e77faabce2ea9b12ce4b77128852768b39bc0 |
Hashes for watchfiles-0.14.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 728240aa999a206a581d30de81a50123074db46d18232dca26756e07c3fea58a |
|
MD5 | a56a29a229739bfd81a45c0b62761d92 |
|
BLAKE2b-256 | 6095fa2b86ca3ba73260e054a7769e5276059de53f0a5a7be9e076f24ac26b42 |
Hashes for watchfiles-0.14.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd9d3c1551cc62ce9ec812c6a572f7f608e3fead147efa4bc66bdb6bc87f96cc |
|
MD5 | af1c0fb1101885089d22dc5533ef7e8b |
|
BLAKE2b-256 | 2dcb1b221fcd942293c06b03148675d5028020e90d0fcdff194d0eec1a9d95fe |
Hashes for watchfiles-0.14.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b87c4b0839d1a6709f8c395f9261735c7cfc3d14b8c8f7d78143ee0d7cf8a24 |
|
MD5 | 94ff7bedf844e3f2decdeea07a0d2267 |
|
BLAKE2b-256 | ef94c110c90ed2505eccb1107fec07a4f1c2e7dd12c429c25343391298856f71 |
Hashes for watchfiles-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7801a5b59796a0908ef947acf40bfd2d40a34398a22934213c1522f6b28e70de |
|
MD5 | fad0f0a60736147f9289a69a74c78897 |
|
BLAKE2b-256 | 1879056d7b207e1acb77584abd6b2c70fcf90d05fb0e43ce64242da5e07e387f |
Hashes for watchfiles-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fde0335f3d4c5f62c37d6d86c3aaa5959b4f43c75eddec83712eafc2b0a2e1fb |
|
MD5 | 6280eca715b5b39fdd86af9822b48994 |
|
BLAKE2b-256 | 65e5ca491b36c2e85eb2b3a37981bfc3777368b5516cd5cc1a5ed1665ef959dd |
Hashes for watchfiles-0.14.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32008e52c1a117c3858418e02005c4584ee32b2c503b71bbe6494854e9982c88 |
|
MD5 | efbc0130c94621f0c7bec87ecd552b85 |
|
BLAKE2b-256 | 9dd1d15f31d4b610fe9e8e5f0fca186f5356c0463977508dba5c5865e2d3e6e1 |
Hashes for watchfiles-0.14.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7acd62605ca2217425f3b0d10345b618b786995dc335ee3d18c1d8246d76a3d5 |
|
MD5 | 6e7cb28ddf34219205099eb19f719090 |
|
BLAKE2b-256 | 674905443c3a95aa3b07341f0cea7e23493fcb46a800ba4e4de9b7de896fcbe2 |
Hashes for watchfiles-0.14.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f25e47de53d67b1188b58619ef2e4b152e01afd9b4b4aad3225c18df8a16125 |
|
MD5 | df4c39c7cd079ed4aba27f0fd277a255 |
|
BLAKE2b-256 | adb1c7a871e6f2026e52b72076f1f34dfd550837dd903c18b64a21fdeb917506 |
Hashes for watchfiles-0.14.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d675718895b8b817288f63a20300c9ecef2a922665c6b59c81c46efbfeea3ad |
|
MD5 | 24a9a4e29036bdb14445547a5218924e |
|
BLAKE2b-256 | 8d999ec0c29fd9a524fd2ebda3db477573d4305e2c36824e7a0f5e5aa9f52d5c |
Hashes for watchfiles-0.14.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4901610a4d8f31bf4b66beba4e7f9a97ec5beef99a6e64fe2a0e96548edd6f |
|
MD5 | 9a361aa2a87bb7382860fb22e829120c |
|
BLAKE2b-256 | 77285b58e79dbe19a3d2cd4b2dd0859180950e95bcd8f6e6e14b7c2ad1e4d7a1 |
Hashes for watchfiles-0.14.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95ac7ac682c84a9c511f09e75e2fcbfbc158834f39e567e1ecf698a7979ef154 |
|
MD5 | 55d147cef0d537e39514304914ea0cdf |
|
BLAKE2b-256 | fbaafd3c09fe3262d9806503558ff7345663059305214609dc368ca5cee20d5e |
Hashes for watchfiles-0.14.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc70378833d94f73d79337c218535097863e34f62319ee33c70d1febd63e6c3 |
|
MD5 | 0e21f4a912ebddb9ddee594c459efab0 |
|
BLAKE2b-256 | 93fcfb0b79d564b0d5179e457fdb73ef17c5b8fc370f2b0093640422548dff84 |
Hashes for watchfiles-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1806ce29cfda123a3a59c9b909ae7ff4eb05d6b424eb7b9ae3b0a92188c35bb4 |
|
MD5 | be9f909dd51d8dc3688ac32a5a8ddd6b |
|
BLAKE2b-256 | 3305ee3a9c6e1891dfe3f5f1370389ac8a2973fa5e2e5f2287153a0196423ec8 |
Hashes for watchfiles-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b34bb13ffb2053c0eb27e3cf71f57bd402adec1d7f2a3812f86cba3f4e431631 |
|
MD5 | e1da3ca5babbfbf514d5265e0a04a68c |
|
BLAKE2b-256 | 04dc4e90c46ee842f6805003079d1d545cc62b07cbcbfbea598cee8bdcd01f99 |
Hashes for watchfiles-0.14.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f2216e1cd1a0d1cb326b23918a66538ae5f70df75237f6d85edf207803aa80d |
|
MD5 | 170a69230bba2ea251c626a3992646df |
|
BLAKE2b-256 | 062b916dcdcfaa4978c4436169f3e33113e3c1e98bd6eb08eb2ac647a1ed6f78 |
Hashes for watchfiles-0.14.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1008650f4c5038ee0e915335dac160a1a4acac904ddce437bb65156b1783dac9 |
|
MD5 | 9e126f21db26512b5d99d22187fbe9d4 |
|
BLAKE2b-256 | 95826ab1140cd193936d12026f8a59b2b5e54c5dd1cbb14783db4a7a44a52ef8 |
Hashes for watchfiles-0.14.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e3ea4d44a29168f613945b578aea05c539070ac6faaf28bc52b51bedc45037a |
|
MD5 | 207109775702e4f01b4444013c1b1f6d |
|
BLAKE2b-256 | c10cd17cc0c27501d930f2cf913657eecf51176957e6c4de3855d03b3de54a35 |
Hashes for watchfiles-0.14.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3855b4536b083305b30a314413aa7fec7316776d0f83dac0cb95c15a8f3a8b1 |
|
MD5 | 9cad595471d65239ff488974efb4c3f7 |
|
BLAKE2b-256 | 6f5b8fdc5e3d7086c22bd913f8999af665eb64ec2edd7580698ff3a968252e95 |
Hashes for watchfiles-0.14.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ce8d0f39be3b75ca44f138d25ae7cd891f60b94d50f49f7cd00ef28acfc0be |
|
MD5 | 956079cafafbb9a7f293012d6a765f77 |
|
BLAKE2b-256 | 03e52bc5ecffc2f1933d55f65293987d839577df5812f0aadd5caae90dc3dfa3 |
Hashes for watchfiles-0.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46520ba7a86ca423ae5c926ccb679faa520631c5ee60f8e2bab13ded2cd6a441 |
|
MD5 | 76ec8e2c63ee548fb3ece12fb4e93882 |
|
BLAKE2b-256 | 4ed2e51ae78d7f86563933e378fa33066ad322341fe4bdc483ac24a6753f9090 |
Hashes for watchfiles-0.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe4dd655c2f444007536b18aa9ebda612cc8500d2745b028848d7d91eedcea45 |
|
MD5 | c7d1d4772ca6326e63335df9cfbf631b |
|
BLAKE2b-256 | 684175df4ec1e0eef480c78fc46ca3f01c7be4455ec9b6008dd27e81178f5435 |
Hashes for watchfiles-0.14.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8896c1383b7eb9db006a331c560b1b10fd3dcf4b32137dfda1c2b644cf2d76e |
|
MD5 | fbbe2e0a9e9ff2eef20212d1b478d800 |
|
BLAKE2b-256 | b7f80095083fb449e7558a7705d4c5afeabe7308076a7f4ea145ac4de7be4650 |
Hashes for watchfiles-0.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 938ac4565b7db4b4360cdd688b0e54eaa273d0200863db6d07c0fab7cb46ab73 |
|
MD5 | da6b7c090450596d1ea5022c7c3f472b |
|
BLAKE2b-256 | 08366ed603f1f6908ce17e262c8f9ff67672cc752f1438ac350073c85b8de30a |
Hashes for watchfiles-0.14.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 897697694830a7611b7883211fb96dc8e92ee36691ba9092ea5e4f55bd10809c |
|
MD5 | 026e3546ec64bfcbc35d54b73af27178 |
|
BLAKE2b-256 | 6405cdf2872720f30b82665174657dea7f7e7a47b38cbe9d58bf22ef575657d6 |
Hashes for watchfiles-0.14.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0ccf024f56ed78a0aa368e0c063a7497be82db8ee7ef88709497e1c9c33c32a |
|
MD5 | 746f23ac08439c6f327d287c9d230663 |
|
BLAKE2b-256 | 18d1d17a061a101af048f9a4f38f5e7c670cb08ef1f194bab12f933897686551 |