[tool.poetry] name = "comfy-mtb" version = "0.4.0" description = "Animation oriented nodes pack for ComfyUI." license = "MIT" readme = "README.md" repository = "https://github.com/melMass/comfy_mtb" authors = ["Mel Massadian"] packages = [{ include = "comfy-mtb" }] 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", ] [tool.poetry.urls] "Bug Tracker" = "https://github.com/melMass/comfy_mtb/issues" "Changelog" = "https://github.com/melMass/comfy_mtb/releases" [tool.poetry.dependencies] python = "^3.10" [tool.poetry.group.dev.dependencies] black = { extras = ["jupyter"], version = "^23.7.0" } codespell = "^2.2.5" mypy = "^1.5.1" pre-commit = "^3.3.3" pytest = "^7.4.0" pytest-cov = "^4.1.0" pytest-random-order = "^1.1.0" ruff = "^0.0.285" [tool.poetry.group.docs] optional = true [tool.poetry.group.docs.dependencies] docutils = "0.17.1" jupyter-book = "^0.15.1" sphinx-autobuild = "^2021.3.14" [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 [tool.poetry-version-plugin] source = "git-tag" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"