mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-07-01 22:13:01 +00:00
first commit
This commit is contained in:
72
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/AUTHORS
Normal file
72
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/AUTHORS
Normal file
@ -0,0 +1,72 @@
|
||||
Original Project Lead:
|
||||
----------------------
|
||||
Yesudeep Mangalapilly <yesudeep@google.com>
|
||||
|
||||
Current Project Lead:
|
||||
---------------------
|
||||
Mickaël Schoentgen <contact@tiger-222.fr>
|
||||
|
||||
Contributors in alphabetical order:
|
||||
-----------------------------------
|
||||
Adrian Tejn Kern <tejnkern@gmail.com>
|
||||
Andrew Schaaf <andrew@andrewschaaf.com>
|
||||
Danilo de Jesus da Silva Bellini <danilo.bellini@gmail.com>
|
||||
David LaPalomento <dlapalomento@gmail.com>
|
||||
Filip Noetzel <filip@j03.de>
|
||||
Gary van der Merwe <garyvdm@garyvdm.localdomain>
|
||||
Gora Khargosh <gora.khargosh@gmail.com>
|
||||
Hannu Valtonen <hannu.valtonen@ohmu.fi>
|
||||
Jesse Printz <jesse@jonypawks.net>
|
||||
Léa Klein <lklein@nuxeo.com>
|
||||
Luke McCarthy <luke@iogopro.co.uk>
|
||||
Lukáš Lalinský <lalinsky@gmail.com>
|
||||
Malthe Borch <mborch@gmail.com>
|
||||
Martin Kreichgauer <kreichgauer@gmail.com>
|
||||
Martin Kreichgauer <martin@kreichgauer.com>
|
||||
Mike Lundy <mike@fluffypenguin.org>
|
||||
Raymond Hettinger <python@rcn.com>
|
||||
Roman Ovchinnikov <coolthecold@gmail.com>
|
||||
Rotem Yaari <vmalloc@gmail.com>
|
||||
Ryan Kelly <ryan@rfk.id.au>
|
||||
Senko Rasic <senko.rasic@dobarkod.hr>
|
||||
Senko Rašić <senko@senko.net>
|
||||
Shane Hathaway <shane@hathawaymix.org>
|
||||
Simon Pantzare <simon@pewpewlabs.com>
|
||||
Simon Pantzare <simpa395@student.liu.se>
|
||||
Steven Samuel Cole <steven.samuel.cole@gmail.com>
|
||||
Stéphane Klein <stephane@harobed.org>
|
||||
Thomas Guest <tag@wordaligned.org>
|
||||
Thomas Heller <theller@ctypes.org>
|
||||
Tim Cuthbertson <tim+github@gfxmonk.net>
|
||||
Todd Whiteman <toddw@activestate.com>
|
||||
Will McGugan <will@willmcgugan.com>
|
||||
Yesudeep Mangalapilly <gora.khargosh@gmail.com>
|
||||
Yesudeep Mangalapilly <yesudeep@google.com>
|
||||
dvogel <dvogel@wlscapi.uwsc.wisc.edu>
|
||||
gfxmonk <tim3d.junk@gmail.com>
|
||||
|
||||
|
||||
We would like to thank these individuals for ideas:
|
||||
---------------------------------------------------
|
||||
Tim Golden <mail@timgolden.me.uk>
|
||||
Sebastien Martini <seb@dbzteam.org>
|
||||
|
||||
Initially we used the flask theme for the documentation which was written by
|
||||
----------------------------------------------------------------------------
|
||||
Armin Ronacher <armin.ronacher@active-4.com>
|
||||
|
||||
|
||||
Watchdog also includes open source libraries or adapted code
|
||||
from the following projects:
|
||||
|
||||
- MacFSEvents - https://github.com/malthe/macfsevents
|
||||
- watch_directory.py - http://timgolden.me.uk/python/downloads/watch_directory.py
|
||||
- pyinotify - https://github.com/seb-m/pyinotify
|
||||
- fsmonitor - https://github.com/shaurz/fsmonitor
|
||||
- echo - http://wordaligned.org/articles/echo
|
||||
- Lukáš Lalinský's ordered set queue implementation:
|
||||
https://stackoverflow.com/questions/1581895/how-check-if-a-task-is-already-in-python-queue
|
||||
- Armin Ronacher's flask-sphinx-themes for the documentation:
|
||||
https://github.com/mitsuhiko/flask-sphinx-themes
|
||||
- pyfilesystem - https://github.com/PyFilesystem/pyfilesystem
|
||||
- get_FILE_NOTIFY_INFORMATION - http://blog.gmane.org/gmane.comp.python.ctypes/month=20070901
|
14
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/COPYING
Normal file
14
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/COPYING
Normal file
@ -0,0 +1,14 @@
|
||||
Copyright 2011 Yesudeep Mangalapilly <yesudeep@gmail.com>
|
||||
Copyright 2012 Google, Inc & contributors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
@ -0,0 +1 @@
|
||||
pip
|
202
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/LICENSE
Normal file
202
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/LICENSE
Normal file
@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
705
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/METADATA
Normal file
705
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/METADATA
Normal file
@ -0,0 +1,705 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: watchdog
|
||||
Version: 2.1.8
|
||||
Summary: Filesystem events monitoring
|
||||
Home-page: https://github.com/gorakhargosh/watchdog
|
||||
Author: Yesudeep Mangalapilly
|
||||
Author-email: yesudeep@gmail.com
|
||||
License: Apache License 2.0
|
||||
Project-URL: Documentation, https://python-watchdog.readthedocs.io/en/stable/
|
||||
Project-URL: Source, https://github.com/gorakhargosh/watchdog/
|
||||
Project-URL: Issues, https://github.com/gorakhargosh/watchdog/issues
|
||||
Project-URL: Changelog, https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst
|
||||
Keywords: python filesystem monitoring monitor FSEvents kqueue inotify ReadDirectoryChangesW polling DirectorySnapshot
|
||||
Classifier: Development Status :: 3 - Alpha
|
||||
Classifier: Environment :: Console
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Intended Audience :: System Administrators
|
||||
Classifier: License :: OSI Approved :: Apache Software License
|
||||
Classifier: Natural Language :: English
|
||||
Classifier: Operating System :: POSIX :: Linux
|
||||
Classifier: Operating System :: MacOS :: MacOS X
|
||||
Classifier: Operating System :: POSIX :: BSD
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows Vista
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows 8
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows 8.1
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3 :: Only
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Programming Language :: C
|
||||
Classifier: Topic :: Software Development :: Libraries
|
||||
Classifier: Topic :: System :: Monitoring
|
||||
Classifier: Topic :: System :: Filesystems
|
||||
Classifier: Topic :: Utilities
|
||||
Requires-Python: >=3.6
|
||||
Description-Content-Type: text/x-rst
|
||||
License-File: LICENSE
|
||||
License-File: COPYING
|
||||
License-File: AUTHORS
|
||||
Provides-Extra: watchmedo
|
||||
Requires-Dist: PyYAML (>=3.10) ; extra == 'watchmedo'
|
||||
|
||||
Watchdog
|
||||
========
|
||||
|
||||
|Build Status|
|
||||
|CirrusCI Status|
|
||||
|
||||
Python API and shell utilities to monitor file system events.
|
||||
|
||||
Works on 3.6+.
|
||||
|
||||
If you want to use Python 2.6, you should stick with watchdog < 0.10.0.
|
||||
|
||||
If you want to use Python 2.7, 3.4 or 3.5, you should stick with watchdog < 1.0.0.
|
||||
|
||||
Example API Usage
|
||||
-----------------
|
||||
|
||||
A simple program that uses watchdog to monitor directories specified
|
||||
as command-line arguments and logs events generated:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import sys
|
||||
import time
|
||||
import logging
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.events import LoggingEventHandler
|
||||
|
||||
if __name__ == "__main__":
|
||||
logging.basicConfig(level=logging.INFO,
|
||||
format='%(asctime)s - %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S')
|
||||
path = sys.argv[1] if len(sys.argv) > 1 else '.'
|
||||
event_handler = LoggingEventHandler()
|
||||
observer = Observer()
|
||||
observer.schedule(event_handler, path, recursive=True)
|
||||
observer.start()
|
||||
try:
|
||||
while True:
|
||||
time.sleep(1)
|
||||
finally:
|
||||
observer.stop()
|
||||
observer.join()
|
||||
|
||||
|
||||
Shell Utilities
|
||||
---------------
|
||||
|
||||
Watchdog comes with an *optional* utility script called ``watchmedo``.
|
||||
Please type ``watchmedo --help`` at the shell prompt to
|
||||
know more about this tool.
|
||||
|
||||
Here is how you can log the current directory recursively
|
||||
for events related only to ``*.py`` and ``*.txt`` files while
|
||||
ignoring all directory events:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
watchmedo log \
|
||||
--patterns="*.py;*.txt" \
|
||||
--ignore-directories \
|
||||
--recursive \
|
||||
.
|
||||
|
||||
You can use the ``shell-command`` subcommand to execute shell commands in
|
||||
response to events:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
watchmedo shell-command \
|
||||
--patterns="*.py;*.txt" \
|
||||
--recursive \
|
||||
--command='echo "${watch_src_path}"' \
|
||||
.
|
||||
|
||||
Please see the help information for these commands by typing:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
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``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python -m pip install -U watchdog
|
||||
|
||||
# or to install the watchmedo utility:
|
||||
$ python -m pip install -U "watchdog[watchmedo]"
|
||||
|
||||
Install from source:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python -m pip install -e .
|
||||
|
||||
# or to install the watchmedo utility:
|
||||
$ python -m pip install -e ".[watchmedo]"
|
||||
|
||||
|
||||
Installation Caveats
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``watchmedo`` script depends on PyYAML_ which links with LibYAML_,
|
||||
which brings a performance boost to the PyYAML parser. However, installing
|
||||
LibYAML_ is optional but recommended. On macOS, you can use homebrew_
|
||||
to install LibYAML:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ brew install libyaml
|
||||
|
||||
On Linux, use your favorite package manager to install LibYAML. Here's how you
|
||||
do it on Ubuntu:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt install libyaml-dev
|
||||
|
||||
On Windows, please install PyYAML_ using the binaries they provide.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
You can browse the latest release documentation_ online.
|
||||
|
||||
Contribute
|
||||
----------
|
||||
|
||||
Fork the `repository`_ on GitHub and send a pull request, or file an issue
|
||||
ticket at the `issue tracker`_. For general help and questions use the official
|
||||
`mailing list`_ or ask on `stackoverflow`_ with tag `python-watchdog`.
|
||||
|
||||
Create and activate your virtual environment, then::
|
||||
|
||||
python -m pip install pytest pytest-cov
|
||||
python -m pip install -e ".[watchmedo]"
|
||||
python -m pytest tests
|
||||
|
||||
If you are making a substantial change, add an entry to the "Unreleased" section
|
||||
of the `changelog`_.
|
||||
|
||||
Supported Platforms
|
||||
-------------------
|
||||
|
||||
* Linux 2.6 (inotify)
|
||||
* 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
|
||||
|
||||
This is an inherent problem with kqueue because it uses
|
||||
file descriptors to monitor files. That plus the enormous
|
||||
amount of bookkeeping that watchdog needs to do in order
|
||||
to monitor file descriptors just makes this a painful way
|
||||
to monitor files and directories. In essence, kqueue is
|
||||
not a very scalable way to monitor a deeply nested
|
||||
directory of files and directories with a large number of
|
||||
files.
|
||||
|
||||
About using watchdog with editors like Vim
|
||||
------------------------------------------
|
||||
|
||||
Vim does not modify files unless directed to do so.
|
||||
It creates backup files and then swaps them in to replace
|
||||
the files you are editing on the disk. This means that
|
||||
if you use Vim to edit your files, the on-modified events
|
||||
for those files will not be triggered by watchdog.
|
||||
You may need to configure Vim appropriately to disable
|
||||
this feature.
|
||||
|
||||
|
||||
About using watchdog with CIFS
|
||||
------------------------------
|
||||
|
||||
When you want to watch changes in CIFS, you need to explicitly tell watchdog to
|
||||
use ``PollingObserver``, that is, instead of letting watchdog decide an
|
||||
appropriate observer like in the example above, do::
|
||||
|
||||
from watchdog.observers.polling import PollingObserver as Observer
|
||||
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
1. Python 3.6 or above.
|
||||
2. XCode_ (only on macOS when installing from sources)
|
||||
3. PyYAML_ (only for ``watchmedo``)
|
||||
|
||||
Licensing
|
||||
---------
|
||||
|
||||
Watchdog is licensed under the terms of the `Apache License, version 2.0`_.
|
||||
|
||||
Copyright 2011 `Yesudeep Mangalapilly`_.
|
||||
|
||||
Copyright 2012 Google, Inc & contributors.
|
||||
|
||||
Project `source code`_ is available at Github. Please report bugs and file
|
||||
enhancement requests at the `issue tracker`_.
|
||||
|
||||
Why Watchdog?
|
||||
-------------
|
||||
|
||||
Too many people tried to do the same thing and none did what I needed Python
|
||||
to do:
|
||||
|
||||
* pnotify_
|
||||
* `unison fsmonitor`_
|
||||
* fsmonitor_
|
||||
* guard_
|
||||
* pyinotify_
|
||||
* `inotify-tools`_
|
||||
* jnotify_
|
||||
* treewatcher_
|
||||
* `file.monitor`_
|
||||
* pyfilesystem_
|
||||
|
||||
.. links:
|
||||
.. _Yesudeep Mangalapilly: yesudeep@gmail.com
|
||||
.. _source code: https://github.com/gorakhargosh/watchdog
|
||||
.. _issue tracker: https://github.com/gorakhargosh/watchdog/issues
|
||||
.. _Apache License, version 2.0: https://www.apache.org/licenses/LICENSE-2.0
|
||||
.. _documentation: https://python-watchdog.readthedocs.io/
|
||||
.. _stackoverflow: https://stackoverflow.com/questions/tagged/python-watchdog
|
||||
.. _mailing list: https://groups.google.com/group/watchdog-python
|
||||
.. _repository: https://github.com/gorakhargosh/watchdog
|
||||
.. _issue tracker: https://github.com/gorakhargosh/watchdog/issues
|
||||
.. _changelog: https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst
|
||||
|
||||
.. _homebrew: https://brew.sh/
|
||||
.. _PyYAML: https://www.pyyaml.org/
|
||||
.. _XCode: https://developer.apple.com/technologies/tools/xcode.html
|
||||
.. _LibYAML: https://pyyaml.org/wiki/LibYAML
|
||||
|
||||
.. _pnotify: http://mark.heily.com/pnotify
|
||||
.. _unison fsmonitor: https://webdav.seas.upenn.edu/viewvc/unison/trunk/src/fsmonitor.py?view=markup&pathrev=471
|
||||
.. _fsmonitor: https://github.com/shaurz/fsmonitor
|
||||
.. _guard: https://github.com/guard/guard
|
||||
.. _pyinotify: https://github.com/seb-m/pyinotify
|
||||
.. _inotify-tools: https://github.com/rvoicilas/inotify-tools
|
||||
.. _jnotify: http://jnotify.sourceforge.net/
|
||||
.. _treewatcher: https://github.com/jbd/treewatcher
|
||||
.. _file.monitor: https://github.com/pke/file.monitor
|
||||
.. _pyfilesystem: https://github.com/PyFilesystem/pyfilesystem
|
||||
|
||||
.. |Build Status| image:: https://github.com/gorakhargosh/watchdog/workflows/Tests/badge.svg
|
||||
:target: https://github.com/gorakhargosh/watchdog/actions?query=workflow%3ATests
|
||||
.. |CirrusCI Status| image:: https://api.cirrus-ci.com/github/gorakhargosh/watchdog.svg
|
||||
:target: https://cirrus-ci.com/github/gorakhargosh/watchdog/
|
||||
|
||||
|
||||
.. :changelog:
|
||||
|
||||
Changelog
|
||||
---------
|
||||
|
||||
2.1.8
|
||||
~~~~~
|
||||
|
||||
2022-05-15 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.7...v2.1.8>`__
|
||||
|
||||
- Fix adding failed emitters on observer schedule. (`#872 <https://github.com/gorakhargosh/watchdog/issues/872>`__)
|
||||
- [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (`#869 <https://github.com/gorakhargosh/watchdog/pull/869>`__)
|
||||
- [watchmedo] Fix broken parsing of ``--kill-after`` argument for the ``auto-restart`` command. (`#870 <https://github.com/gorakhargosh/watchdog/issues/870>`__)
|
||||
- [watchmedo] Fix broken parsing of boolean arguments. (`#887 <https://github.com/gorakhargosh/watchdog/issues/887>`__)
|
||||
- [watchmedo] Fix broken parsing of commands from ``auto-restart``, and ``shell-command``. (`#888 <https://github.com/gorakhargosh/watchdog/issues/888>`__)
|
||||
- [watchmedo] Support setting verbosity level via ``-q/--quiet`` and ``-v/--verbose`` arguments. (`#889 <https://github.com/gorakhargosh/watchdog/pull/889>`__)
|
||||
- Thanks to our beloved contributors: @taleinat, @kianmeng, @palfrey, @IlayRosenberg, @BoboTiG
|
||||
|
||||
2.1.7
|
||||
~~~~~
|
||||
|
||||
2022-03-25 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.6...v2.1.7>`__
|
||||
|
||||
- Eliminate timeout in waiting on event queue. (`#861 <https://github.com/gorakhargosh/watchdog/pull/861>`__)
|
||||
- [inotify] Fix ``not`` equality implementation for ``InotifyEvent``. (`#848 <https://github.com/gorakhargosh/watchdog/pull/848>`__)
|
||||
- [watchmedo] Fix calling commands from within a Python script. (`#879 <https://github.com/gorakhargosh/watchdog/pull/879>`__)
|
||||
- [watchmedo] ``PyYAML`` is loaded only when strictly necessary. Simple usages of ``watchmedo`` are possible without the module being installed. (`#847 <https://github.com/gorakhargosh/watchdog/pull/847>`__)
|
||||
- Thanks to our beloved contributors: @sattlerc, @JanzenLiu, @BoboTiG
|
||||
|
||||
2.1.6
|
||||
~~~~~
|
||||
|
||||
2021-10-01 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.5...v2.1.6>`__
|
||||
|
||||
- [bsd] Fixed returned paths in ``kqueue.py`` and restored the overall results of the test suite. (`#842 <https://github.com/gorakhargosh/watchdog/pull/842>`__)
|
||||
- [bsd] Updated FreeBSD CI support .(`#841 <https://github.com/gorakhargosh/watchdog/pull/841>`__)
|
||||
- [watchmedo] Removed the ``argh`` dependency in favor of the builtin ``argparse`` module. (`#836 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/compare/v2.1.4...v2.1.5>`__
|
||||
|
||||
- Fix regression introduced in 2.1.4 (reverted "Allow overriding or adding custom event handlers to event dispatch map. (`#814 <https://github.com/gorakhargosh/watchdog/pull/814>`__)"). (`#830 <https://github.com/gorakhargosh/watchdog/pull/830>`__)
|
||||
- Convert regexes of type ``str`` to ``list``. (`831 <https://github.com/gorakhargosh/watchdog/pull/831>`__)
|
||||
- Thanks to our beloved contributors: @unique1o1, @BoboTiG
|
||||
|
||||
2.1.4
|
||||
~~~~~
|
||||
|
||||
2021-08-19 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.3...v2.1.4>`__
|
||||
|
||||
- [watchmedo] Fix usage of ``os.setsid()`` and ``os.killpg()`` Unix-only functions. (`#809 <https://github.com/gorakhargosh/watchdog/pull/809>`__)
|
||||
- [mac] Fix missing ``FileModifiedEvent`` on permission or ownership changes of a file. (`#815 <https://github.com/gorakhargosh/watchdog/pull/815>`__)
|
||||
- [mac] Convert absolute watch path in ``FSEeventsEmitter`` with ``os.path.realpath()``. (`#822 <https://github.com/gorakhargosh/watchdog/pull/822>`__)
|
||||
- Fix a possible ``AttributeError`` in ``SkipRepeatsQueue._put()``. (`#818 <https://github.com/gorakhargosh/watchdog/pull/818>`__)
|
||||
- Allow overriding or adding custom event handlers to event dispatch map. (`#814 <https://github.com/gorakhargosh/watchdog/pull/814>`__)
|
||||
- Fix tests on big endian platforms. (`#828 <https://github.com/gorakhargosh/watchdog/pull/828>`__)
|
||||
- Thanks to our beloved contributors: @replabrobin, @BoboTiG, @SamSchott, @AndreiB97, @NiklasRosenstein, @ikokollari, @mgorny
|
||||
|
||||
2.1.3
|
||||
~~~~~
|
||||
|
||||
2021-06-26 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.2...v2.1.3>`__
|
||||
|
||||
- Publish macOS ``arm64`` and ``universal2`` wheels. (`#740 <https://github.com/gorakhargosh/watchdog/pull/740>`__)
|
||||
- Thanks to our beloved contributors: @kainjow, @BoboTiG
|
||||
|
||||
2.1.2
|
||||
~~~~~
|
||||
|
||||
2021-05-19 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.1...v2.1.2>`__
|
||||
|
||||
- [mac] Fix relative path handling for non-recursive watch. (`#797 <https://github.com/gorakhargosh/watchdog/pull/797>`__)
|
||||
- [windows] On PyPy, events happening right after ``start()`` were missed. Add a workaround for that. (`#796 <https://github.com/gorakhargosh/watchdog/pull/796>`__)
|
||||
- Thanks to our beloved contributors: @oprypin, @CCP-Aporia, @BoboTiG
|
||||
|
||||
2.1.1
|
||||
~~~~~
|
||||
|
||||
2021-05-10 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.1.0...v2.1.1>`__
|
||||
|
||||
- [mac] Fix callback exceptions when the watcher is deleted but still receiving events (`#786 <https://github.com/gorakhargosh/watchdog/pull/786>`__)
|
||||
- Thanks to our beloved contributors: @rom1win, @BoboTiG, @CCP-Aporia
|
||||
|
||||
|
||||
2.1.0
|
||||
~~~~~
|
||||
|
||||
2021-05-04 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.0.3...v2.1.0>`__
|
||||
|
||||
- [inotify] Simplify ``libc`` loading (`#776 <https://github.com/gorakhargosh/watchdog/pull/776>`__)
|
||||
- [mac] Add support for non-recursive watches in ``FSEventsEmitter`` (`#779 <https://github.com/gorakhargosh/watchdog/pull/779>`__)
|
||||
- [watchmedo] Add support for ``--debug-force-*`` arguments to ``tricks`` (`#781 <https://github.com/gorakhargosh/watchdog/pull/781>`__)
|
||||
- Thanks to our beloved contributors: @CCP-Aporia, @aodj, @UnitedMarsupials, @BoboTiG
|
||||
|
||||
|
||||
2.0.3
|
||||
~~~~~
|
||||
|
||||
2021-04-22 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.0.2...v2.0.3>`__
|
||||
|
||||
- [mac] Use ``logger.debug()`` instead of ``logger.info()`` (`#774 <https://github.com/gorakhargosh/watchdog/pull/774>`__)
|
||||
- Updated documentation links (`#777 <https://github.com/gorakhargosh/watchdog/pull/777>`__)
|
||||
- Thanks to our beloved contributors: @globau, @imba-tjd, @BoboTiG
|
||||
|
||||
|
||||
2.0.2
|
||||
~~~~~
|
||||
|
||||
2021-02-22 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.0.1...v2.0.2>`__
|
||||
|
||||
- [mac] Add missing exception objects (`#766 <https://github.com/gorakhargosh/watchdog/pull/766>`__)
|
||||
- Thanks to our beloved contributors: @CCP-Aporia, @BoboTiG
|
||||
|
||||
|
||||
2.0.1
|
||||
~~~~~
|
||||
|
||||
2021-02-17 • `full history <https://github.com/gorakhargosh/watchdog/compare/v2.0.0...v2.0.1>`__
|
||||
|
||||
- [mac] Fix a segmentation fault when dealing with unicode paths (`#763 <https://github.com/gorakhargosh/watchdog/pull/763>`__)
|
||||
- Moved the CI from Travis-CI to GitHub Actions (`#764 <https://github.com/gorakhargosh/watchdog/pull/764>`__)
|
||||
- Thanks to our beloved contributors: @SamSchott, @BoboTiG
|
||||
|
||||
|
||||
2.0.0
|
||||
~~~~~
|
||||
|
||||
2021-02-11 • `full history <https://github.com/gorakhargosh/watchdog/compare/v1.0.2...v2.0.0>`__
|
||||
|
||||
- Avoid deprecated ``PyEval_InitThreads`` on Python 3.7+ (`#746 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/pull/184>`__, `#245 <https://github.com/gorakhargosh/watchdog/pull/245>`__, `#280 <https://github.com/gorakhargosh/watchdog/pull/280>`__, `#313 <https://github.com/gorakhargosh/watchdog/pull/313>`__, `#690 <https://github.com/gorakhargosh/watchdog/pull/690>`__)
|
||||
- [inotify] Allow to stop the emitter multiple times (`#760 <https://github.com/gorakhargosh/watchdog/pull/760>`__)
|
||||
- [mac] Support coalesced filesystem events (`#734 <https://github.com/gorakhargosh/watchdog/pull/734>`__)
|
||||
- [mac] Drop support for macOS 10.12 and earlier (`#750 <https://github.com/gorakhargosh/watchdog/pull/750>`__)
|
||||
- [mac] Fix an issue when renaming an item changes only the casing (`#750 <https://github.com/gorakhargosh/watchdog/pull/750>`__)
|
||||
- Thanks to our beloved contributors: @bstaletic, @lukassup, @ysard, @SamSchott, @CCP-Aporia, @BoboTiG
|
||||
|
||||
|
||||
1.0.2
|
||||
~~~~~
|
||||
|
||||
2020-12-18 • `full history <https://github.com/gorakhargosh/watchdog/compare/v1.0.1...v1.0.2>`__
|
||||
|
||||
- Wheels are published for GNU/Linux, macOS and Windows (`#739 <https://github.com/gorakhargosh/watchdog/pull/739>`__)
|
||||
- [mac] Fix missing ``event_id`` attribute in ``fsevents`` (`#721 <https://github.com/gorakhargosh/watchdog/pull/721>`__)
|
||||
- [mac] Return byte paths if a byte path was given in ``fsevents`` (`#726 <https://github.com/gorakhargosh/watchdog/pull/726>`__)
|
||||
- [mac] Add compatibility with old macOS versions (`#733 <https://github.com/gorakhargosh/watchdog/pull/733>`__)
|
||||
- Uniformize event for deletion of watched dir (`#727 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/compare/v0.10.4...v1.0.0>`__
|
||||
|
||||
- Versioning is now following the `semver <https://semver.org/>`__
|
||||
- Drop support for Python 2.7, 3.4 and 3.5
|
||||
- [mac] Regression fixes for native ``fsevents`` (`#717 <https://github.com/gorakhargosh/watchdog/pull/717>`__)
|
||||
- [windows] ``winapi.BUFFER_SIZE`` now defaults to ``64000`` (instead of ``2048``) (`#700 <https://github.com/gorakhargosh/watchdog/pull/700>`__)
|
||||
- [windows] Introduced ``winapi.PATH_BUFFER_SIZE`` (defaults to ``2048``) to keep the old behavior with path-realted functions (`#700 <https://github.com/gorakhargosh/watchdog/pull/700>`__)
|
||||
- Use ``pathlib`` from the standard library, instead of pathtools (`#556 <https://github.com/gorakhargosh/watchdog/pull/556>`__)
|
||||
- Allow file paths on Unix that don't follow the file system encoding (`#703 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/compare/v0.10.3...v0.10.4>`__
|
||||
|
||||
- Add ``logger`` parameter for the ``LoggingEventHandler`` (`#676 <https://github.com/gorakhargosh/watchdog/pull/676>`__)
|
||||
- Replace mutable default arguments with ``if None`` implementation (`#677 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/pull/680>`__)
|
||||
- [mac] Prevent compilation of ``watchdog_fsevents.c`` on non-macOS machines (`#687 <https://github.com/gorakhargosh/watchdog/pull/687>`__)
|
||||
- [watchmedo] Handle shutdown events from ``SIGTERM`` and ``SIGINT`` more reliably (`#693 <https://github.com/gorakhargosh/watchdog/pull/693>`__)
|
||||
- Thanks to our beloved contributors: @Sraw, @CCP-Aporia, @BoboTiG, @maybe-sybr
|
||||
|
||||
|
||||
0.10.3
|
||||
~~~~~~
|
||||
|
||||
2020-06-25 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.10.2...v0.10.3>`__
|
||||
|
||||
- Ensure ``ObservedWatch.path`` is a string (`#651 <https://github.com/gorakhargosh/watchdog/pull/651>`__)
|
||||
- [inotify] Allow to monitor single file (`#655 <https://github.com/gorakhargosh/watchdog/pull/655>`__)
|
||||
- [inotify] Prevent raising an exception when a file in a monitored folder has no permissions (`#669 <https://github.com/gorakhargosh/watchdog/pull/669>`__, `#670 <https://github.com/gorakhargosh/watchdog/pull/670>`__)
|
||||
- Thanks to our beloved contributors: @brant-ruan, @rec, @andfoy, @BoboTiG
|
||||
|
||||
|
||||
0.10.2
|
||||
~~~~~~
|
||||
|
||||
2020-02-08 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.10.1...v0.10.2>`__
|
||||
|
||||
- Fixed the ``build_ext`` command on macOS Catalina (`#628 <https://github.com/gorakhargosh/watchdog/pull/628>`__)
|
||||
- Fixed the installation of macOS requirements on non-macOS OSes (`#635 <https://github.com/gorakhargosh/watchdog/pull/635>`__)
|
||||
- Refactored ``dispatch()`` method of ``FileSystemEventHandler``,
|
||||
``PatternMatchingEventHandler`` and ``RegexMatchingEventHandler``
|
||||
- [bsd] Improved tests support on non Windows/Linux platforms (`#633 <https://github.com/gorakhargosh/watchdog/pull/633>`__, `#639 <https://github.com/gorakhargosh/watchdog/pull/639>`__)
|
||||
- [bsd] Added FreeBSD CI support (`#532 <https://github.com/gorakhargosh/watchdog/pull/532>`__)
|
||||
- [bsd] Restored full support (`#638 <https://github.com/gorakhargosh/watchdog/pull/638>`__, `#641 <https://github.com/gorakhargosh/watchdog/pull/641>`__)
|
||||
- Thanks to our beloved contributors: @BoboTiG, @evilham, @danilobellini
|
||||
|
||||
|
||||
0.10.1
|
||||
~~~~~~
|
||||
|
||||
2020-01-30 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.10.0...v0.10.1>`__
|
||||
|
||||
- Fixed Python 2.7 to 3.6 installation when the OS locale is set to POSIX (`#615 <https://github.com/gorakhargosh/watchdog/pull/615>`__)
|
||||
- Fixed the ``build_ext`` command on macOS (`#618 <https://github.com/gorakhargosh/watchdog/pull/618>`__, `#620 <https://github.com/gorakhargosh/watchdog/pull/620>`__)
|
||||
- Moved requirements to ``setup.cfg`` (`#617 <https://github.com/gorakhargosh/watchdog/pull/617>`__)
|
||||
- [mac] Removed old C code for Python 2.5 in the `fsevents` C implementation
|
||||
- [snapshot] Added ``EmptyDirectorySnapshot`` (`#613 <https://github.com/gorakhargosh/watchdog/pull/613>`__)
|
||||
- Thanks to our beloved contributors: @Ajordat, @tehkirill, @BoboTiG
|
||||
|
||||
|
||||
0.10.0
|
||||
~~~~~~
|
||||
|
||||
2020-01-26 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.9.0...v0.10.0>`__
|
||||
|
||||
**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 <https://github.com/gorakhargosh/watchdog/pull/369>`__)
|
||||
- Use ``os.scandir()`` to improve memory usage (`#503 <https://github.com/gorakhargosh/watchdog/pull/503>`__)
|
||||
- [bsd] Fixed flavors of FreeBSD detection (`#529 <https://github.com/gorakhargosh/watchdog/pull/529>`__)
|
||||
- [bsd] Skip unprocessable socket files (`#509 <https://github.com/gorakhargosh/watchdog/issue/509>`__)
|
||||
- [inotify] Fixed events containing non-ASCII characters (`#516 <https://github.com/gorakhargosh/watchdog/issues/516>`__)
|
||||
- [inotify] Fixed the way ``OSError`` are re-raised (`#377 <https://github.com/gorakhargosh/watchdog/issues/377>`__)
|
||||
- [inotify] Fixed wrong source path after renaming a top level folder (`#515 <https://github.com/gorakhargosh/watchdog/pull/515>`__)
|
||||
- [inotify] Removed delay from non-move events (`#477 <https://github.com/gorakhargosh/watchdog/pull/477>`__)
|
||||
- [mac] Fixed a bug when calling ``FSEventsEmitter.stop()`` twice (`#466 <https://github.com/gorakhargosh/watchdog/pull/466>`__)
|
||||
- [mac] Support for unscheduling deleted watch (`#541 <https://github.com/gorakhargosh/watchdog/issue/541>`__)
|
||||
- [mac] Fixed missing field initializers and unused parameters in
|
||||
``watchdog_fsevents.c``
|
||||
- [snapshot] Don't walk directories without read permissions (`#408 <https://github.com/gorakhargosh/watchdog/pull/408>`__)
|
||||
- [snapshot] Fixed a race condition crash when a directory is swapped for a file (`#513 <https://github.com/gorakhargosh/watchdog/pull/513>`__)
|
||||
- [snasphot] Fixed an ``AttributeError`` about forgotten ``path_for_inode`` attr (`#436 <https://github.com/gorakhargosh/watchdog/issues/436>`__)
|
||||
- [snasphot] Added the ``ignore_device=False`` parameter to the ctor (`597 <https://github.com/gorakhargosh/watchdog/pull/597>`__)
|
||||
- [watchmedo] Fixed the path separator used (`#478 <https://github.com/gorakhargosh/watchdog/pull/478>`__)
|
||||
- [watchmedo] Fixed the use of ``yaml.load()`` for ``yaml.safe_load()`` (`#453 <https://github.com/gorakhargosh/watchdog/issues/453>`__)
|
||||
- [watchmedo] Handle all available signals (`#549 <https://github.com/gorakhargosh/watchdog/issue/549>`__)
|
||||
- [watchmedo] Added the ``--debug-force-polling`` argument (`#404 <https://github.com/gorakhargosh/watchdog/pull/404>`__)
|
||||
- [windows] Fixed issues when the observed directory is deleted (`#570 <https://github.com/gorakhargosh/watchdog/issues/570>`__ and `#601 <https://github.com/gorakhargosh/watchdog/pull/601>`__)
|
||||
- [windows] ``WindowsApiEmitter`` made easier to subclass (`#344 <https://github.com/gorakhargosh/watchdog/pull/344>`__)
|
||||
- [windows] Use separate ctypes DLL instances
|
||||
- [windows] Generate sub created events only if ``recursive=True`` (`#454 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/compare/v0.8.3...v0.9.0>`__
|
||||
|
||||
- Deleting the observed directory now emits a ``DirDeletedEvent`` event
|
||||
- [bsd] Improved the platform detection (`#378 <https://github.com/gorakhargosh/watchdog/pull/378>`__)
|
||||
- [inotify] Fixed a crash when the root directory being watched by was deleted (`#374 <https://github.com/gorakhargosh/watchdog/pull/374>`__)
|
||||
- [inotify] Handle systems providing uClibc
|
||||
- [linux] Fixed a possible ``DirDeletedEvent`` duplication when
|
||||
deleting a directory
|
||||
- [mac] Fixed unicode path handling ``fsevents2.py`` (`#298 <https://github.com/gorakhargosh/watchdog/pull/298>`__)
|
||||
- [watchmedo] Added the ``--debug-force-polling`` argument (`#336 <https://github.com/gorakhargosh/watchdog/pull/336>`__)
|
||||
- [windows] Fixed the ``FILE_LIST_DIRECTORY`` constant (`#376 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/compare/v0.8.2...v0.8.3>`__
|
||||
|
||||
- Fixed the use of the root logger (`#274 <https://github.com/gorakhargosh/watchdog/issues/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 <https://github.com/gorakhargosh/watchdog/compare/v0.8.1...v0.8.2>`__
|
||||
|
||||
- Event emitters are no longer started on schedule if ``Observer`` is not
|
||||
already running
|
||||
- [mac] Fixed usued arguments to pass clang compilation (`#265 <https://github.com/gorakhargosh/watchdog/pull/265>`__)
|
||||
- [snapshot] Fixed a possible race condition crash on directory deletion (`#281 <https://github.com/gorakhargosh/watchdog/pull/281>`__)
|
||||
- [windows] Fixed an error when watching the same folder again (`#270 <https://github.com/gorakhargosh/watchdog/pull/270>`__)
|
||||
- Thanks to our beloved contributors: @tamland, @apetrone, @Falldog,
|
||||
@theospears
|
||||
|
||||
|
||||
0.8.1
|
||||
~~~~~
|
||||
|
||||
2014-07-28 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.8.0...v0.8.1>`__
|
||||
|
||||
- Fixed ``anon_inode`` descriptors leakage (`#249 <https://github.com/gorakhargosh/watchdog/pull/249>`__)
|
||||
- [inotify] Fixed thread stop dead lock (`#250 <https://github.com/gorakhargosh/watchdog/issues/250>`__)
|
||||
- Thanks to our beloved contributors: @Witos, @adiroiban, @tamland
|
||||
|
||||
|
||||
0.8.0
|
||||
~~~~~
|
||||
|
||||
2014-07-02 • `full history <https://github.com/gorakhargosh/watchdog/compare/v0.7.1...v0.8.0>`__
|
||||
|
||||
- Fixed ``argh`` deprecation warnings (`#242 <https://github.com/gorakhargosh/watchdog/pull/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 <https://github.com/gorakhargosh/watchdog/pull/225>`__)
|
||||
- [watchmedo] Added the ``--no-parallel`` argument (`#227 <https://github.com/gorakhargosh/watchdog/issues/227>`__)
|
||||
- [windows] Fixed the value of ``INVALID_HANDLE_VALUE`` (`#123 <https://github.com/gorakhargosh/watchdog/issues/123>`__)
|
||||
- [windows] Fixed octal usages to work with Python 3 as well (`#223 <https://github.com/gorakhargosh/watchdog/issues/223>`__)
|
||||
- Thanks to our beloved contributors: @tamland, @Ormod, @berdario, @cro,
|
||||
@BernieSumption, @pypingou, @gotcha, @tommorris, @frewsxcv
|
56
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/RECORD
Normal file
56
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/RECORD
Normal file
@ -0,0 +1,56 @@
|
||||
../../Scripts/watchmedo.exe,sha256=1eUmvBeRHM8ehySgnim2_dKCYGGpTyWOQG4NyoNejsQ,106386
|
||||
watchdog-2.1.8.dist-info/AUTHORS,sha256=3tDZN90ee5EvJc_enpUieL13W41IlP1T05zyRU6bCp8,2843
|
||||
watchdog-2.1.8.dist-info/COPYING,sha256=Ash2D5iKdukqnWy1JUVqhvew_RlThw3Ukd5ZVcuXTUE,625
|
||||
watchdog-2.1.8.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
watchdog-2.1.8.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
||||
watchdog-2.1.8.dist-info/METADATA,sha256=UZoCLfXWO5x7HpeVPicME_okmIfqcjRXMfcx6EvoRT8,32512
|
||||
watchdog-2.1.8.dist-info/RECORD,,
|
||||
watchdog-2.1.8.dist-info/WHEEL,sha256=i9qQj8KaD8_YEW0Vc2oS56fKju23RkQ-FVz-QmzVakQ,98
|
||||
watchdog-2.1.8.dist-info/entry_points.txt,sha256=qt_Oe2U5Zlfz7LNA3PHipn3_1zlfRTp9dk3wTS3Ivb8,66
|
||||
watchdog-2.1.8.dist-info/top_level.txt,sha256=OVdR7GkPGZako8sRtVuM0Nis-ZIElx3he3hKFPYnTGg,9
|
||||
watchdog/__init__.py,sha256=hO-KAJjNMN3mMRxjfTA2iF0bU1rlXuOQwdBeKpAwO10,669
|
||||
watchdog/__pycache__/__init__.cpython-310.pyc,,
|
||||
watchdog/__pycache__/events.cpython-310.pyc,,
|
||||
watchdog/__pycache__/version.cpython-310.pyc,,
|
||||
watchdog/__pycache__/watchmedo.cpython-310.pyc,,
|
||||
watchdog/events.py,sha256=6S2S_h6cy168vDwKJ0RCkuUFkhMO0B3kfm-xXMAClh0,16234
|
||||
watchdog/observers/__init__.py,sha256=AK_UkVhN5o4QC_HhXuN54gT5B4h7kTCWpI7oDcNcIGk,3474
|
||||
watchdog/observers/__pycache__/__init__.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/api.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/fsevents.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/fsevents2.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/inotify.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/inotify_buffer.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/inotify_c.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/kqueue.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/polling.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/read_directory_changes.cpython-310.pyc,,
|
||||
watchdog/observers/__pycache__/winapi.cpython-310.pyc,,
|
||||
watchdog/observers/api.py,sha256=ykapYn8se915Rc5BB5DfG2IarF6_Urp2JjJ6YYiqmpU,12000
|
||||
watchdog/observers/fsevents.py,sha256=Es9bcxqgeDyGksTy88HqNjSMXfmuDH63rqz59L81v_Q,13799
|
||||
watchdog/observers/fsevents2.py,sha256=z8iYylt2l2zw9QR-VZhNb3jgOdhcY7pVxwBU-WjGNBA,9071
|
||||
watchdog/observers/inotify.py,sha256=J7LkJhGbnfeXrMvLuYkBIZkOovYz9DBc1uX1uaZDe7o,8937
|
||||
watchdog/observers/inotify_buffer.py,sha256=hm1CQHcm8CEPtheCpxFjWFUunMwdSuAVr7lyQCSzx6c,4241
|
||||
watchdog/observers/inotify_c.py,sha256=KoFdmg7RjANoQovs783UaTERlNJKZO0WKOAP_xCLGNQ,19192
|
||||
watchdog/observers/kqueue.py,sha256=KTm2mKcyMsFM2b6B90CWbD1BoeTfTI-qbgt2PgOyDO0,24290
|
||||
watchdog/observers/polling.py,sha256=uZ0Qes7cbhnqBIUCYuDKs-lAyetSOgJzaviq_DGqlmc,4765
|
||||
watchdog/observers/read_directory_changes.py,sha256=kPeFeE3hYUesrFZSmUJpY8mXm4e71mwGKFOnlIxMaIM,5630
|
||||
watchdog/observers/winapi.py,sha256=Hj6xPdQN6breE79weX_U_RnmTJ-KzJiJTAju7GiptAg,13559
|
||||
watchdog/tricks/__init__.py,sha256=482E6keUFvRqyaLdhJKNvOmmJQUNOy6g4r7WqwnqPGc,6044
|
||||
watchdog/tricks/__pycache__/__init__.cpython-310.pyc,,
|
||||
watchdog/utils/__init__.py,sha256=xrHOKXjO6AdQ37LAtDNPmz9OFd1Bl5X1R8rGUdH5iMI,4226
|
||||
watchdog/utils/__pycache__/__init__.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/bricks.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/delayed_queue.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/dirsnapshot.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/echo.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/patterns.cpython-310.pyc,,
|
||||
watchdog/utils/__pycache__/platform.cpython-310.pyc,,
|
||||
watchdog/utils/bricks.py,sha256=3sFY6KlQX1U76cOOMVutZUOEGXAyloGPrrwBBGkRGso,2867
|
||||
watchdog/utils/delayed_queue.py,sha256=_pQnfTVoqSzQCEJGJm7Av_-zgYLa9FHIG2Wh1JwQLDc,2856
|
||||
watchdog/utils/dirsnapshot.py,sha256=Fqk8z2WT_S2_ZkV-o2UyT7BgI9m2CChDJSfbpFF7mSA,11818
|
||||
watchdog/utils/echo.py,sha256=yQ8PbIrcKNj4NRTV7fIT6fuXWhlx8Hb-xcwrQx0uKA4,5283
|
||||
watchdog/utils/patterns.py,sha256=A6oO2TGaUxx-Q5eaKzevlZjX9Q4YrJUuPlqkzS-yfAY,3886
|
||||
watchdog/utils/platform.py,sha256=mHXCyB4j4aTT_5pI0bO_JELXNTz4NCombVVS4y_iWUI,1497
|
||||
watchdog/version.py,sha256=A38nHc59ybRf9kHqcs2sWPGnGRSyyhAlUDK9QmYn9j0,959
|
||||
watchdog/watchmedo.py,sha256=v05nBmKDocSy3lfDUsHzM3OsDzOfFoVNX7-6unNLiBA,24646
|
5
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/WHEEL
Normal file
5
.venv/Lib/site-packages/watchdog-2.1.8.dist-info/WHEEL
Normal file
@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.37.1)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-win_amd64
|
||||
|
@ -0,0 +1,2 @@
|
||||
[console_scripts]
|
||||
watchmedo = watchdog.watchmedo:main [watchmedo]
|
@ -0,0 +1 @@
|
||||
watchdog
|
Reference in New Issue
Block a user