Skip to main content

Filesystem events monitoring

Project description

https://travis-ci.org/gorakhargosh/watchdog.svg?branch=master

Python API and shell utilities to monitor file system events.

Works on 3.6+.

If you want to use Python 2.6, you should stick with watchdog < 0.10.0.

If you want to use Python 2.7, 3.4 or 3.5, you should stick with watchdog < 1.0.0.

Example API Usage

A simple program that uses watchdog to monitor directories specified as command-line arguments and logs events generated:

import sys
import time
import logging
from watchdog.observers import Observer
from watchdog.events import LoggingEventHandler

if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    path = sys.argv[1] if len(sys.argv) > 1 else '.'
    event_handler = LoggingEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    finally:
        observer.stop()
        observer.join()

Shell Utilities

Watchdog comes with an optional utility script called watchmedo. Please type watchmedo --help at the shell prompt to know more about this tool.

Here is how you can log the current directory recursively for events related only to *.py and *.txt files while ignoring all directory events:

watchmedo log \
    --patterns="*.py;*.txt" \
    --ignore-directories \
    --recursive \
    .

You can use the shell-command subcommand to execute shell commands in response to events:

watchmedo shell-command \
    --patterns="*.py;*.txt" \
    --recursive \
    --command='echo "${watch_src_path}"' \
    .

Please see the help information for these commands by typing:

watchmedo [command] --help

About watchmedo Tricks

watchmedo can read tricks.yaml files and execute tricks within them in response to file system events. Tricks are actually event handlers that subclass watchdog.tricks.Trick and are written by plugin authors. Trick classes are augmented with a few additional features that regular event handlers don’t need.

An example tricks.yaml file:

tricks:
- watchdog.tricks.LoggerTrick:
    patterns: ["*.py", "*.js"]
- watchmedo_webtricks.GoogleClosureTrick:
    patterns: ['*.js']
    hash_names: true
    mappings_format: json                  # json|yaml|python
    mappings_module: app/javascript_mappings
    suffix: .min.js
    compilation_level: advanced            # simple|advanced
    source_directory: app/static/js/
    destination_directory: app/public/js/
    files:
      index-page:
      - app/static/js/vendor/jquery*.js
      - app/static/js/base.js
      - app/static/js/index-page.js
      about-page:
      - app/static/js/vendor/jquery*.js
      - app/static/js/base.js
      - app/static/js/about-page/**/*.js

The directory containing the tricks.yaml file will be monitored. Each trick class is initialized with its corresponding keys in the tricks.yaml file as arguments and events are fed to an instance of this class as they arrive.

Installation

Install from PyPI using pip:

$ python -m pip install -U watchdog

# or to install the watchmedo utility:
$ python -m pip install -U watchdog[watchmedo]

Install from source:

$ python -m pip install -e .

# or to install the watchmedo utility:
$ python -m pip install -e ".[watchmedo]"

Installation Caveats

The watchmedo script depends on PyYAML which links with LibYAML, which brings a performance boost to the PyYAML parser. However, installing LibYAML is optional but recommended. On Mac OS X, you can use homebrew to install LibYAML:

$ brew install libyaml

On Linux, use your favorite package manager to install LibYAML. Here’s how you do it on Ubuntu:

$ sudo apt install libyaml-dev

On Windows, please install PyYAML using the binaries they provide.

Documentation

You can browse the latest release documentation online.

Contribute

Fork the repository on GitHub and send a pull request, or file an issue ticket at the issue tracker. For general help and questions use the official mailing list or ask on stackoverflow with tag python-watchdog.

Create and activate your virtual environment, then:

python -m pip install pytest pytest-cov
python -m pip install -e ".[watchmedo]"
python -m pytest tests

If you are making a substantial change, add an entry to the “Unreleased” section of the changelog.

Supported Platforms

  • Linux 2.6 (inotify)

  • Mac OS X (FSEvents, kqueue)

  • FreeBSD/BSD (kqueue)

  • Windows (ReadDirectoryChangesW with I/O completion ports; ReadDirectoryChangesW worker threads)

  • OS-independent (polling the disk for directory snapshots and comparing them periodically; slow and not recommended)

