A modern efficient Python toolkit for building applications that need to watch filesystem changes
Project description
👀 A cross-platform filesystem watcher toolkit for Python
notifykit is a set of components for building modern Python applications with a need for watching filesystem events efficiently.
[!Warning] notifykit is under active development right now
Installation
pip install notifykit
# or
poetry add notifykit
# or
pdm add notifykit
notifykit is available for Python 3.8 - 3.12 on the following platforms:
- Linux: x86_64, aarch64, x86, armv7, s390x, ppc64le, musl-x86_64, musl-aarch64
- MacOS: x86_64 & arm64
- Windows: x64 & x86
Features
- Simple Modern Pythonic API, both sync and async
- High Performance
- Cross-platform (support not only Linux, but also MacOS)
- Easy to mock in tests
- Makes common cases easy and advance cases possible
Sources of Inspiration
- https://github.com/seb-m/pyinotify/issues
- https://github.com/absperf/asyncinotify/
- https://docs.rs/notify/latest/notify/
- https://github.com/samuelcolvin/watchfiles
- https://github.com/pantsbuild/pants/tree/612e891e90432e994327b6ddaf57502366a714c0/src/rust/engine
- https://github.com/pola-rs/polars/blob/d0c8de592b71d4b934b1598926536f03e10007bd/py-polars/src/file.rs#L206
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
notifykit-0.0.1.tar.gz
(584.1 kB
view hashes)
Built Distributions
notifykit-0.0.1-cp38-abi3-win32.whl
(322.3 kB
view hashes)
Close
Hashes for notifykit-0.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b351b534ad6eeaa674931d1069089f7ddd993276e328953f2723109133b240e |
|
MD5 | 13cf113da2ed1e96a3c40688627bd5d2 |
|
BLAKE2b-256 | 4ed9443faf20b0a26909286400351a4a40e43a4c0c2d24b6ab4d60cf5bbfb986 |
Close
Hashes for notifykit-0.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6814710aca1211849343367641f613197c2bd3e365674d1c4eb7b81683ce69d7 |
|
MD5 | 83dbe2be4898237e7ac918e052e7d6a3 |
|
BLAKE2b-256 | 34fe03ea06abcd0909a951db1b937e3725a96209cae0343d219bbefdd0de511e |
Close
Hashes for notifykit-0.0.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1b235742f09c65f293a5cf689ecf6faf2807e488b98a746d366739c4fa79bba |
|
MD5 | 074bdcf934fca80e5fd0e073b6932816 |
|
BLAKE2b-256 | 2055d298d29128b4aada0e4a84c4c6058b2369548241a0de3df2695959c9c75b |
Close
Hashes for notifykit-0.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7423e01f4e1ae73f4c3e709cedf3897115038e74c6242758e220ed9379e752a4 |
|
MD5 | 5f381102f1f04be2b71fdbeaef116882 |
|
BLAKE2b-256 | d41c2cee5f75e9e146f33aa3e1363abe6c9b6b10e7b5add61b8f1cc811bc8e00 |
Close
Hashes for notifykit-0.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3b797ddcd5dd6f1da4860f881b72feb74b510c657cd4436132d7649261bb91d |
|
MD5 | 1e851b2d58e0b5879d40887ceee875fe |
|
BLAKE2b-256 | 0d77a4316379049ac6609cdb84fa8f9fbbb371c8bead851d6bc54d1e45337bd8 |
Close
Hashes for notifykit-0.0.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec424575b8f2b0b6b2e0b0f11a2ee432fd756a6962ab3a89e2f063218fbb763 |
|
MD5 | b8f39d9b60efd3e020cba65ed331ad48 |
|
BLAKE2b-256 | ec5e18fd5ab7d76e861ea8dd80dfc08b757420b2d0e73ed6819995d995cc22c0 |
Close
Hashes for notifykit-0.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d53a94aabf1898b5d7f02d454c113d7a8d86d9396a60df6206287f0c7bc06d6a |
|
MD5 | 37a887ec7f5770ced2b038c4d2559c53 |
|
BLAKE2b-256 | ce2f25157d2ad3aeb9521f6724fdad37d3e0f1c668799fb62a8dc30944022993 |
Close
Hashes for notifykit-0.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f16dbdd872d5fffb6f94988bdd636502dd02e041ed6712ce65bd8fafa245f9ee |
|
MD5 | 6c07ad563783901be3093e9b9656796e |
|
BLAKE2b-256 | dc1d9d744274450237d1166d120621b61bceea13adc47b6f2fdc917407a3ac69 |
Close
Hashes for notifykit-0.0.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18554171f38461b1540faa210095a288248e667b435bc05ada5b5f2e4252178e |
|
MD5 | 3798860e7d6c5fd229bb9f8f5d7d5072 |
|
BLAKE2b-256 | 3d40f042cac11714964f43198adab98c44fbffadb1c05506b7c1fae036d94eac |
Close
Hashes for notifykit-0.0.1-cp38-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8624cb42a84e76c650c93aabdc6b1d33397c12b44802c909cc35e58dc7b1352a |
|
MD5 | 17bebadd18e1117d4f7f868a1bf8aecf |
|
BLAKE2b-256 | 64fd2dd92bc2a19b3435b11058e209f8bcfeb92788af46ef951a8ad55c6ecb31 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0469b988f72f180aa9a8205e200d2bdabdd510b0d67c0a95963b35f5dfbc3195 |
|
MD5 | eeb8e2079de520b0e6ab9a077749384b |
|
BLAKE2b-256 | a8e6a4d82709cf1bd337f0ae0088f6fc8a2facbb865397aacf7cae485ccedde2 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c414f82e2dff861664e10f3486947b699191d7a41c61a7c3d598f651f905da0d |
|
MD5 | 3f8cf1be5d57ebe4e8a6f92f1bf5c8df |
|
BLAKE2b-256 | 809cc13023e0b22e5e27acdf001ba42ca8c189cf03b7adcc2ec765dcada5d863 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a952e5a67a2aad7408900f526d77cc3dd238f18e692220f396e48cdbbc79863c |
|
MD5 | 60db8c01b9993a85d23d2eb30bed87ed |
|
BLAKE2b-256 | 72322aca57638b1ce8d245111e90293463f48fe0f3d53b60584b83daf48d9d51 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82235d93a22f031f4c5c720d9479f5539eda2d9996f0ebb154bdc6170fcba86b |
|
MD5 | baed8d457a56790555ac497ad118438e |
|
BLAKE2b-256 | 716661a17521d55ceb8b5ddd91a31306c79e0b7a89882d8bc9eb7f49a6ec2dd7 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46780ff46154c1fd2f7e6528ada640c53b02717dd44246403b7f5e60c38b8fc8 |
|
MD5 | 505a1f34a45930e5ba3325fa0441c500 |
|
BLAKE2b-256 | 8b699e0eba96ad50940a31f47e0041480c843ebf5abc28a0c32c7baa0650a266 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1429419963cdcf9722ee56ff3b038ad899a23967e5cca5aacd074d59737c369d |
|
MD5 | 8a66606687cec22d51c33249e2ae3b22 |
|
BLAKE2b-256 | 4811b77c8e6dd8cbfa5e8560a5c7448471225d1b2e20cf8b937a2d0f7037238e |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d4a091ac8c3e212aafe4a5a380cfcafb1d502b7cc2368daa872114133f0ec20 |
|
MD5 | 0454810068fc7b1e0a8fca4850914bdf |
|
BLAKE2b-256 | 295e19efede7cd0ff88a658bf8567985a1840bccbdde0d204e32b04dceafa80e |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77d271aab2cd25c0851c0117ca1e06564d255273be745e4c331abc16a8865e31 |
|
MD5 | 60d4be1602f89bba47b3d5135825ae13 |
|
BLAKE2b-256 | 431a22c628abcbcc71b6a970f41159bf8c8107523dd46c5831f66d20e050d371 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1732f8759292bbd1290499dd5e601c387e2fae312b6b6243840032191fd8f2b |
|
MD5 | 8bd6084cf639041f0bebffd49ca1bebb |
|
BLAKE2b-256 | 5b9e4784e2f48818142ea284686a1d349d2e2e54001a9a64bce5c063784e87c1 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72b62a4205f0006e17c099f3d554e8206dbf5c985f2cf32f444f5fc5834e8146 |
|
MD5 | 9e19a1ee0ac09da4089cc40326f0ec84 |
|
BLAKE2b-256 | 24f4db1ccc979f5ed67883b9505a124ef5172e012442a9d35b5cd257f448a7b8 |
Close
Hashes for notifykit-0.0.1-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4d83b2ea4be7e5af1e78787eaa682f46abf1d2e55a7bde60983aed12e7165a8 |
|
MD5 | bc2d7cb73ca6cb455f2a86f91fe5a04e |
|
BLAKE2b-256 | ff4e1b8d9eedc1f79df956fb9cc17db1aed399bb7ba40456a566c58fd487ab42 |