* fix(monitor): keep watchdog threads from holding the exit (#561) watchdog 7.0.0 on Windows starts a plain threading.Thread per watch for its ReadDirectoryChangesW reader (DirectoryChangeReader.start). Created from ComfyUI's main thread it is not a daemon, and the interpreter joins every non-daemon thread before it runs any atexit callback, so the package teardown that would stop the observer never ran and the process never exited. Start the observer from a short-lived daemon thread, so every thread it creates inherits the daemon flag. Run observer.stop(), which joins the emitters without a limit, on a daemon thread and wait for it only until the stop deadline; a later stop waits for the same call. Lift the watchdog<7 cap. Closes #561 * test(exit): exempt watchdog 7's process-wide inotify reader (#561) watchdog 7 on Linux reads every inotify watch through one InotifyFD daemon thread per process that no observer stop ends, by design. The exit and package tests counted every watchdog BaseThread as the package's, so the singleton failed them once the cap was lifted. Exclude it, and require instead that no non-daemon thread is left at exit.
28 lines
835 B
TOML
28 lines
835 B
TOML
[project]
|
|
name = "promptmanager"
|
|
description = "A powerful ComfyUI custom node that extends the standard text encoder with persistent prompt storage, advanced search capabilities, and an automatic image gallery system using SQLite."
|
|
version = "3.4.1"
|
|
license = {file = "LICENSE"}
|
|
requires-python = ">=3.12"
|
|
dependencies = ["watchdog>=2.1.0", "Pillow>=8.0.0"]
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=84.2.1"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/ComfyAssets/ComfyUI_PromptManager"
|
|
# Used by Comfy Registry https://comfyregistry.org
|
|
|
|
[tool.comfy]
|
|
PublisherId = "kiko9"
|
|
DisplayName = "ComfyUI_PromptManager"
|
|
Icon = "https://avatars.githubusercontent.com/u/213204677?s=200"
|
|
|
|
[tool.black]
|
|
line-length = 88
|
|
target-version = ["py310"]
|
|
|
|
[tool.bandit]
|
|
exclude_dirs = ["tests", "reference"]
|