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-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 272dfeffbcb1b6493645b2d603b5472655e974fbf86bc257f0790f388c47bedc |
|
MD5 | 2a63cc2c76fdab7834c8d96a68c06773 |
|
BLAKE2b-256 | a07ff17061ccb8548824fadd5f408768c065eba514715c7ffb8f77018894d0c4 |
Hashes for watchfiles-0.14-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1f0a85673a6ddadbcdc208a0dab45434794ccd4d6f7f0a7fa8ec734008ebda5 |
|
MD5 | 6c7b32a9d8be40c90ca9e58a0927bab1 |
|
BLAKE2b-256 | ebb5d6818b6c41aa3ea530e9e8309a46cbb76c4833c78de2e1c8c7887a584ccc |
Hashes for watchfiles-0.14-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f8aed352d043f8a05c1e686bbce9e713706d1d76cd1d2524dc6f14d8d5d6eac |
|
MD5 | 6f8abbbab2dbdc6fa4c6c6e4038e2dc7 |
|
BLAKE2b-256 | a34d28eaf15dd838b571805adee2e9704fc4e7da14db6845498846e64c00c4b9 |
Hashes for watchfiles-0.14-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7f0cc01225dff13edc5f5578d17b02eb80e1e0a30aec02866ddbae328bbda11 |
|
MD5 | 2088ffb0214876e0e68e88deed8a22c1 |
|
BLAKE2b-256 | 1418dd1997425f128c63f21503ab4f0fa3cf7ab8d5acfb86a62ea210c2328e28 |
Hashes for watchfiles-0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a4956945597815d425af99f6b133026b4a9a3ef292ecff5e02f508855357fd |
|
MD5 | 72a41e465a73ea85710f1031cdfb3be2 |
|
BLAKE2b-256 | 3ce40f253df68dbe111ee303ee21f0eaa05d5ccad5edb982a4d1e0011d1a8abc |
Hashes for watchfiles-0.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b99b678b40795e9412cd848f7b45c3d3602937b74338061b8610eae62699dbce |
|
MD5 | 22a67da4c459e1c383f65a6d8e1a7d44 |
|
BLAKE2b-256 | 42ec27db64710c4dac6540c6665a92e9ecc495fb5534b318b07a4917ba6881dc |
Hashes for watchfiles-0.14-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3355044026325375a745b27f66ad30f0e27b0f689149854768f082cd48d54a1b |
|
MD5 | 339963fc26d4dd94ef58e1b61fca3c54 |
|
BLAKE2b-256 | 5b64b37fe084b6e81706197c5d5a0101d6780ac0d21804be4eef0e341b5a6217 |
Hashes for watchfiles-0.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e28378b113f30b1ade6396b27a215a43c68258e1e3f204a2ac4bd77754ba184c |
|
MD5 | 53e21548ae0b79460ac8412d8093af16 |
|
BLAKE2b-256 | 77b132840af57ee06b87130121b1962f6b3f4f4f6b6b4b07bfca58d18751000e |
Hashes for watchfiles-0.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fb205e52a8e6f2726323cb760a0db216796fbd258f44f79e505886136c6e900 |
|
MD5 | d876378a65d52f9ae26a9b8894e70328 |
|
BLAKE2b-256 | 6dc49e457272bb7599efbc278a9d9922aff68b461abb9f7f96b728798ff56810 |
Hashes for watchfiles-0.14-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7542b5fbbb5010849a4c508af8e63faf63b871d2ad423d66cf0d50f01e04a16 |
|
MD5 | 9f702a4598205552e3b63f5b980695b3 |
|
BLAKE2b-256 | 187241c7231b1e77aa250e9f9ca6417786253959e97dfe62d7beca78e81c372b |
Hashes for watchfiles-0.14-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b564b11a11886c57cb9c82aa4f0c5ed8d675cc194192c309eb69db0d48000f0 |
|
MD5 | 02c8146401f4ce99fb39aea3fd294737 |
|
BLAKE2b-256 | 6c1dae28d385d31151e7f0eaba312794860d959dbf041d6dfebb30ed829cdb53 |
Hashes for watchfiles-0.14-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18854714a9cd5d5143bc11290f94f3d08a75d552cb10dc1c7f4e5badc0552b0f |
|
MD5 | 9871c86b1ac94479df3b8edd0bcd934f |
|
BLAKE2b-256 | 3b61da5af7f9981a25c8c585944c405ca29bd7991c18fd2b177cdc6ada32ebc0 |
Hashes for watchfiles-0.14-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db5ad713dc4b790bcd93dd047f7407070c0fbae0d5c296efc3f5c2bdc0430d8c |
|
MD5 | d3286ef15756252943dd6c7148e43529 |
|
BLAKE2b-256 | 6a435045629232d905b3201fc708912b68ba2508fab85a75516fac995f5f73af |
Hashes for watchfiles-0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfaa7bf150510d7da112b1ce368cb4ada36805be242f7e9cd6056b08bd5a675a |
|
MD5 | 0c979cb91c352addea6b79a064e48a3f |
|
BLAKE2b-256 | 8cb73b5501d2c3f45e310022447d686b898b1f61219470d0203006f6175cb0ae |
Hashes for watchfiles-0.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daaad67bd09300cd89389da09de7fa1181699e8088034301f37e6b2c9b50e351 |
|
MD5 | 780d9e9c14338a19e064f750ce53ed80 |
|
BLAKE2b-256 | 867eb8ac56d2975cb74b44ca8df659a1fd0676c80bf72f4d338fe158af646de1 |
Hashes for watchfiles-0.14-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1c1dfaa5e0fcc96402ce3450c8f056f2520d61cab1c8911482196c046e6f99 |
|
MD5 | a7d6be14b04f095fad0efbc56a4b1f51 |
|
BLAKE2b-256 | b4164f5dc479cf74d673e233e36b8d933108a8c1f23314cb246ead0562181af7 |
Hashes for watchfiles-0.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dda8bc53e2b57aa63654d4230cfc56f81e572cf390ecdb861e2d5ce7b8445e45 |
|
MD5 | 135480089b2362856ce03b4f3b9d9e7e |
|
BLAKE2b-256 | 44fffe799270566dee3c85f308a9bdc82d9774a88dd412ed1d466c6f229f5be8 |
Hashes for watchfiles-0.14-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f9bccd908e098ea8df31ca2d56535bd7e7cc445eb2114032eb96ff9b72e208 |
|
MD5 | f893046042c74a868db45b49d6effd7c |
|
BLAKE2b-256 | 39faec4c688aa4dd301f3a286c2bb91b1a12fded7f867c280f833caafc88ebf4 |
Hashes for watchfiles-0.14-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85b7fd87a3081d57a58f1f6431a78da0a4d457458b7b9327a6522eeb433b2a50 |
|
MD5 | af59db6b93a4bec42dc44e0730e399f8 |
|
BLAKE2b-256 | 207932f0ebe699d32263e06a2de5340fe3e7b8c939858dc1cbef8c0882d05c3c |
Hashes for watchfiles-0.14-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee411d23c26930205e74f772bae1fc5cdfcc437133287be32f6e852fe532ab15 |
|
MD5 | 4b40585be2b5150a7e5978cf111f3dcf |
|
BLAKE2b-256 | 56c972e016a5d88d9b3bce4ab5a706ec720bd430f020d6caef445e6a38e0ce0e |
Hashes for watchfiles-0.14-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 912417d179f34984954e45dd39a3030f640d7052c48d3a1397f454a815bdd11e |
|
MD5 | 87cda0becdb3bd92b82df65049a24207 |
|
BLAKE2b-256 | ecfbd823966911739462f5b04a21b51a17550b1ea6cb20642c24c56eaed91480 |
Hashes for watchfiles-0.14-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 460ca71f903ddfbfa14121b549616816fc827c8520efae9e4859d1e49b4d1e1b |
|
MD5 | 5e7143e5802d1b42df9e545f2524abf6 |
|
BLAKE2b-256 | 67e7c060bff9d66ba9fb603f62e34fe410b9c9e92908ff26222f7548dac34d98 |
Hashes for watchfiles-0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fb466b02b1030f78f810e411e2a69be26cb900d190a7d3074bbb71c49a726c9 |
|
MD5 | 9625172ece12519530265ed81a825d49 |
|
BLAKE2b-256 | 300d70787f17b6505ed7ad98fe4239bbb1afb26713b0c17c63686fa3d466033a |
Hashes for watchfiles-0.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6be519cbea8d583fe6ab0e0ba8fe6c311790513d2a2047c5791c86eb94e8456f |
|
MD5 | 15a48e9ddac4611f69cdd2cb73fc93c2 |
|
BLAKE2b-256 | 49dd2709b1dde537db17ab21de2122748aee12b12d190e18f29e583bb3ead2e3 |
Hashes for watchfiles-0.14-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347c5f3021adec608594579fc297d24c3c0819c1464e07018535a600ac7208af |
|
MD5 | a210482e90bf7416d4d382350a67fb3c |
|
BLAKE2b-256 | 0a816886a754554afe3b0d781b94c9eb6a4152e0c095d4cfa2153586601efa44 |
Hashes for watchfiles-0.14-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef1ebc67f2afc2b94b4ae901241142d8cd1a425083d726ef4ee4e32dbd0feb8e |
|
MD5 | 0dff7c17620b0e43a378de01c5e6dbfd |
|
BLAKE2b-256 | 71a9f371bd7c5c5c01733403d681dae2aa3cd782c84c5dd40e55239fdcf1f8df |
Hashes for watchfiles-0.14-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 871a5277bfc4f50138b9be31d8b2a9fa02e6f9b8881870dacd772b42b04eb580 |
|
MD5 | 7a77958b3fc613cfae0df493cf0d958e |
|
BLAKE2b-256 | cde45fcd04dd2456c866fa062cda167fd6f21d841a6662e6661ffc5816f31f04 |
Hashes for watchfiles-0.14-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f5da9db431dbf4b8f35516f9ddbf5d1a44ed77a342a0e855b0ec6ac12bd7a4 |
|
MD5 | 1c82273074d9dc3a98de5f7cfa2da5db |
|
BLAKE2b-256 | b6384cd8c8c739f7e7934d80f66c85baa3f46e688200b81252fd41d689b542f4 |
Hashes for watchfiles-0.14-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61262b2cb78690f4a051b2adf3addade56cbf99875ce2e79d3054a522ad4f732 |
|
MD5 | e9804ddf7cf87937d9799d80e2be27bf |
|
BLAKE2b-256 | a91a0754566600435c72a39cca150f55f6fc3bb0287c863fbba9be014edf51aa |
Hashes for watchfiles-0.14-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 747c191bd89b91e0e1414b4a6050ab499580e6885ba53b933272cd0941771896 |
|
MD5 | 6d24361a94f08bd5843318ce07bc12a1 |
|
BLAKE2b-256 | f10f898d3de289c838a838e5501de4646119ad9b3fbc6ef7c5547eba7f5ce95c |
Hashes for watchfiles-0.14-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ee7a5a16c189783529e084ed688bb3aecba7ae7d7e02cb577a9dcbb35ae5986 |
|
MD5 | c04f88c0b96dc9856b037afce3a650c6 |
|
BLAKE2b-256 | 977b423017fcc2d17a68f459257ec3b19ded6934224ccf14228e48d4ec0b94d4 |
Hashes for watchfiles-0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d64efc1dff3c467a4ef6cfce1d5963867da49a1b4a41d0e852dfb7510ee9643 |
|
MD5 | 3ae0b125670717fa0f65d9a1a94b52ba |
|
BLAKE2b-256 | 9c0a54ab01b831cf09109d4ae4ea2b983ded45208faec76031bdde2016bccc64 |
Hashes for watchfiles-0.14-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d0427594cae5db1303ed99c76a7a1e19929f306f49ad19c39706384b21634d9 |
|
MD5 | e48e614611ec6d415064a653e80e3ab0 |
|
BLAKE2b-256 | 1e9b76b48fdc41a3b1232d517e2f9b62bcf4291858841dc5f43ad6d98ce9e989 |
Hashes for watchfiles-0.14-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781a7378f0ff40a0013b82d3e1cab6ebf48be29dd2e8241b7aaf464cba7e868d |
|
MD5 | 9b81cfc58c3046eb907990846978f518 |
|
BLAKE2b-256 | d322e151eddf6e2803ad8f0878788b65a26934e503b5f4b31f6641c0ede39b98 |
Hashes for watchfiles-0.14-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffa8c2e79edf9bd883565bcd2e09d91f6b2ff91796c5091a7c8c744ccd943da6 |
|
MD5 | 9df26b6a2ad4c17f5909d15a8c722190 |
|
BLAKE2b-256 | b91a8945db666ce6636bebad39af63bf3b5603571911f574b3bc5c5307b3df03 |