# WARNING: This file is used only for development done on this addon. # Be aware that dependencies used here might not match the ones used by # the specific addon bundle set up on the AYON server. This file should # be used only for local development and CI/CD purposes. [tool.poetry] name = "ayon-core" version = "1.1.5+dev" description = "" authors = ["Ynput Team "] readme = "README.md" package-mode = false [tool.poetry.dependencies] python = ">=3.9.1,<3.10" [tool.poetry.group.dev.dependencies] # test dependencies pytest = "^8.0" pytest-print = "^1.0" ayon-python-api = "^1.0" # linting dependencies ruff = "^0.3.3" pre-commit = "^3.6.2" codespell = "^2.2.6" semver = "^3.0.2" mock = "^5.0.0" attrs = "^25.0.0" pyblish-base = "^1.8.7" clique = "^2.0.0" opentimelineio = "^0.17.0" [tool.ruff] # Exclude a variety of commonly ignored directories. exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".ipynb_checkpoints", ".mypy_cache", ".nox", ".pants.d", ".pyenv", ".pytest_cache", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", ".vscode", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "site-packages", "venv", "vendor", "generated", ] # Same as Black. line-length = 79 indent-width = 4 # Assume Python 3.9 target-version = "py39" [tool.ruff.lint] # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. select = ["E", "F", "W"] ignore = [] # Allow fix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] unfixable = [] # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" exclude = [ "client/ayon_core/modules/click_wrap.py", "client/ayon_core/scripts/slates/__init__.py" ] [tool.ruff.lint.per-file-ignores] "client/ayon_core/lib/__init__.py" = ["E402"] [tool.ruff.format] # Like Black, use double quotes for strings. quote-style = "double" # Like Black, indent with spaces, rather than tabs. indent-style = "space" # Like Black, respect magic trailing commas. skip-magic-trailing-comma = false # Like Black, automatically detect the appropriate line ending. line-ending = "auto" [tool.codespell] # Ignore words that are not in the dictionary. ignore-words-list = "ayon,ynput,parms,parm,hda,developpement" # Ignore lines that contain this regex. This is hack for missing inline ignore. # Remove with next codespell release (>2.2.6) ignore-regex = ".*codespell:ignore.*" skip = "./.*,./package/*,*/vendor/*,*/unreal/integration/*,*/aftereffects/api/extension/js/libs/*" count = true quiet-level = 3 [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] log_cli = true log_cli_level = "INFO" addopts = "-ra -q" testpaths = [ "client/ayon_core/tests" ]