Note that when using watchdog with kqueue, you need the number of file descriptors allowed to be opened by programs running on your system to be increased to more than the number of files that you will be monitoring. The easiest way to do that is to edit your ~/.profile file and add a line similar to:

ulimit -n 1024

This is an inherent problem with kqueue because it uses file descriptors to monitor files. That plus the enormous amount of bookkeeping that watchdog needs to do in order to monitor file descriptors just makes this a painful way to monitor files and directories. In essence, kqueue is not a very scalable way to monitor a deeply nested directory of files and directories with a large number of files.

About using watchdog with editors like Vim

Vim does not modify files unless directed to do so. It creates backup files and then swaps them in to replace the files you are editing on the disk. This means that if you use Vim to edit your files, the on-modified events for those files will not be triggered by watchdog. You may need to configure Vim appropriately to disable this feature.

About using watchdog with CIFS

When you want to watch changes in CIFS, you need to explicitly tell watchdog to use PollingObserver, that is, instead of letting watchdog decide an appropriate observer like in the example above, do:

from watchdog.observers.polling import PollingObserver as Observer

Dependencies

  1. Python 3.6 or above.

  2. XCode (only on Mac OS X)

  3. PyYAML (only for watchmedo script)

  4. argh (only for watchmedo script)

Licensing

Watchdog is licensed under the terms of the Apache License, version 2.0.

Copyright 2011 Yesudeep Mangalapilly.

Copyright 2012 Google, Inc & contributors.

Project source code is available at Github. Please report bugs and file enhancement requests at the issue tracker.

Why Watchdog?

Too many people tried to do the same thing and none did what I needed Python to do:

Changelog

1.0.2

202x-xx-xx • full history

1.0.1

2020-12-10 • Fix version with good metadatas.

1.0.0

