Skip to main content

Watchdog

PyPI Version PyPI Status PyPI Python Versions Github Build Status Documentation Status GitHub License

Python API and shell utilities to monitor file system events.

Browse the documentation online.

Works on 3.11+.

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

from watchdog.events import FileSystemEvent, FileSystemEventHandler
from watchdog.observers import Observer


class MyEventHandler(FileSystemEventHandler):
    def on_any_event(self, event: FileSystemEvent) -> None:
        print(event)


event_handler = MyEventHandler()
observer = Observer()
paths = sys.argv[1:] if len(sys.argv) > 1 else ["."]
for path in paths:
    observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
    while True:
        time.sleep(1)
finally:
    observer.stop()
    observer.join()

Alternatively, you can use the observer as a context manager for cleaner code:

import sys
import time

from watchdog.events import FileSystemEvent, FileSystemEventHandler
from watchdog.observers import Observer


class MyEventHandler(FileSystemEventHandler):
    def on_any_event(self, event: FileSystemEvent) -> None:
        print(event)


event_handler = MyEventHandler()
observer = Observer()
paths = sys.argv[1:] if len(sys.argv) > 1 else ["."]
for path in paths:
    observer.schedule(event_handler, path, recursive=True)

with observer:
    while True:
        time.sleep(1)

To run the script, pass the directories you want to monitor as command-line arguments (defaults to the current directory if omitted):

python script.py dir1 dir2

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 \
    --verbose \
    .

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]'

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 stackoverflow with tag python-watchdog.

Create and activate your virtual environment, then:

python -m pip install tox
python -m tox [-q] [-e ENV]

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

