[build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] name = "comfy-mtb" version = "0.1.6" description = "Animation oriented nodes pack for ComfyUI." license = "MIT" readme = "README.md" # repository = "" # url = "https://github.com/melMass/comfy_mtb" authors = [{ name = "Mel Massadian", email = "mel@melmassadian.com" }] classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Intended Audience :: Developers", ] requires-python = ">=3.10" dependencies = [ "qrcode", "onnxruntime-gpu", "requirements-parserx", "rembg", "imageio_ffmpeg", "rich", "rich_argparse", "matplotlib", "pillow", ] optional-dependencies = { mel = [ "jupyterlab==4.1.6", ], dev = [ "black[jupyter]", "codespell", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-random-order", "ruff", ], doc = [ "docutils==0.17.1", "jupyter-book>=0.15", "sphinx-autobuild", ] } [project.urls] Homepage = "https://github.com/melMass/comfy_mtb" Documentation = "https://github.com/melMass/comfy_mtb/wiki" Repository = "https://github.com/melMass/comfy_mtb" Issues = "https://github.com/melMass/comfy_mtb/issues" [tool.comfy] PublisherId = "mel" DisplayName = "comfy-mtb" Icon = "https://avatars.githubusercontent.com/u/7041726?v=4" [tool.bumpversion] current_version = "0.1.6" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" serialize = ["{major}.{minor}.{patch}"] search = "{current_version}" replace = "{new_version}" regex = false ignore_missing_version = false ignore_missing_files = false tag = true sign_tags = true tag_name = "v{new_version}" tag_message = "⬆️ Bump version: {current_version} → {new_version}" allow_dirty = true commit = true message = "⬆️ Bump version: {current_version} → {new_version}" commit_args = "" [[tool.bumpversion.files]] filename = "__init__.py" search = "__version__ = \"{current_version}\"" replace = "__version__ = \"{new_version}\"" [[tool.bumpversion.files]] filename = "pyproject.toml" search = "version = \"{current_version}\"" replace = "version = \"{new_version}\"" # [[tool.bumpversion.files]] # filename = "your_package/__init__.py" # search = "__version__ = '{current_version}'" # replace = "__version__ = '{new_version}'" # INFO: All those remaining keys are meant for local dev [tool.pyright] include = ["."] exclude = [ "**/node_modules", "**/__pycache__", "src/experimental", "src/typestubs", ] ignore = ["src/oldstuff"] defineConstant = { DEBUG = true } extraPaths = ["python", "../.."] stubPath = "src/stubs" reportMissingImports = true reportMissingTypeStubs = false typeCheckingMode = "basic" pythonVersion = "3.10" pythonPlatform = "Windows" [tool.pytest.ini_options] log_level = "DEBUG" log_cli = true markers = [ "wip: tests that aren't fully finished yet", "heavy: marks tests as heavy (deselect with '-m \"not heavy\"')", ] filterwarnings = ["ignore::UserWarning", 'ignore::DeprecationWarning'] [tool.isort] profile = "black" line_length = 88 auto_identify_namespace_packages = false # NOTE: # pyright doesn't like implicit namespace + single line (related to https://github.com/microsoft/pyright/issues/2882?) but it's horible so I'll live with it force_single_line = false known_first_party = ["mtb"] extend_skip = ["archives"] combine_straight_imports = true [tool.coverage.run] parallel = true source = ["docs", "tests", "comfy-mtb"] [tool.coverage.report] fail_under = 90 show_missing = true [tool.coverage.html] show_contexts = true [tool.ruff] line-length = 79 select = ["A", "B", "C", "D", "E", "F", "FBT", "I", "N", "S", "SIM", "UP", "W"] # NOTE: # D102 - undocumented-public-method (noisy) # D103 - undocumented-public-function (noisy) # D100 - undocumented-public-module (noisy) # N802 - invalid-function-name (forced by comfy's arch) ignore = ["D103", "D102", "D100", "N802"] # exclude auto generated file extend-exclude = ["./docs/conf.py"] [tool.ruff.per-file-ignores] # imported but unused "__init__.py" = ["F401"] # use of assert detected "tests/*" = ["S101"] [tool.ruff.pydocstyle] convention = "numpy" [tool.mypy] pretty = true ignore_missing_imports = true # exclude auto generated file exclude = ["docs/conf.py"] [tool.codespell] # exclude auto generated file skip = "./docs/conf.py,poetry.lock" check-filenames = true