2020-12-10 • full history

  • Versioning is now following the semver

  • Drop support for Python 2.7, 3.4 and 3.5

  • [mac] Regression fixes for native fsevents (#717)

  • [windows] winapi.BUFFER_SIZE now defaults to 64000 (instead of 2048) (#700)

  • [windows] Introduced winapi.PATH_BUFFER_SIZE (defaults to 2048) to keep the old behavior with path-realted functions (#700)

  • Use pathlib from the standard library, instead of pathtools (#556)

  • Allow file paths on Unix that don’t follow the file system encoding (#703)

  • Removed the long-time deprecated events.LoggingFileSystemEventHandler class, use LoggingEventHandler instead

  • Thanks to our beloved contributors: @SamSchott, @bstaletic, @BoboTiG, @CCP-Aporia

0.10.4

2020-11-21 • full history

  • Add logger parameter for the LoggingEventHandler (#676)

  • Replace mutable default arguments with if None implementation (#677)

  • Expand tests to Python 2.7 and 3.5-3.10 for GNU/Linux, macOS and Windows

  • [mac] Performance improvements for the fsevents module (#680)

  • [mac] Prevent compilation of watchdog_fsevents.c on non-macOS machines (#687)

  • [watchmedo] Handle shutdown events from SIGTERM and SIGINT more reliably (#693)

  • Thanks to our beloved contributors: @Sraw, @CCP-Aporia, @BoboTiG, @maybe-sybr

0.10.3

2020-06-25 • full history

  • Ensure ObservedWatch.path is a string (#651)

  • [inotify] Allow to monitor single file (#655)

  • [inotify] Prevent raising an exception when a file in a monitored folder has no permissions (#669, #670)

  • Thanks to our beloved contributors: @brant-ruan, @rec, @andfoy, @BoboTiG

0.10.2

2020-02-08 • full history

  • Fixed the build_ext command on macOS Catalina (#628)

  • Fixed the installation of macOS requirements on non-macOS OSes (#635)

  • Refactored dispatch() method of FileSystemEventHandler, PatternMatchingEventHandler and RegexMatchingEventHandler

  • [bsd] Improved tests support on non Windows/Linux platforms (#633, #639)

  • [bsd] Added FreeBSD CI support (#532)

  • [bsd] Restored full support (#638, #641)

  • Thanks to our beloved contributors: @BoboTiG, @evilham, @danilobellini

0.10.1

2020-01-30 • full history

  • Fixed Python 2.7 to 3.6 installation when the OS locale is set to POSIX (#615)

  • Fixed the build_ext command on macOS (#618, #620)

  • Moved requirements to setup.cfg (#617)

  • [mac] Removed old C code for Python 2.5 in the fsevents C implementation

  • [snapshot] Added EmptyDirectorySnapshot (#613)

  • Thanks to our beloved contributors: @Ajordat, @tehkirill, @BoboTiG

0.10.0

2020-01-26 • full history

Breaking Changes

  • Dropped support for Python 2.6, 3.2 and 3.3

  • Emitters that failed to start are now removed

  • [snapshot] Removed the deprecated walker_callback argument, use stat instead

  • [watchmedo] The utility is no more installed by default but via the extra watchdog[watchmedo]

Other Changes

  • Fixed several Python 3 warnings

  • Identify synthesized events with is_synthetic attribute (#369)

  • Use os.scandir() to improve memory usage (#503)

  • [bsd] Fixed flavors of FreeBSD detection (#529)

  • [bsd] Skip unprocessable socket files (#509)

  • [inotify] Fixed events containing non-ASCII characters (#516)

  • [inotify] Fixed the way OSError are re-raised (#377)

  • [inotify] Fixed wrong source path after renaming a top level folder (#515)

  • [inotify] Removed delay from non-move events (#477)

  • [mac] Fixed a bug when calling FSEventsEmitter.stop() twice (#466)

  • [mac] Support for unscheduling deleted watch (#541)

  • [mac] Fixed missing field initializers and unused parameters in watchdog_fsevents.c

  • [snapshot] Don’t walk directories without read permissions (#408)

  • [snapshot] Fixed a race condition crash when a directory is swapped for a file (#513)

  • [snasphot] Fixed an AttributeError about forgotten path_for_inode attr (#436)

  • [snasphot] Added the ignore_device=False parameter to the ctor (597)

  • [watchmedo] Fixed the path separator used (#478)

  • [watchmedo] Fixed the use of yaml.load() for yaml.safe_load() (#453)

  • [watchmedo] Handle all available signals (#549)

  • [watchmedo] Added the --debug-force-polling argument (#404)

  • [windows] Fixed issues when the observed directory is deleted (#570 and #601)

  • [windows] WindowsApiEmitter made easier to subclass (#344)

  • [windows] Use separate ctypes DLL instances

  • [windows] Generate sub created events only if recursive=True (#454)

  • Thanks to our beloved contributors: @BoboTiG, @LKleinNux, @rrzaripov, @wildmichael, @TauPan, @segevfiner, @petrblahos, @QuantumEnergyE, @jeffwidman, @kapsh, @nickoala, @petrblahos, @julianolf, @tonybaloney, @mbakiev, @pR0Ps, javaguirre, @skurfer, @exarkun, @joshuaskelly, @danilobellini, @Ajordat

0.9.0

2018-08-28 • full history

  • Deleting the observed directory now emits a DirDeletedEvent event

  • [bsd] Improved the platform detection (#378)

  • [inotify] Fixed a crash when the root directory being watched by was deleted (#374)

  • [inotify] Handle systems providing uClibc

  • [linux] Fixed a possible DirDeletedEvent duplication when deleting a directory

  • [mac] Fixed unicode path handling fsevents2.py (#298)

  • [watchmedo] Added the --debug-force-polling argument (#336)

  • [windows] Fixed the FILE_LIST_DIRECTORY constant (#376)

  • Thanks to our beloved contributors: @vulpeszerda, @hpk42, @tamland, @senden9, @gorakhargosh, @nolsto, @mafrosis, @DonyorM, @anthrotype, @danilobellini, @pierregr, @ShinNoNoir, @adrpar, @gforcada, @pR0Ps, @yegorich, @dhke

0.8.3

2015-02-11 • full history

  • Fixed the use of the root logger (#274)

  • [inotify] Refactored libc loading and improved error handling in inotify_c.py

  • [inotify] Fixed a possible unbound local error in inotify_c.py

  • Thanks to our beloved contributors: @mmorearty, @tamland, @tony, @gorakhargosh

0.8.2

2014-10-29 • full history

  • Event emitters are no longer started on schedule if Observer is not already running

  • [mac] Fixed usued arguments to pass clang compilation (#265)

  • [snapshot] Fixed a possible race condition crash on directory deletion (#281)

  • [windows] Fixed an error when watching the same folder again (#270)

  • Thanks to our beloved contributors: @tamland, @apetrone, @Falldog, @theospears

0.8.1

2014-07-28 • full history

  • Fixed anon_inode descriptors leakage (#249)

  • [inotify] Fixed thread stop dead lock (#250)

  • Thanks to our beloved contributors: @Witos, @adiroiban, @tamland

0.8.0

2014-07-02 • full history

  • Fixed argh deprecation warnings (#242)

  • [snapshot] Methods returning internal stats info were replaced by mtime(), inode() and path() methods

  • [snapshot] Deprecated the walker_callback argument

  • [watchmedo] Fixed auto-restart to terminate all children processes (#225)

  • [watchmedo] Added the --no-parallel argument (#227)

  • [windows] Fixed the value of INVALID_HANDLE_VALUE (#123)

  • [windows] Fixed octal usages to work with Python 3 as well (#223)

  • Thanks to our beloved contributors: @tamland, @Ormod, @berdario, @cro, @BernieSumption, @pypingou, @gotcha, @tommorris, @frewsxcv

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watchdog-1.0.2.tar.gz (98.5 kB view details)

Uploaded Source

Built Distributions

watchdog-1.0.2-py3-none-win_ia64.whl (72.6 kB view details)

Uploaded Python 3 Windows ia64

watchdog-1.0.2-py3-none-win_amd64.whl (72.6 kB view details)

Uploaded Python 3 Windows x86-64

watchdog-1.0.2-py3-none-win32.whl (72.6 kB view details)

Uploaded Python 3 Windows x86

watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_s390x.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_i686.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl (72.6 kB view details)

Uploaded Python 3

watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (79.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (79.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl (80.5 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl (80.5 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl (80.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl (80.4 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file watchdog-1.0.2.tar.gz.

File metadata

  • Download URL: watchdog-1.0.2.tar.gz
  • Upload date:
  • Size: 98.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2.tar.gz
Algorithm Hash digest
SHA256 376cbc2a35c0392b0fe7ff16fbc1b303fd99d4dd9911ab5581ee9d69adc88982
MD5 076a319ef10f6db3a709bfbf46ca6819
BLAKE2b-256 5f39e9e2aa6f22983b682dda2daccd3151c706d3da66d989c78c038d6b94b962

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-win_ia64.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-win_ia64.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3, Windows ia64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-win_ia64.whl
Algorithm Hash digest
SHA256 ee21aeebe6b3e51e4ba64564c94cee8dbe7438b9cb60f0bb350c4fa70d1b52c2
MD5 8b066772b07ab24874cc731b2ead40c0
BLAKE2b-256 b7cb8a592d3670c61a99d71544821458c2f9038bba427be8c1996d5490a5d9ec

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f84146f7864339c8addf2c2b9903271df21d18d2c721e9a77f779493234a82b5
MD5 5ffb495125b9a4946a7c37205af5c8b6
BLAKE2b-256 b5db8b7c15e98bf54931a980e5430838fb35f3a5b112a0f4fb9609a07e80f949

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-win32.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-win32.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 57f05e55aa603c3b053eed7e679f0a83873c540255b88d58c6223c7493833bac
MD5 2a9e135048132487c5904c82a19e59e2
BLAKE2b-256 c72e26058560e6836ae654af7a67069effd0f4942216c52b2960b593bf8f0ba1

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f1f3b65142175366ba94c64d8d4c8f4015825e0beaacee1c301823266b47b9b
MD5 8a633d0d482aa410f2da674b4dd455be
BLAKE2b-256 83d93d1f46b428fd7b646725896b58d2eddb84f79fd76912773e6193cf74263d

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_s390x.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_s390x.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 016b01495b9c55b5d4126ed8ae75d93ea0d99377084107c33162df52887cee18
MD5 1bf81b7f67022aade5599c99fc753894
BLAKE2b-256 7ebf4120ce3c66eabbd439deeae1fde3288486805800ed9575d5f53bfb8f5865

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 602dbd9498592eacc42e0632c19781c3df1728ef9cbab555fab6778effc29eeb
MD5 0a3e286202fb80de46be5a1e1f03544a
BLAKE2b-256 6aa49ba99e93f58d34f8d215f648085e90c491cef802c44363c03f558c9026dc

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 68744de2003a5ea2dfbb104f9a74192cf381334a9e2c0ed2bbe1581828d50b61
MD5 02b27f8c495578a9199bd300d5f97323
BLAKE2b-256 43abaeb7fb23e06306c5650cb9bacb8db49f9f5deebee3074729757734cb4585

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_i686.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_i686.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b1d723852ce90a14abf0ec0ca9e80689d9509ee4c9ee27163118d87b564a12ac
MD5 3bd96332f8557f67459c3026283dd050
BLAKE2b-256 66f0e94c49630cff54bc8fc15abe58bd8dd038de825681eea12d41c29dafc000

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 101532b8db506559e52a9b5d75a308729b3f68264d930670e6155c976d0e52a0
MD5 d374804d49075fbadc2942edae972be3
BLAKE2b-256 230c5f86bc499e5b95e242f8841b7e4d5531816e5b7cef737bde1adea540ccd3

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl.

File metadata

  • Download URL: watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 72.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d948ad9ab9aba705f9836625b32e965b9ae607284811cd98334423f659ea537a
MD5 e1e66305f0b396b5eac830fbca8dc5f9
BLAKE2b-256 739a1597c678e18c8eec1a0a3b76514436bd51e100d9d6d76196b4d12d6422d7

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f1d0e878fd69129d0d68b87cee5d9543f20d8018e82998efb79f7e412d42154a
MD5 54f1c534c16f7df207a53cf8ba2ce06d
BLAKE2b-256 f381109d795cb00484f467f097ecf4048555f0fb6b8a808dda407d5f99cdaab1

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 79.8 kB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2f1ade0d0802503fda4340374d333408831cff23da66d7e711e279ba50fe6c4a
MD5 47153f8eb9e502e944a7341456a41bce
BLAKE2b-256 316210e977ed625f256d10ed36215c8db8a7b27069e1679d46b680bdc13566f6

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 80.5 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 27d9b4666938d5d40afdcdf2c751781e9ce36320788b70208d0f87f7401caf93
MD5 c054036a7b42cb69268c5130a71afffb
BLAKE2b-256 ed2aff2716d49e3953fd8afdb2ac2a0a1984fff6c6630c1236ccd35184843e10

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 80.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 85e6574395aa6c1e14e0f030d9d7f35c2340a6cf95d5671354ce876ac3ffdd4d
MD5 cc7687324654729c2dad943aa33f1c8a
BLAKE2b-256 eef34bd514f027cc6da32791ae121fe175d2210e545ea8d36586e5cad92b73ae

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7c73edef48f4ceeebb987317a67e0080e5c9228601ff67b3c4062fa020403c7
MD5 5e1f3f324525775ef22d119093b1d726
BLAKE2b-256 e9d24bc41adb27a94fc53c769a8c9682cbb1c6e672e5578dab7596895ab8c79f

See more details on using hashes here.

File details

Details for the file watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 80.4 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for watchdog-1.0.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e2a531e71be7b5cc3499ae2d1494d51b6a26684bcc7c3146f63c810c00e8a3cc
MD5 db78b222569094b926b2df31f2d9fc3e
BLAKE2b-256 46de84ce3857a035fc09de17e3e72cab7f4eb654c9441cff1c7583a93ddfa40c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page