Supported Platforms

  • Linux 2.6 (inotify)

  • macOS (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

or:

ulimit -n unlimited

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.

Free threaded support

watchdog has support for being built and run under free-threaded CPython. However, a full thread safety audit has not been completed, in particular this affects the macOS FSEvents interface.

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.11 or above.

  2. XCode (only on macOS when installing from sources)

  3. PyYAML (only for watchmedo)

Applications Using Watchdog

  • Watchdog.app — A macOS application for monitoring file changes in selected directories. Built with the OMC engine, it provides a graphical interface for observing directories. The Apple-notarized app is read to use and does not require additional installations.

Licensing

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

  • Copyright 2018-2026 Mickaël Schoentgen & contributors

  • Copyright 2014-2018 Thomas Amland & contributors

  • Copyright 2012-2014 Google, Inc.

  • Copyright 2011-2012 Yesudeep Mangalapilly

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

7.1.0

2026-11-04 • full history

Other Changes

  • [fsevents] Fix building the extension on PyPy 3.12 by updating the bundled pythoncapi_compat.h. (#1397)

  • [inotify] Create the inotify instance lazily so observer and polling imports succeed when the inotify instance limit is reached. (#1389)

  • [inotify] Reconcile recursively watched directories renamed before their source watch was registered, and simulate existing descendants so their initial changes are reported. (#1383)

  • [inotify] Reconcile recursive watches after the kernel reports an inotify queue overflow so subsequent filesystem changes are observed. (#654)

  • [inotify] Watch directories moved into a recursively watched directory from outside of it, so that changes inside them are reported. (#1094)

  • [inotify] Fix the inotify thread dying with a KeyError when a directory tree is copied or extracted into a recursively watched directory, which stopped all inotify observers in the process. (#1388)

  • [observers] Align BaseObserver with BaseThread by using on_thread_start() instead of overriding start(). (#286)

  • [watchmedo] Fix watchmedo generate-tricks-yaml output so that watchmedo tricks can load it: trick options are now nested under the trick name instead of under unsupported args/kwargs keys. (#1403)

  • Thanks to our beloved contributors: @BoboTiG, @prateek-dagar, @monosans, @taltal-beep, @Aschenbath, @yangfan-yf-yf, @alexruperez, @PDGGK, @Skeletor-Pirate

7.0.0

2026-10-31 • full history

Breaking Changes

  • Drop support for Python 3.9 and 3.10.

  • [core] Changed pattern matching mechanism from using path.match() to path.full_match(). Users must update patterns to glob-like syntax: e.g., *.py to **/*.py. (#1101)

  • [core] Added FileAttribEvent and DirAttribEvent for file and directory metadata modifications (such as permissions or timestamps), separate from content modifications. These events no longer trigger on_modified(); implement on_attrib() to handle them. On Windows 10 (1709+) and Windows Server 2016+, ReadDirectoryChangesExW is used to differentiate attribute modifications, with fallback to ReadDirectoryChangesW on older versions or unsupported file shares. (#260)

  • [watchmedo] Changed the default --patterns value from "*" to "**", so the default matches absolute paths at any depth under the full_match() semantics introduced by #1101, and updated the CLI help text and docs to the **/ glob syntax. (#1212)

Other Changes

  • Add support for Python 3.15 (#1226)

  • [core] Add context manager support to Observer class. The observer can now be used with a with statement for automatic start/stop management. (#1090)

  • [core] Add support for the follow_symlink keyword argument to ObservedWatch. (#1086)

  • [core] Added the ignore_policy argument to PatternMatchingEventHandler and RegexMatchingEventHandler to configure multi-path event filtering (moves/renames). PatternMatchingEventHandler is now strict by default, aligning with RegexMatchingEventHandler. (#412, #423)

  • [core] Added the watchdog.utils.Seconds type alias and used it for the time-duration parameters (timeout, polling_interval, kill_after, …) instead of documenting the unit in each docstring. Duration parameters previously hinted as int now accept float.

  • [core] Adjust Observer.schedule() path type annotation to reflect the pathlib.Path support. (#1096)

  • [core] Allow scheduling watches on individual files in Observer.schedule(). (#1034)

  • [core] Call task_done() for the stop sentinel in dispatch_events() to prevent join() from hanging. (#1159)

  • [core] case_sensitive=False matching now really ignores case on Python < 3.13. The PurePath.full_match() fallback compiled its regex without re.IGNORECASE, so only the patterns were lower-cased and a path such as FOO.PY never matched **/*.py. (#1263)

  • [core] dispatch_events() no longer re-adds a watch that unschedule() removed, which leaked one _handlers entry per watch that had an event in flight. (#1261)

  • [core] Do not retain an event handler when Observer.schedule() fails to create or start its emitter.

  • [core] EventEmitter and EventDispatcher reject a bool timeout. bool subclasses int, so timeout=True was stored and treated as 1.0 seconds. (#1287)

  • [core] Fixed generate_sub_moved_events() corrupting paths when the directory name appears multiple times in the path. (#1158)

  • [core] ObservedWatch equality now includes follow_symlink, so scheduling a path a second time with a different follow_symlink value no longer collapses onto the first watch and silently drops the request. (#1262)

  • [core] RegexMatchingEventHandler no longer matches its regexes against an empty destination path for events that are not moves. Since events became dataclasses, hasattr(event, "dest_path") is always true, so a regex matching the empty string (e.g. ^(?!.*\.pyc$).*$) let every event through, and such an ignore regex dropped every event. PatternMatchingEventHandler had the same check.

  • [core] remove_handler_for_watch() no longer re-adds a watch that unschedule() removed, which leaked one empty _handlers entry per call. (#1285)

  • [core] Add win_arm64 to the list of platform-specific wheels published to PyPI. (#1137)

  • [core] Add manylinux_2_17 to the list of platform-specific wheels published to PyPI. (#1125)

  • [inotify] Add support for the follow_symlink keyword argument. (#1086)

  • [inotify] Do not suppress registration errors for the requested root path. A missing root now raises FileNotFoundError from observer.start(), or from observer.schedule() when already running. Recursive descendant failures remain tolerated. (#1157)

  • [inotify] Keep watching newly created subdirectories when recursive watches filter out creation events. (#990)

  • [inotify] Reduce number of created inotify instance. (#1099)

  • [inotify] Snapshot the watch group before the blocking read in InotifyEmitter.queue_events() so stopping the emitter cannot raise AttributeError on a cleared self._inotify.

  • [fsevents] Added the latency keyword argument to FSEventsEmitter and FSEventsObserver (defaulting to watchdog.observers.fsevents.DEFAULT_FSEVENTS_LATENCY), exposing the FSEvents stream latency previously hard-coded at 10 ms. Raising it coalesces duplicate events. (#835)

  • [fsevents] Add support for the follow_symlink keyword argument. (#1086)

  • [fsevents] Support free-threading and give each emitter its own stream and run loop to prevent shutdown leaks. (#1140)

  • [fsevents] Use multi-phase initialization (PEP 489). (#1108)

  • [windows] A rename whose RENAMED_OLD and RENAMED_NEW records arrive in different get_events() batches no longer emits a move event with an empty src_path. (#1286)

  • [windows] Changing only the case of a name no longer emits a deletion event on top of the move event. (#752)

  • [windows] Event file names are decoded as UTF-16LE, so a name starting with U+FEFF or U+FFFE no longer reports the wrong path. (#1228)

  • [windows] Fixed an unsynchronized access to WindowsApiEmitter._reader: queue_events() now reads it under the same lock used by on_thread_stop(). (#1170)

  • [windows] Use double-buffering for read_directory_changes to avoid missed events under high load. (#1152)

  • [polling] A transient OSError while polling, such as a network share that is briefly unreachable, no longer emits a DirDeletedEvent for the watched directory and stops the emitter. The error is logged and the next poll tries again, so changes made in the meantime are still reported. Only FileNotFoundError and NotADirectoryError are still treated as a deletion. (#1065)

  • [polling] Detect permission, ownership, and file attribute modifications in DirectorySnapshotDiff and emit FileAttribEvent and DirAttribEvent in PollingObserver. (#881)

  • [bsd] Do not let a PermissionError raised while registering a kevent kill the emitter thread. (#1115)

  • [freebsd] Supports inotify on FreeBSD 15+. (#1147)

  • [utils] Deduplicate consecutive None items in SkipRepeatsQueue. (#1348)

  • [utils] Deprecated the debounce_interval_seconds argument and attribute of EventDebouncer and AutoRestartTrick in favour of debounce_interval, and the DelayedQueue.delay_sec attribute in favour of delay. The old names still work but emit a DeprecationWarning.

  • [utils] DirectorySnapshotDiff(ignore_device=True) now detects moved files and directories when the device ID changes between snapshots.

  • [utils] Fix EventDebouncer starvation on high frequency events and ensure pending events are delivered upon stop. (#998)

  • [utils] Fixed DirectorySnapshotDiff reporting a newly created symlink as a move of its target (and a removed symlink as a move onto its target), so PollingObserver now emits a create/delete event to match the native observers. (#1176)

  • [utils] Fixed repr(EmptyDirectorySnapshot), before that it was throwing an AttributeError: 'EmptyDirectorySnapshot' object has no attribute '_stat_info'.

  • [utils] Implemented len(DirectorySnapshotDiff) to return the total number of changes.

  • [utils] Make SkipRepeatsQueue.put() and put_nowait() reject duplicate items after shutdown() on Python 3.13+.

  • [utils] Serialize SkipRepeatsQueue producers to prevent consecutive duplicates, respecting blocking and timeout limits while acquiring the producer lock. (#1338)

  • [utils] Use a monotonic clock for DelayedQueue delays so system clock adjustments do not stall or prematurely release events. (#1296)

  • [tricks] Allow configuring shell_executable and cwd for ShellCommandTrick and watchmedo shell-command. (#921)

  • [watchmedo] Support running watchmedo via python -m watchdog. (#1162)

  • [watchmedo] The AutoRestartTrick stop signal is now actually delivered on Windows. The subprocess is started in its own process group and signalled with CTRL_BREAK_EVENT, so it can run cleanup handlers and its descendants are no longer orphaned on every restart. (#1221)

  • [watchmedo] AutoRestartTrick’s --signal SIGBREAK now routes through CTRL_BREAK_EVENT on Windows too, instead of falling back to the hard kill that skips the child’s cleanup handlers. (#1221)

  • [watchmedo] Show file system events by default in watchmedo log. (#913)

  • [tests] Remove the eventlet tests and test dependency.

  • [docs] Document that BaseThread always runs as a daemon thread, instead of inheriting daemon from the creating thread as the inherited threading.Thread documentation states. (#1117)

  • [docs] FileSystemEvent no longer claims to be immutable; its fields stay writable and the hash is derived from them, so mutating an event held in a dict or set strands it there. (#1240)

  • [docs] Note that FileClosedEvent, FileClosedNoWriteEvent and FileOpenedEvent, and their on_closed(), on_closed_no_write() and on_opened() handlers, are emitted only by InotifyObserver on Linux. (#1235)

  • Thanks to our beloved contributors: @BoboTiG, @Corentin-pro, @Liam-DeVoe, @kirkhansen, @JoachimCoenen, @HaoZeke, @LincolnPuzey, @adicohen1005, @zastrowm, @ngoldbaum, @QWERTIOX, @cclauss, @blitztide, @nascheme, @Prosperibe12, @bysiber, @abra-code, @toroleapinc, @maxtaran2010, @gorakhargosh, @Sanjays2402, @prateek-dagar, @BortnikMaxim, @MohammedAlkindi, @Skeletor-Pirate, @btschwertfeger, @zain-asif-dev, @subikshajegadish, @FanWu-ai, @ryanchou1994, @Rosuav, @TobiasRzepka, @GreatBahram, @arindamsikder, @apoorvdarshan, @kokotatan, @Om-singhaI, @amprew, @Pitchfork-and-Torch, @Dev-iL, @CLCK0622, @Enesuygurs, @galafis, @vaibhav8a, @ivg, @newchannelid432-code, @Aschenbath, @Joelbit-io, @Alex0AI

6.0.0

2024-11-01 • full history

  • Pin test dependencies.

  • [docs] Add typing info to quick start. (#1082)

  • [inotify] Use of select.poll() instead of deprecated select.select(), if available. (#1078)

  • [inotify] Fix reading inotify file descriptor after closing it. (#1081)

  • [utils] The stop_signal keyword-argument type of the AutoRestartTrick class can now be either a signal.Signals or an int.

  • [utils] Added the __repr__() method to the Trick class.

  • [utils] Removed the unused echo_class() function from the echo module.

  • [utils] Removed the unused echo_instancemethod() function from the echo module.

  • [utils] Removed the unused echo_module() function from the echo module.

  • [utils] Removed the unused is_class_private_name() function from the echo module.

  • [utils] Removed the unused is_classmethod() function from the echo module.

  • [utils] Removed the unused ic_method(met() function from the echo module.

  • [utils] Removed the unused method_name() function from the echo module.

  • [utils] Removed the unused name() function from the echo module.

  • [watchmedo] Fixed Mypy issues.

  • [watchmedo] Added the __repr__() method to the HelpFormatter class.

  • [watchmedo] Removed the --trace CLI argument from the watchmedo log command, useless since events are logged by default at the LoggerTrick class level.

  • [windows] Fixed Mypy issues.

  • Thanks to our beloved contributors: @BoboTiG, @g-pichler, @ethan-vanderheijden, @nhairs

5.0.3

2024-09-27 • full history

  • [inotify] Improve cleaning up Inotify threads, and add eventlet test cases (#1070)

  • Thanks to our beloved contributors: @BoboTiG, @ethan-vanderheijden

5.0.2

2024-09-03 • full history

  • Enable OS specific Mypy checks (#1064)

  • [watchmedo] Fix tricks argument type of schedule_tricks() (#1063)

  • Thanks to our beloved contributors: @gnought, @BoboTiG

5.0.1

2024-09-02 • full history

  • [kqueue] Fix TypeError: kqueue.control() only accepts positional parameters (#1062)

  • Thanks to our beloved contributors: @apoirier, @BoboTiG

5.0.0

2024-08-26 • full history

Breaking Changes

  • Drop support for Python 3.8 (#1055)

  • [core] Enforced usage of proper keyword-arguments (#1057)

  • [core] Renamed the BaseObserverSubclassCallable class to ObserverType (#1055)

  • [inotify] Renamed the inotify_event_struct class to InotifyEventStruct (#1055)

  • [inotify] Renamed the UnsupportedLibc exception to UnsupportedLibcError (#1057)

  • [inotify] Removed the InotifyConstants.IN_CLOSE constant (#1046)

  • [watchmedo] Renamed the LogLevelException exception to LogLevelError (#1057)

  • [watchmedo] Renamed the WatchdogShutdown exception to WatchdogShutdownError (#1057)

  • [windows] Renamed the FILE_NOTIFY_INFORMATION class to FileNotifyInformation (#1055)

  • [windows] Removed the unused WATCHDOG_TRAVERSE_MOVED_DIR_DELAY constant (#1057)

Other Changes

  • [core] Enable disallow_untyped_calls Mypy rule (#1055)

  • [core] Enable disallow_untyped_defs Mypy rule (#1060)

  • [core] Improve typing references for events (#1040)

  • [inotify] Add support for IN_CLOSE_NOWRITE events. A FileClosedNoWriteEvent event will be fired, and its on_closed_no_write() dispatcher has been introduced (#1046)

  • Thanks to our beloved contributors: @BoboTiG

4.0.2

2024-08-11 • full history

  • Add support for Python 3.13 (#1052)

  • [core] Run ruff, apply several fixes (#1033)

  • [core] Remove execution rights from events.py

  • [documentation] Update PatternMatchingEventHandler docstrings (#1048)

  • [documentation] Simplify the quickstart example (#1047)

  • [fsevents] Add missing event_filter keyword-argument to FSEventsObserver.schedule() (#1049)

  • [utils] Fix a possible race condition in AutoRestartTrick (#1002)

  • [watchmedo] Remove execution rights from watchmedo.py

  • Thanks to our beloved contributors: @BoboTiG, @nbelakovski, @ivg

4.0.1

2024-05-23 • full history

  • [inotify] Fix missing event_filter for the full emitter (#1032)

  • Thanks to our beloved contributors: @mraspaud, @BoboTiG

4.0.0

2024-02-06 • full history

  • Drop support for Python 3.7.

  • Add support for Python 3.12.

  • [snapshot] Add typing to dirsnapshot (#1012)

  • [snapshot] Added DirectorySnapshotDiff.ContextManager (#1011)

  • [events] FileSystemEvent, and subclasses, are now dataclass``es, and their ``repr() has changed

  • [windows] WinAPINativeEvent is now a dataclass, and its repr() has changed

  • [events] Log FileOpenedEvent, and FileClosedEvent, events in LoggingEventHandler

  • [tests] Improve FileSystemEvent coverage

  • [watchmedo] Log all events in LoggerTrick

  • [windows] The observers.read_directory_changes.WATCHDOG_TRAVERSE_MOVED_DIR_DELAY hack was removed. The constant will be kept to prevent breaking other software.

  • Thanks to our beloved contributors: @BoboTiG, @msabramo

3.0.0

2023-03-20 • full history

  • Drop support for Python 3.6.

  • watchdog is now PEP 561 compatible, and tested with mypy

  • Fix missing > in FileSystemEvent.__repr__() (#980)

  • [ci] Lots of improvements

  • [inotify] Return from InotifyEmitter.queue_events() if not launched when thread is inactive (#963)

  • [tests] Stability improvements

  • [utils] Remove handling of threading.Event.isSet spelling (#962)

  • [watchmedo] Fixed tricks YAML generation (#965)

  • Thanks to our beloved contributors: @kurtmckee, @altendky, @agroszer, @BoboTiG

2.3.1

2023-02-28 • full history

  • Run black on the entire source code

  • Bundle the requirements-tests.txt file in the source distribution (#939)

  • [watchmedo] Exclude FileOpenedEvent events from AutoRestartTrick, and ShellCommandTrick, to restore watchdog < 2.3.0 behavior. A better solution should be found in the future. (#949)

  • [watchmedo] Log FileOpenedEvent, and FileClosedEvent, events in LoggerTrick

  • Thanks to our beloved contributors: @BoboTiG

2.3.0

2023-02-23 • full history

  • [inotify] Add support for IN_OPEN events: a FileOpenedEvent event will be fired (#941)

  • [watchmedo] Add optional event debouncing for auto-restart, only restarting once if many events happen in quick succession (--debounce-interval) (#940)

  • [watchmedo] Exit gracefully on KeyboardInterrupt exception (Ctrl+C) (#945)

  • [watchmedo] Add option to not auto-restart the command after it exits (--no-restart-on-command-exit) (#946)

  • Thanks to our beloved contributors: @BoboTiG, @dstaple, @taleinat, @cernekj

2.2.1

2023-01-01 • full history

  • Enable mypy to discover type hints as specified in PEP 561 (#933)

  • [ci] Set the expected Python version when building release files

  • [ci] Update actions versions in use

  • [watchmedo] [regression] Fix usage of missing signal.SIGHUP attribute on non-Unix OSes (#935)

  • Thanks to our beloved contributors: @BoboTiG, @simon04, @piotrpdev

2.2.0

2022-12-05 • full history

  • [build] Wheels are now available for Python 3.11 (#932)

  • [documentation] HTML documentation builds are now tested for errors (#902)

  • [documentation] Fix typos here, and there (#910)

  • [fsevents2] The fsevents2 observer is now deprecated (#909)

  • [tests] The error message returned by musl libc for error code -1 is now allowed (#923)

  • [utils] Remove unnecessary code in dirsnapshot.py (#930)

  • [watchmedo] Handle shutdown events from SIGHUP (#912)

  • Thanks to our beloved contributors: @kurtmckee, @babymastodon, @QuantumEnergyE, @timgates42, @BoboTiG

2.1.9

2022-06-10 • full history

  • [fsevents] Fix flakey test to assert that there are no errors when stopping the emitter.

  • [inotify] Suppress occasional OSError: [Errno 9] Bad file descriptor at shutdown. (#805)

  • [watchmedo] Make auto-restart restart the sub-process if it terminates. (#896)

  • [watchmedo] Avoid zombie sub-processes when running shell-command without --wait. (#405)

  • Thanks to our beloved contributors: @samschott, @taleinat, @altendky, @BoboTiG

2.1.8

2022-05-15 • full history

  • Fix adding failed emitters on observer schedule. (#872)

  • [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (#869)

  • [watchmedo] Fix broken parsing of --kill-after argument for the auto-restart command. (#870)

  • [watchmedo] Fix broken parsing of boolean arguments. (#887)

  • [watchmedo] Fix broken parsing of commands from auto-restart, and shell-command. (#888)

  • [watchmedo] Support setting verbosity level via -q/--quiet and -v/--verbose arguments. (#889)

  • Thanks to our beloved contributors: @taleinat, @kianmeng, @palfrey, @IlayRosenberg, @BoboTiG

2.1.7

2022-03-25 • full history

  • Eliminate timeout in waiting on event queue. (#861)

  • [inotify] Fix not equality implementation for InotifyEvent. (#848)

  • [watchmedo] Fix calling commands from within a Python script. (#879)

  • [watchmedo] PyYAML is loaded only when strictly necessary. Simple usages of watchmedo are possible without the module being installed. (#847)

  • Thanks to our beloved contributors: @sattlerc, @JanzenLiu, @BoboTiG

2.1.6

2021-10-01 • full history

  • [bsd] Fixed returned paths in kqueue.py and restored the overall results of the test suite. (#842)

  • [bsd] Updated FreeBSD CI support .(#841)

  • [watchmedo] Removed the argh dependency in favor of the builtin argparse module. (#836)

  • [watchmedo] Removed unexistant WindowsApiAsyncObserver references and --debug-force-winapi-async arguments.

  • [watchmedo] Improved the help output.

  • Thanks to our beloved contributors: @knobix, @AndreaRe9, @BoboTiG

2.1.5

2021-08-23 • full history

  • Fix regression introduced in 2.1.4 (reverted “Allow overriding or adding custom event handlers to event dispatch map. (#814)”). (#830)

  • Convert regexes of type str to list. (831)

  • Thanks to our beloved contributors: @unique1o1, @BoboTiG

2.1.4

2021-08-19 • full history

  • [watchmedo] Fix usage of os.setsid() and os.killpg() Unix-only functions. (#809)

  • [mac] Fix missing FileModifiedEvent on permission or ownership changes of a file. (#815)

  • [mac] Convert absolute watch path in FSEeventsEmitter with os.path.realpath(). (#822)

  • Fix a possible AttributeError in SkipRepeatsQueue._put(). (#818)

  • Allow overriding or adding custom event handlers to event dispatch map. (#814)

  • Fix tests on big endian platforms. (#828)

  • Thanks to our beloved contributors: @replabrobin, @BoboTiG, @SamSchott, @AndreiB97, @NiklasRosenstein, @ikokollari, @mgorny

2.1.3

2021-06-26 • full history

  • Publish macOS arm64 and universal2 wheels. (#740)

  • Thanks to our beloved contributors: @kainjow, @BoboTiG

2.1.2

2021-05-19 • full history

  • [mac] Fix relative path handling for non-recursive watch. (#797)

  • [windows] On PyPy, events happening right after start() were missed. Add a workaround for that. (#796)

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

2.1.1

2021-05-10 • full history

  • [mac] Fix callback exceptions when the watcher is deleted but still receiving events (#786)

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

2.1.0

2021-05-04 • full history

  • [inotify] Simplify libc loading (#776)

  • [mac] Add support for non-recursive watches in FSEventsEmitter (#779)

  • [watchmedo] Add support for --debug-force-* arguments to tricks (#781)

  • Thanks to our beloved contributors: @CCP-Aporia, @aodj, @UnitedMarsupials, @BoboTiG

2.0.3

2021-04-22 • full history

  • [mac] Use logger.debug() instead of logger.info() (#774)

  • Updated documentation links (#777)

  • Thanks to our beloved contributors: @globau, @imba-tjd, @BoboTiG

2.0.2

2021-02-22 • full history

  • [mac] Add missing exception objects (#766)

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

2.0.1

2021-02-17 • full history

  • [mac] Fix a segmentation fault when dealing with unicode paths (#763)

  • Moved the CI from Travis-CI to GitHub Actions (#764)

  • Thanks to our beloved contributors: @SamSchott, @BoboTiG

2.0.0

2021-02-11 • full history

  • Avoid deprecated PyEval_InitThreads on Python 3.7+ (#746)

  • [inotify] Add support for IN_CLOSE_WRITE events. A FileCloseEvent event will be fired. Note that IN_CLOSE_NOWRITE events are not handled to prevent much noise. (#184, #245, #280, #313, #690)

  • [inotify] Allow to stop the emitter multiple times (#760)

  • [mac] Support coalesced filesystem events (#734)

  • [mac] Drop support for macOS 10.12 and earlier (#750)

  • [mac] Fix an issue when renaming an item changes only the casing (#750)

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

1.0.2

2020-12-18 • full history

  • Wheels are published for GNU/Linux, macOS and Windows (#739)

  • [mac] Fix missing event_id attribute in fsevents (#721)

  • [mac] Return byte paths if a byte path was given in fsevents (#726)

  • [mac] Add compatibility with old macOS versions (#733)

  • Uniformize event for deletion of watched dir (#727)

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

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 unused 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

Release files for watchdog 7.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for watchdog 7.1.0
File Size Uploaded Provenance Actions
watchdog-7.1.0.tar.gz 218.7 kB Without provenance Details for watchdog-7.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for watchdog 7.1.0
File Actions
watchdog-7.1.0-py3-none-win_ia64.whl Python 3 none Windows ia64 Details for watchdog-7.1.0-py3-none-win_ia64.whl
watchdog-7.1.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for watchdog-7.1.0-py3-none-win_arm64.whl
watchdog-7.1.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for watchdog-7.1.0-py3-none-win_amd64.whl
watchdog-7.1.0-py3-none-win32.whl Python 3 none Windows x86-32 Details for watchdog-7.1.0-py3-none-win32.whl
watchdog-7.1.0-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for watchdog-7.1.0-py3-none-manylinux_2_17_x86_64.whl
watchdog-7.1.0-py3-none-manylinux_2_17_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details for watchdog-7.1.0-py3-none-manylinux_2_17_s390x.whl
watchdog-7.1.0-py3-none-manylinux_2_17_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details for watchdog-7.1.0-py3-none-manylinux_2_17_ppc64le.whl
watchdog-7.1.0-py3-none-manylinux_2_17_ppc64.whl Python 3 none Linux glibc 2.17+ PowerPC 64-be Details for watchdog-7.1.0-py3-none-manylinux_2_17_ppc64.whl
watchdog-7.1.0-py3-none-manylinux_2_17_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details for watchdog-7.1.0-py3-none-manylinux_2_17_i686.whl
watchdog-7.1.0-py3-none-manylinux_2_17_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details for watchdog-7.1.0-py3-none-manylinux_2_17_armv7l.whl
watchdog-7.1.0-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for watchdog-7.1.0-py3-none-manylinux_2_17_aarch64.whl
watchdog-7.1.0-py3-none-manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for watchdog-7.1.0-py3-none-manylinux2014_x86_64.whl
watchdog-7.1.0-py3-none-manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details for watchdog-7.1.0-py3-none-manylinux2014_s390x.whl
watchdog-7.1.0-py3-none-manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details for watchdog-7.1.0-py3-none-manylinux2014_ppc64le.whl
watchdog-7.1.0-py3-none-manylinux2014_ppc64.whl Python 3 none Linux glibc 2.17+ PowerPC 64-be Details for watchdog-7.1.0-py3-none-manylinux2014_ppc64.whl
watchdog-7.1.0-py3-none-manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details for watchdog-7.1.0-py3-none-manylinux2014_i686.whl
watchdog-7.1.0-py3-none-manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details for watchdog-7.1.0-py3-none-manylinux2014_armv7l.whl
watchdog-7.1.0-py3-none-manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for watchdog-7.1.0-py3-none-manylinux2014_aarch64.whl
watchdog-7.1.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64 Details for watchdog-7.1.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl
watchdog-7.1.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl PyPy 3.12 PyPy 3.12 8.0 macOS 10.15+ x86-64 Details for watchdog-7.1.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl
watchdog-7.1.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64 Details for watchdog-7.1.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl
watchdog-7.1.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 10.15+ x86-64 Details for watchdog-7.1.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl
watchdog-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl
watchdog-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details for watchdog-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl
watchdog-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl
watchdog-7.1.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp315-cp315-macosx_11_0_arm64.whl
watchdog-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details for watchdog-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl
watchdog-7.1.0-cp315-cp315-macosx_10_15_universal2.whl CPython 3.15 CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp315-cp315-macosx_10_15_universal2.whl
watchdog-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl
watchdog-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details for watchdog-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl
watchdog-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl
watchdog-7.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp314-cp314-macosx_11_0_arm64.whl
watchdog-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for watchdog-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl
watchdog-7.1.0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp314-cp314-macosx_10_15_universal2.whl
watchdog-7.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp313-cp313-macosx_11_0_arm64.whl
watchdog-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for watchdog-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl
watchdog-7.1.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp313-cp313-macosx_10_13_universal2.whl
watchdog-7.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp312-cp312-macosx_11_0_arm64.whl
watchdog-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for watchdog-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl
watchdog-7.1.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp312-cp312-macosx_10_13_universal2.whl
watchdog-7.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for watchdog-7.1.0-cp311-cp311-macosx_11_0_arm64.whl
watchdog-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for watchdog-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl
watchdog-7.1.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details for watchdog-7.1.0-cp311-cp311-macosx_10_9_universal2.whl

Total release size: 5.0 MB

Release files / watchdog-7.1.0.tar.gz

Download URL watchdog-7.1.0.tar.gz
Size 218.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d3861e255416f49a1384474cb2efa097de165fb330d4c5432ce6708b509ed922
BLAKE2b-256 checksum
How to use checksums
e255087e45c2a3ed8223bc9f30d6b65f051de35513cfc30c989c2b1a14bf862e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-win_ia64.whl

Download URL watchdog-7.1.0-py3-none-win_ia64.whl
Size 103.3 kB
Tags Python 3 Windows ia64
SHA-256 checksum
How to use checksums
0cfc5a6b3d4e76fc3e18fd371ee79d57945004da4105b589f71bb16966fd3e67
BLAKE2b-256 checksum
How to use checksums
c0aa7a7210433e000f2491ddec7756d312009b0a47847e5c3457ccb03852cfdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-win_arm64.whl

Download URL watchdog-7.1.0-py3-none-win_arm64.whl
Size 103.3 kB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
5ed4b94365c53ffd51d88e47ca48d6afae02fb1bd849175a9a10927a2fbfb932
BLAKE2b-256 checksum
How to use checksums
929c5a39ec8880c08e50f75d90f4e0e27b95dc91a04deb5e6e04871dd4b7e006
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-win_amd64.whl

Download URL watchdog-7.1.0-py3-none-win_amd64.whl
Size 103.3 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
16a5ba8694587cdbeae4ab8e6434cece994f9cce4e5bab03e61e6d1a0a93a643
BLAKE2b-256 checksum
How to use checksums
5abcc04fbb2d6366afb0850e39c6d848f2d38066ff6dadccc886b3cb12c39e32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-win32.whl

Download URL watchdog-7.1.0-py3-none-win32.whl
Size 103.3 kB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
9c937139c8afdb26405639309956352ef72c453006e772e0cf5c0bbc0d1cba82
BLAKE2b-256 checksum
How to use checksums
1754312036da06d83b4a21d25a0d83643d2a9b2188eb2e5031e52fe82eddbe0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_x86_64.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_x86_64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
ad6d0b473cb8cde0721692b22b30fcbea8b52102430528874b3593549888bd81
BLAKE2b-256 checksum
How to use checksums
bb2896130c970c236e4278a188cb6b8dec2500ff395ddcebb74c6171f5fc6069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_s390x.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_s390x.whl
Size 103.3 kB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
89f78b2b1c153715463e27fc86f0f95fd4dd6cb07a2cdad932fe01840101fb5a
BLAKE2b-256 checksum
How to use checksums
e69913406d1424ed4a8796a800016d21ac6fba3ba9ac508cc860e97ce352f14e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_ppc64le.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_ppc64le.whl
Size 103.3 kB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
a17f37720ea088430754a7cc5869fad93915c69eaff8d5284adbac41f1befaaa
BLAKE2b-256 checksum
How to use checksums
7947bdd6c0176695fb5b44fa9164ab5aa3edbefd322eea7dc584073fe7bfe67c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_ppc64.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_ppc64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ PowerPC 64-be Python 3
SHA-256 checksum
How to use checksums
c71bd120d57b16c2c49abd55d74d3c83f984e19024249ebe7ba4dc4903eb27ee
BLAKE2b-256 checksum
How to use checksums
63bb8757c54c6dcb0edcc514a47b0dc026f8751a266b6c320a0df8830d9f89a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_i686.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_i686.whl
Size 103.3 kB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
71b0ebfd5b3ffe7cf53143f2ab63fa5038ca190fc10782ec23202765a859b057
BLAKE2b-256 checksum
How to use checksums
406baa8fb28263d3965f91228ce9b251a786e36060a3571f4d724b2fab44a1c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_armv7l.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_armv7l.whl
Size 103.3 kB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
a47d6e1418d7ed80f69454fb7f000ded554363209f8b04b812bf46b6c9e3093f
BLAKE2b-256 checksum
How to use checksums
5e6c1c3a9066266b5c3f0db9146422f67e5d13781b2fb1b9e777ead5553fc1a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux_2_17_aarch64.whl

Download URL watchdog-7.1.0-py3-none-manylinux_2_17_aarch64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
48db8dd8f9f92359ca5d4bccbd82be814facc3f57feaa3c67be964cc86b1dc33
BLAKE2b-256 checksum
How to use checksums
72889190129165760c76191f4711b64a728d1bff02de74649c675797ae253f26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_x86_64.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_x86_64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
77f06d709fe5d766ec51ec07b79773f5e29a0b3c4c3d195cfc7aa1e909fa566c
BLAKE2b-256 checksum
How to use checksums
984d60e1c38c27973d63f8748cfe8da70bdf698d1c1ab0e94fd18de15b3044fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_s390x.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_s390x.whl
Size 103.3 kB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
cbae4a087f712bac4086e653273a949f86e2f908d16f157fd3568217e0c07cbe
BLAKE2b-256 checksum
How to use checksums
ab4cdfe0265c572027b2af9e824c6370a6ca39da33c819a99af48ddbc0cf1706
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_ppc64le.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_ppc64le.whl
Size 103.3 kB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
d94d0bcf30a9ea5ac5387df290b9e175c04747558c33443d2b0f763471699531
BLAKE2b-256 checksum
How to use checksums
7aad721ff870f9ecf25532a07d58fb677764e17390a46b675486bf23ce278873
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_ppc64.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_ppc64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ PowerPC 64-be Python 3
SHA-256 checksum
How to use checksums
b76e3ac088550b33046c4eabacdd7dd4cb9db9147c8749b202643a4b5c2433c8
BLAKE2b-256 checksum
How to use checksums
3fd3dbbc79e5ce139516cad0b88ec08df27fd00ef478547c0e584951f2c687b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_i686.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_i686.whl
Size 103.3 kB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
400788184d62c0e384da67de4d7fcb892bfeb064b2e59a7d1a1dccb9ff4b49bc
BLAKE2b-256 checksum
How to use checksums
e5b43c9142add82c134fcbb748cc23e52603519679dddc4b5900d83e473d0648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_armv7l.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_armv7l.whl
Size 103.3 kB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
d47f3067eb77a83d04de1cac214284da604f960eaee9816d7ebfd01a165b4175
BLAKE2b-256 checksum
How to use checksums
6e0a1da133041dfa1ca8d512e06485ce82dd2a9af7b6cc4fe9c277008380d10a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-py3-none-manylinux2014_aarch64.whl

Download URL watchdog-7.1.0-py3-none-manylinux2014_aarch64.whl
Size 103.3 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
dbd4e701a31b9bfa686bd831177b433695f5e4dabee6aa0bdf4efcf6f0fd5b9f
BLAKE2b-256 checksum
How to use checksums
b35b1e62e5ab365634f84afe91f8fd78563c71226056d57e36d5fcba9d99b536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-pp312-pypy312_pp80-macosx_11_0_arm64.whl
Size 112.7 kB
Tags PyPy 3.12 PyPy 3.12 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
22d8869d9cb822c735923eea39d9279f03d5fd23e6d325800ac9e402e34c0a28
BLAKE2b-256 checksum
How to use checksums
b629f3b91fe0ef86c11f508de1c189054e2b4f00be8da6043e96130f841697d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-pp312-pypy312_pp80-macosx_10_15_x86_64.whl
Size 112.2 kB
Tags PyPy 3.12 PyPy 3.12 8.0 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
550ff9204139b6d759cd37210935bb88f6aac42542ad17516edaf17c9b35fd41
BLAKE2b-256 checksum
How to use checksums
337d1d661f910c1f3717603b3eea0e3bd5540c7a76221371ae24bb42e0e3b049
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-pp311-pypy311_pp80-macosx_11_0_arm64.whl
Size 112.6 kB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b390a8a0b85a93882d2ad27cbcc222e1e93293a5410d2ceffb48c0fdb38e0b17
BLAKE2b-256 checksum
How to use checksums
67f8755e32b082b3b27c3f4730874dc09d11eed5c39ffbe512d30e2662e917b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl
Size 112.0 kB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
cf55c6108cce5c590661ebf3345d5203b6c6455237d73122a64acb74acc6a920
BLAKE2b-256 checksum
How to use checksums
2aab0c57f765c0b29534e12ca4aa69fc0b1cb8437ed307c4250887ecb400d8e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 114.0 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2dc548262230493c8740c50cb0016d5983143ef3e587284d55f8a9fac393340f
BLAKE2b-256 checksum
How to use checksums
b6ce9e944c1d21b9b767023fb63cc764affcff1c8f4853de8e0ad14005cadbba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 113.4 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e226f1797764c3995ff9e91ce46f1b2ae65f59ab231785ef2f62243f06ba7956
BLAKE2b-256 checksum
How to use checksums
c67eb951aeea6d6db7a917e3c1c5a341cbb3e5c8cc02ccb9201b2715547603c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl

Download URL watchdog-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl
Size 123.2 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
22fb8c80a2e510ec7773e4f6b2c6db869c2aed80bfb09962feb0962eb54f3ac9
BLAKE2b-256 checksum
How to use checksums
f1f6d552bd549125010e7c7d78fbb8057ee4ec6f5d258ffdc8cd6c675f9a70ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp315-cp315-macosx_11_0_arm64.whl
Size 113.6 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3dcf1a72c8c83a945e99965746c818bca3f50c0835b66ef1deb388d89bae792a
BLAKE2b-256 checksum
How to use checksums
d09a3beeb0a20d9907468b48bdc63e2e0e5ff858b308c46051a823280164bbcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 113.0 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
b0747551092578b70a4e8c48260ab956a9aa7efd2e9f7614471a7f73ada91c44
BLAKE2b-256 checksum
How to use checksums
660769e1962eeccd885cc6196fea3f45f610741ca259ce9f69f372aa42e35146
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp315-cp315-macosx_10_15_universal2.whl

Download URL watchdog-7.1.0-cp315-cp315-macosx_10_15_universal2.whl
Size 122.4 kB
Tags CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
a78673ab08b15f42760ae036f9251d02ac4107390c074963ccad4fc91cf880ac
BLAKE2b-256 checksum
How to use checksums
468baeeacda90fcbcf2c8c3eeb761f9dcce798b0209c4413e9f89733d4bc8c8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 113.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d4c9804d3db8e18659cd7cd968e2dbb31a655d12fcc07ec54df5ae47ff929f50
BLAKE2b-256 checksum
How to use checksums
1271a6e482e81cb7ebe9f2aea7955254dee2865ea99a580bfeceaf53c274875d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 113.4 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
701586db59c9c421389e2e007713a821d934c3d83d034f0cafa95516a422758d
BLAKE2b-256 checksum
How to use checksums
56f784b94e50c73479a291733027bd572336ba5b85dca27c18982186293bd8bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl

Download URL watchdog-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl
Size 123.1 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4332ae52b5e530d2c25a8525d765f1d34e595cfb07096c6b6368f9da10b5a8bf
BLAKE2b-256 checksum
How to use checksums
13e10de47b185b82317696f59c0f0b9bb105f6492d6d3423cb1535ce60f70c2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 113.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b1a669c90ae6dc734f2a5a417f15ba30d5ef41d890bc28aef161d51bb62b7882
BLAKE2b-256 checksum
How to use checksums
e05f5133b328bae8ec5fab02c329c4364445459d678194c42457c9721b6f64ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL watchdog-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 113.0 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8b637a1525d7e23548419368485bf1de931aca4c9e132e89a41bad52ff435fca
BLAKE2b-256 checksum
How to use checksums
c756b262a7c5acb47cb7eebc0cb25ded697ac4fbfc2d65c3a505a210ecb2b2e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL watchdog-7.1.0-cp314-cp314-macosx_10_15_universal2.whl
Size 122.4 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
a0fdb62a48b5073ea3bcca29b9910f1cbde1026ab8bffb87a69b112bf6d97d1c
BLAKE2b-256 checksum
How to use checksums
d48ca25dac9642a4962d70cace9ffbb9ea4e575e6a61412ba5c80569460e0c81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 113.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb84cdb12a3c4c273d71e4e5a4f76861fbf8f49bc9ca5be86f085ab6f57c683f
BLAKE2b-256 checksum
How to use checksums
41acd4d6fb1bd6f25b614fa7150629b8eb3e30f7ded82f63a19b4427b140475e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL watchdog-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 112.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
531f1a21bf0d37ea82be9a717ab92c05ab6f2f32ec6c1f2e7a748f9cfd21c8b2
BLAKE2b-256 checksum
How to use checksums
303559365fa94ebc1cddf89a21752eb17afef037bd534d63ab1800721540e5f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL watchdog-7.1.0-cp313-cp313-macosx_10_13_universal2.whl
Size 120.8 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
33501d3ab5627e41b6230d5f92e651ea843b1d236cf2b135959dfda2d42d2f69
BLAKE2b-256 checksum
How to use checksums
c31f804e62a8895212f436944ea2f13cdb3e6a7e2570b14f3723d3fef2bc9db7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 113.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
84a196f6259d18ce53cc58f211f7d0184939dbbfaaebae6efc509cec333ba9ea
BLAKE2b-256 checksum
How to use checksums
a54da490bcebc20c0c2781b0e1b2674245354502c9a62b274cc41859f4b269cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL watchdog-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 113.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
24bf3345278ed7861438cd1ff162888e955250124d1e3c122f9be1d5c2a142c3
BLAKE2b-256 checksum
How to use checksums
83dda36aed1934abf1b9a827f5d5b4fab23de395526eb1bc40da34aad9f2d589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL watchdog-7.1.0-cp312-cp312-macosx_10_13_universal2.whl
Size 121.0 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
5047bc32663aa6c8a720940072a64cd648f4c6c6f34cd43592719bcc880b7465
BLAKE2b-256 checksum
How to use checksums
591440662f61f6e09f6a0371d95d916f6fc134825a7937b3ebff08cb6be433a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL watchdog-7.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 113.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bb9182d0b0b75a78137ea9ae8d74943e53ebc3fc5ea11178fdb3da32ced6ef18
BLAKE2b-256 checksum
How to use checksums
bf3edd912eaf296c3c5e279b8e6824fb0cb103523a1dae209667c1221f205480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL watchdog-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 113.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a79b77db565ae3bc9ff490df2ce51a4bdd6b344a99732055e828e8dadaaf1c97
BLAKE2b-256 checksum
How to use checksums
a17887400e56145c88bf6b53474110009f3bc20edfea3b8e6bfcd20faada84d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / watchdog-7.1.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL watchdog-7.1.0-cp311-cp311-macosx_10_9_universal2.whl
Size 120.9 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
be3f5f953b11bde13ee3c54ae740948f61b01b6b79442f92ff5b9d0c15e5b7e7
BLAKE2b-256 checksum
How to use checksums
ddd7e6d9c38630aa844ea4ad7f2d66924926fc1f73ed770ec7f3caa773f6b874
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for watchdog 7.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

7.1.0 This release

44 release files No provenance

0.6.1

0.3.6

0.3.4

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page