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

  • [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)

  • [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)

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

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

  • [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.0.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.0.0
File Size Uploaded Provenance Actions
watchdog-7.0.0.tar.gz 208.6 kB Without provenance Details for watchdog-7.0.0.tar.gz

Built distributions (wheels)

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

Total release size: 4.5 MB

Release files / watchdog-7.0.0.tar.gz

Download URL watchdog-7.0.0.tar.gz
Size 208.6 kB
Tags Source
SHA-256 checksum
How to use checksums
128583e0ffa0e5c0531f9f37e2e24be1e7b0503561f6aa8b0aac5a1d646e2bf2
BLAKE2b-256 checksum
How to use checksums
92686477c65315fd5b58ea5c7fbfe871c3ca6e5ec951be6c48c2f5fe8ee5e34d
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.0.0-py3-none-win_ia64.whl

Download URL watchdog-7.0.0-py3-none-win_ia64.whl
Size 102.2 kB
Tags Python 3 Windows ia64
SHA-256 checksum
How to use checksums
78a68bb0ec8949ad6f699accb9eaa037666cb7524552be43cb9f624cade27774
BLAKE2b-256 checksum
How to use checksums
8e67342d9b01b6c74ba17748dd66018f037e554880f37f8e52279690e20c2e78
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.0.0-py3-none-win_arm64.whl

Download URL watchdog-7.0.0-py3-none-win_arm64.whl
Size 102.2 kB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
047f5f823286add71294ff1a186c9fc89fea4a2afa2a1d91513b64dbf43fd473
BLAKE2b-256 checksum
How to use checksums
30791effeba91e22c84e4b4bedb8ead8be4d05574c52161244f3701d4f73a5b7
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.0.0-py3-none-win_amd64.whl

Download URL watchdog-7.0.0-py3-none-win_amd64.whl
Size 102.2 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
129b28aa1e9fe80316968752d0b366171925329ad0b2b9f015717a974b9e0351
BLAKE2b-256 checksum
How to use checksums
0ae2f456fe4422d8f1cd460003c8bf637be47707767dd738036ee77484fd436c
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.0.0-py3-none-win32.whl

Download URL watchdog-7.0.0-py3-none-win32.whl
Size 102.2 kB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
2e8f015b3e9971dd3280cf50def74d2c928f5c218eba5d4a720458b314f8ced9
BLAKE2b-256 checksum
How to use checksums
7bd7b904c56841e6e03b896ae2af81ba99ab5fb8418922291deb822818b3e120
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.0.0-py3-none-manylinux_2_17_x86_64.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_x86_64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
e48cacca21a7e35711552686f1fd9f17b5ff9662bbe807d69b5e1b02a81462ab
BLAKE2b-256 checksum
How to use checksums
902af9ef889994f373c02f64ad7c0ec266b96f5c808f7bf5bc279a895b54b6b5
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.0.0-py3-none-manylinux_2_17_s390x.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_s390x.whl
Size 102.2 kB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
a2deceb918489b5c7094761705b73a75a67528b92c73cdb0a6cf3ca0d4acdb43
BLAKE2b-256 checksum
How to use checksums
edeadab378ada33abdcb5ccf72aba5e1968ed3252fe7b6b160e192762ebc2da1
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.0.0-py3-none-manylinux_2_17_ppc64le.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_ppc64le.whl
Size 102.2 kB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
ace8200735c9c289c2e4208af3ebb1b4074121d92896ab6dc253565d6cbc8fbe
BLAKE2b-256 checksum
How to use checksums
ee2ae1b9034333acd9bb6b08516343b139914c30388d65f2b9d416762e40f3bb
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.0.0-py3-none-manylinux_2_17_ppc64.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_ppc64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ PowerPC 64-be Python 3
SHA-256 checksum
How to use checksums
6afb0506266b6a6d5685330a6f36ad3c866713f05edc0a5f76f83f31c37210ef
BLAKE2b-256 checksum
How to use checksums
8b66d657be3651faa795175809af942942ba0dea45b5c9661626213273217a7e
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.0.0-py3-none-manylinux_2_17_i686.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_i686.whl
Size 102.2 kB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
298d608cdd11fb44b6c76f4f0acd0f2bf58d9d0563fc8a5dfea7bba0d483769a
BLAKE2b-256 checksum
How to use checksums
9dfc4b2f4fe2dca98cca6da5a656e09df6ad39168158a552858e6d138bdb67df
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.0.0-py3-none-manylinux_2_17_armv7l.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_armv7l.whl
Size 102.2 kB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
0eb01cf469399fc7a83d1a322d32d0da58e925bb96b8a08477eb484d7e013459
BLAKE2b-256 checksum
How to use checksums
8ca9d5d868e4958a46d633f14ec29a70db9be98dc15d1d238e1fb2ccbcb5314f
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.0.0-py3-none-manylinux_2_17_aarch64.whl

Download URL watchdog-7.0.0-py3-none-manylinux_2_17_aarch64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
60d6152735d8dbee0384cb32594087bf2b06d68b1e0d67679b6b42b52b2246dd
BLAKE2b-256 checksum
How to use checksums
a7241c89a93735f239f3380d5819853e70fa9e369c1f062ea91cbba44d99c94d
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.0.0-py3-none-manylinux2014_x86_64.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_x86_64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
edbfd843840fa8a750d79ed69e65ab67965748f9ccfc56ff957e1cee4a8cf796
BLAKE2b-256 checksum
How to use checksums
e242cc0b880fb78c3b690a817647d85f27b6b9642e3c94972f18d6c77fe03303
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.0.0-py3-none-manylinux2014_s390x.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_s390x.whl
Size 102.2 kB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
2b8b3e3bc0f9b60ce65c02735c95f51cea8d9fb1164ae38347670255decf5008
BLAKE2b-256 checksum
How to use checksums
91a36276378482a10efc7fb539c98a4f05e414ce332482b46830007cf20916a3
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.0.0-py3-none-manylinux2014_ppc64le.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_ppc64le.whl
Size 102.2 kB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
9d9413bed7cc80c508809a5d7b980ece6e339aa61eb6211037732ff032676155
BLAKE2b-256 checksum
How to use checksums
524450af0c256cd7a095d7172aab4fd4879de1eb761dc9dc390091f3b62953d8
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.0.0-py3-none-manylinux2014_ppc64.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_ppc64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ PowerPC 64-be Python 3
SHA-256 checksum
How to use checksums
6434bc0860ee9a4b2885fe7b7b49db14c6ea2475bb5b2e8bdbc409fc2722d462
BLAKE2b-256 checksum
How to use checksums
79dcdfe40c72ea7292ee644d95beecf61b599ec11b40c9cba0a4cf121257d6e1
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.0.0-py3-none-manylinux2014_i686.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_i686.whl
Size 102.2 kB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
d1c379ba81f284a6fa8437cbe2fc8c3c5fdecf26d3b7a38aadafbbc45773dcce
BLAKE2b-256 checksum
How to use checksums
ff64a511e40c06b7a518f2f0227372fe06ee96a619f9209a125f9ac6a02d60c5
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.0.0-py3-none-manylinux2014_armv7l.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_armv7l.whl
Size 102.2 kB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
3c6dad060a0a583a3e5e4ae7ba521329d6bd26522a1f6eb17089c8c352e6c436
BLAKE2b-256 checksum
How to use checksums
1a654882864e2156ef1532a90365b33fad03cba045f30d2b143a57d6e09cf58e
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.0.0-py3-none-manylinux2014_aarch64.whl

Download URL watchdog-7.0.0-py3-none-manylinux2014_aarch64.whl
Size 102.2 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
323cfccbb716d71f3768e92ad95a53e1b43a2b962a2f7d2389ff5e6f83d2a553
BLAKE2b-256 checksum
How to use checksums
2ba9693dbc78b5e9abb282ef6c8bff3dd4a01560adf1ae195d6a6243d2dca531
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.0.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 112.9 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4bb2352f0826b3bb99ac55f6bb4741f41962719995cb4b3d1c6b25ec46e70257
BLAKE2b-256 checksum
How to use checksums
d76e4de7eb11e53be4a3a661829eb37e1c7cd75178729c13d85636ab5aeb50e0
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.0.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL watchdog-7.0.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 112.3 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e6e5ddae065d72383b88fd83b03c8c359a2289497e229f2ceb45e16728a63356
BLAKE2b-256 checksum
How to use checksums
9be50af992caabbadd0224d44e283f5644e67be74b1ccc46673955482b90c6c7
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.0.0-cp315-cp315t-macosx_10_15_universal2.whl

Download URL watchdog-7.0.0-cp315-cp315t-macosx_10_15_universal2.whl
Size 122.1 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
b0a90021c0b36853819cc374950434af37c83567217d7e29dc0fbbb2d879c84c
BLAKE2b-256 checksum
How to use checksums
79addd8e60fec845f3d92d8b9e8f242726cad17f90e78fd4f36e16c6a63e4f26
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.0.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp315-cp315-macosx_11_0_arm64.whl
Size 112.5 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d740d9cde27edcc4fa9df089b58cdff5f68d32c2ec5dacded16546658b82cf7b
BLAKE2b-256 checksum
How to use checksums
4af8407879a9de0be8aa00451db783c7dc841ca6c101ddc5b5eb5acf7170b81c
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.0.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL watchdog-7.0.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 112.0 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
cc806addff5906521f1a106d07485853da635b4ce2677387546c058aa7de13de
BLAKE2b-256 checksum
How to use checksums
38db0c13178087d1209e9b4ce36c4e6373ac204f15c305abd4d34bf44bf83dad
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.0.0-cp315-cp315-macosx_10_15_universal2.whl

Download URL watchdog-7.0.0-cp315-cp315-macosx_10_15_universal2.whl
Size 121.4 kB
Tags CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c9c11d4eab13f1e50fdd08e86afbf7ebc32bcafdd015fae2954e5854e9ffba4c
BLAKE2b-256 checksum
How to use checksums
a14ecd445c5de4bc49ce043b6e22dcc33cacdde4a79b5a8ac7fbf6ab387100aa
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.0.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 112.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5fa065ae0449f010104f619723fa89698e0c187a2925f2998f470f2f24b51b9b
BLAKE2b-256 checksum
How to use checksums
71526faab6a670dc4124f3c33521d3f7d2a8d92c1f13db5febd1b5619aa141c7
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.0.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL watchdog-7.0.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 112.3 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c8d5d33611e35c7492f055a0bcf7fe6894df9f8f0f2c1acedb2ed95369eaa5b9
BLAKE2b-256 checksum
How to use checksums
d2673aa374ae23305948e3aae9a2ce8c4ce4fee61da05df1386f23db62969d41
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.0.0-cp314-cp314t-macosx_10_15_universal2.whl

Download URL watchdog-7.0.0-cp314-cp314t-macosx_10_15_universal2.whl
Size 122.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
03a2c85c63cce3cbda9ab6ce21ca401e95b6f681cc6f70316f4f882b3c8f1315
BLAKE2b-256 checksum
How to use checksums
25061771a2cb86c4e1b5931c9cd3054486412397a7963911c7b6d95e440e2954
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.0.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp314-cp314-macosx_11_0_arm64.whl
Size 112.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e00d09a546db40620621b7d49332802b845db23256560f5c1efa95d333683045
BLAKE2b-256 checksum
How to use checksums
2ba55c1ee3498aba5559d038bd50955d7a0692aa6b3e79188a4132c48a90713b
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.0.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL watchdog-7.0.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 112.0 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8b214497509fe08690bf0b7426ebccc3444b750fdec51d7fb1d04c5acf5fa266
BLAKE2b-256 checksum
How to use checksums
c7a622c4faad6fa3b006d6d7502115c22df8af3281148c51e8d205fa4f8a9422
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.0.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL watchdog-7.0.0-cp314-cp314-macosx_10_15_universal2.whl
Size 121.3 kB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
2ed22c5c11dde52db942792340862202a51e15acff0f57a7ac1d92ee14f4176f
BLAKE2b-256 checksum
How to use checksums
1e8f00e076d99a3dd2fceb83668cf6e7ff02c468d8c4aff725b003b49d35d39f
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.0.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp313-cp313-macosx_11_0_arm64.whl
Size 112.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
72e667ca184ab0dea5264a5a636d7a6d6e18bb8cd8a50f3c818005050d4e7a3b
BLAKE2b-256 checksum
How to use checksums
94a04d63c53f9bb76a79ca691992835d42f737913eb5020b29cb21cb6d551d79
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.0.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL watchdog-7.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 111.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
f06a2d489adcbd6e1f1faa6eb74b167d1f78fc4dc3bccb309a09d0e2cea1fc8e
BLAKE2b-256 checksum
How to use checksums
4116034b5f9fe7f76c71bfe37bcdf7b9878d5f0f4bae093c0234e65d39d1076a
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.0.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL watchdog-7.0.0-cp313-cp313-macosx_10_13_universal2.whl
Size 119.8 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8fb2b4fac4a6d37d28eaac680e0394882a60d900e3da8eaf361dfc878a194f86
BLAKE2b-256 checksum
How to use checksums
650c74b7b1d425825a63edd5ce97cad6e8123e5584472bb5d2babe6d44c4a69e
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.0.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp312-cp312-macosx_11_0_arm64.whl
Size 112.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea19e8857af78d23b45f80c316e502159443fba2f382b1361ab7d96e3848bb01
BLAKE2b-256 checksum
How to use checksums
a185ccff29f97a4c83849fd6031006fda388edb2fad9cefe9129c9e242ddebe6
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.0.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL watchdog-7.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 112.0 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a85b33573e3b8c6e41c0e49c64b917d04216dfe63697e85c3c029bcf323ad81c
BLAKE2b-256 checksum
How to use checksums
76163d2eec74cd1791bdae3cfa71e16d499e08f99c531a95c1f21efc5704ce95
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.0.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL watchdog-7.0.0-cp312-cp312-macosx_10_13_universal2.whl
Size 119.9 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
68fd4d437b1d0d17b49633f5e12a35e93e36c5ba59a05e39e50038e04fa5d991
BLAKE2b-256 checksum
How to use checksums
6e4b24986bba9021fc931f25fab8f17285182a929d717b63533866a5951909a7
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.0.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL watchdog-7.0.0-cp311-cp311-macosx_11_0_arm64.whl
Size 112.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
39aae4fcb1822d0e1a97908399165d7f9a1c5a05f3fe0b0f89c75f8fe0c1e9c9
BLAKE2b-256 checksum
How to use checksums
9c3a6399cfb3aaa4f7a0ca871dd8e5d249d4ba41fc9377355a11fe9a4eff1835
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.0.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL watchdog-7.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 111.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
210246265c432fa3693904d94e20f0c4b48cda35e55f05d3ac176702321f664c
BLAKE2b-256 checksum
How to use checksums
b8fcbe0aa604ca4c367f75bd58366c38eb3e4c7c2a0585a46406e1aca3870823
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.0.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL watchdog-7.0.0-cp311-cp311-macosx_10_9_universal2.whl
Size 119.9 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
05be1e2f84268918bd3fea26694ad38678ed990355f5b085181401a12cf86557
BLAKE2b-256 checksum
How to use checksums
bcc9e2f07a8b02927f440fe9b9ef9f6b63aa5623208d85d82f97ab7a190e4c99
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.0.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.0.0 This release

40 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