[project] name = "majoor-assetsmanager" description = "Majoor Assets Manager is an advanced asset browser for ComfyUI that provides a comprehensive solution for managing, organizing, and viewing your generated assets. It integrates directly into ComfyUI, offering features like full-text search, metadata extraction, rating and tagging systems, and advanced viewing capabilities." version = "2.5.1" requires-python = ">=3.10, <3.14" license = {file = "LICENSE"} authors = [ { name = "MajoorWaldi" }, ] # classifiers = [ # # For OS-independent nodes (works on all operating systems) # "Operating System :: OS Independent", # # # OR for OS-specific nodes, specify the supported systems: # "Operating System :: Microsoft :: Windows", # Windows specific # "Operating System :: POSIX :: Linux", # Linux specific # "Operating System :: MacOS", # macOS specific # # # GPU Accelerator support. Pick the ones that are supported by your extension. # "Environment :: GPU :: NVIDIA CUDA", # NVIDIA CUDA support # "Environment :: GPU :: AMD ROCm", # AMD ROCm support # "Environment :: GPU :: Intel Arc", # Intel Arc support # "Environment :: NPU :: Huawei Ascend", # Huawei Ascend support # "Environment :: GPU :: Apple Metal", # Apple Metal support # ] dependencies = [ "aiohttp>=3.8.0,<4.0.0", "aiosqlite>=0.20.0,<1.0.0", "numpy>=1.24,<3.0.0", "pillow>=10.0.0,<13.0.0", "av>=12.0.0,<18.0.0", "hachoir>=3.3.0,<4.0.0", "send2trash>=1.8.0,<3.0.0", "watchdog>=3.0.0,<7.0.0", "pywin32>=300,<313; sys_platform == 'win32'", "blake3>=0.4.0,<2.0.0", # Note: tkinter is required for native folder browser functionality # tkinter is included in standard Python distribution but may be missing in minimal installs ] [project.optional-dependencies] vector = [ "sentence-transformers>=2.2.0,<7.0.0", "transformers>=4.44.0,<6.0.0", "huggingface-hub>=0.24.0,<2.0.0", "safetensors>=0.4.0,<1.0.0", "protobuf>=3.20.0,<8.0.0", "timm>=0.9.0,<2.0.0", "einops>=0.7.0,<1.0.0", "sentencepiece>=0.1.99,<1.0.0", "opencv-python-headless>=4.8.0,<6.0.0", "faiss-cpu>=1.7.0,<2.0.0", "scikit-learn>=1.3.0,<2.0.0", ] dev = [ "pytest>=8.0.0,<10.0.0", "pytest-asyncio>=0.22.0,<2.0.0", "pytest-cov>=6.0.0,<8.0.0", "pytest-timeout>=2.3.0,<3.0.0", "pre-commit>=4.3.0,<5.0.0", "radon>=6.0.1,<7.0.0", "xenon>=0.9.3,<1.0.0", "ruff>=0.12.0,<1.0.0", "mypy>=1.11.0,<3.0.0", "pip-audit>=2.9.0,<3.0.0", "bandit>=1.8.0,<2.0.0", ] [project.urls] Homepage = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager" Repository = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager" # Used by Comfy Registry https://registry.comfy.org Documentation = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/blob/main/user_guide.html" "Bug Tracker" = "https://github.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/issues" [tool.setuptools.packages.find] where = ["."] include = ["mjr_am_shared*", "mjr_am_backend*"] exclude = ["ui*", "dist*", "vendor*", "plugins*", "ressources*"] # -------------------------------------------------------------------------- # ComfyUI-Manager v4 / Comfy Registry metadata. # Allows the Manager to discover the extension's web assets, custom nodes, # and project URLs without parsing the runtime module. # See: https://github.com/Comfy-Org/ComfyUI-Manager (manager-v4) # -------------------------------------------------------------------------- [tool.comfy] PublisherId = "majoor-waldi" DisplayName = "ComfyUI-Majoor-AssetsManager" Icon = "https://raw.githubusercontent.com/MajoorWaldi/ComfyUI-Majoor-AssetsManager/main/ressources/icon.png" WebDirectory = "dist" includes = ["dist/", "locales/", "example_workflows/"] "requires-comfyui" = ">=0.13.0" [tool.black] line-length = 100 target-version = ["py310", "py311", "py312", "py313"] include = '\.pyi?$' [tool.ruff] line-length = 100 target-version = "py310" src = ["mjr_am_backend", "mjr_am_shared", "tests"] respect-gitignore = false exclude = [ ".git", ".mypy_cache", ".mypy_cache_tmp", ".ruff_cache", "build", "majoor_assetsmanager.egg-info", "node_modules", "plugins", ] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "S"] ignore = ["E501", "S105", "S110", "S112", "S311", "S603", "S607", "S608"] [tool.ruff.lint.per-file-ignores] "scripts/junit_to_html.py" = ["S314"] "tests/**/*.py" = ["S101", "S108", "S605"] # security.py is the single import point that re-exports from sub-modules; # ruff would otherwise trim those re-exports as unused. "mjr_am_backend/routes/core/security.py" = ["F401"]