pyproject.toml (175 lines of code) (raw):

#Licensed to the Apache Software Foundation (ASF) under one or more #contributor license agreements. See the NOTICE file distributed with #this work for additional information regarding copyright ownership. #The ASF licenses this file to You under the Apache License, Version 2.0 #(the "License"); you may not use this file except in compliance with #the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # #Unless required by applicable law or agreed to in writing, software #distributed under the License is distributed on an "AS IS" BASIS, #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #See the License for the specific language governing permissions and #limitations under the License. [project] name = "apache-ambari" description = "Apache Ambari is a tool for provisioning, managing, and monitoring Apache Hadoop clusters" readme = "README.md" requires-python = "~=3.6" license = { file="LICENSE.txt" } authors = [ { name = "Apache Software Foundation", email = "dev@ambari.apache.org" }, ] [project.urls] homepage = "https://ambari.apache.org/" documentation = "https://ambari.apache.org/" [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", "ambari-web", "ambari-admin", "ambari-views", "ambari-utility", "ambari-server-spi", "contrib", "docs", "target" ] # Same as Black. line-length = 88 indent-width = 2 # Assume Python 3.6 target-version = "py37" [tool.ruff.lint] # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. # Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or # McCabe complexity (`C901`) by default. select = [ "B904", "E4", "E7", "E9", "F", "PT009", "TRY201", ] ignore = [ # Unused "F401", # Module imported but unused "F504", # % format unused named arguments "F522", # .format(...) unused named arguments "F523", # .format(...) unused positional arguments "F841", # Local variable name is assigned to but never used # Undefined "F402", # Import shadowed by loop variable "F403", # 'from module import *' used; unable to detect undefined names "F405", # Name may be undefined, or defined from star imports "F406", # 'from module import *' only allowed at module level "F407", # An undefined __future__ feature name was imported "F821", # Undefined name "F822", # Undefined name in __all__ "F823", # Local variable name referenced before assignment "F842", # Local variable name is assigned to but never used or is a loop variable # Assert "PT009", # Use a regular `assert` instead of unittest-style `assertEqual` #None "E711", # Comparison to `None` should be `cond is None` # Comparison "E712", # Comparison to `True` should be `if cond is True:` or `if cond:` # Unused "F4", # Import-related errors "F8", # Name redefinition warnings # Undefined "F4", # Import-related errors (already included above, but listed here for clarity) "F8", # Name redefinition warnings (already included above, but listed here for clarity) # Assert "PT", # pytest-related rules # Comparison "E7", # Statement-related rules # Import sorting and formatting "I", # isort-related rules # Module level import not at top of file "E4", # Import-related rules # Exception handling "B9", # flake8-bugbear rules # Try-except "TRY", # tryceratops rules # Lambda expressions "E7", # Statement-related rules (already included above, but listed here for clarity) # Specific rule for exception chaining "B904", # Raise exceptions with `raise ... from err` or `raise ... from None` "F901", # raise NotImplemented should be raise NotImplementedError "F632", # Use == or != to compare constant literals "F601", # Dictionary key literal repeated "F524", # .format call is missing argument(s) for placeholder(s) "TRY201", # Use raise without specifying exception name ] extend-select = ["I"] # 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]+?))$" [tool.ruff.lint.isort] case-sensitive = false combine-as-imports = true force-sort-within-sections = false known-first-party = [] known-third-party = [] lines-after-imports = -1 order-by-type = false section-order = [ "future", "standard-library", "third-party", "first-party", "local-folder" ] [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" # Enable auto-formatting of code examples in docstrings. Markdown, # reStructuredText code/literal blocks and doctests are all supported. # # This is currently disabled by default, but it is planned for this # to be opt-out in the future. docstring-code-format = false # Set the line length limit used when formatting code snippets in # docstrings. # # This only has an effect when the `docstring-code-format` setting is # enabled. docstring-code-line-length = "dynamic"