mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-03 22:55:43 +00:00 
			
		
		
		
	* Fix for useStockFields - Use default currency * Ensure default currency is observed * Specify field default * Improve import (for ty) * Update migration files - Point currency fields to the correct default method * Unit tests - Ensure stock item gets correct default currency * Cleaner generation of default currency value - Return empty string during migratoins * Update existing migrations * Reduce noise * Ignore "no-matching-overload" rule for ty * Tweak money_kwargs
		
			
				
	
	
		
			136 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
 | 
						|
[tool.ruff]
 | 
						|
exclude = [
 | 
						|
    ".git",
 | 
						|
    "__pycache__",
 | 
						|
    "test.py",
 | 
						|
    "tests",
 | 
						|
    "venv",
 | 
						|
    "env",
 | 
						|
    ".venv",
 | 
						|
    ".env",
 | 
						|
    "src/backend/plugins/*",
 | 
						|
]
 | 
						|
src = ["src/backend/InvenTree"]
 | 
						|
# line-length = 120
 | 
						|
 | 
						|
[tool.ruff.lint.extend-per-file-ignores]
 | 
						|
"__init__.py" = ["D104"]
 | 
						|
 | 
						|
[tool.ruff.lint]
 | 
						|
select = ["A", "B", "C", "C4", "D", "F", "I", "N", "SIM", "PIE", "PLE", "PLW", "RUF", "UP", "W",
 | 
						|
#"DOC201", "DOC202", # enforce return docs
 | 
						|
"DOC402","DOC403", # enforce yield docs
 | 
						|
#"DOC501","DOC502", # enforce raise
 | 
						|
]
 | 
						|
# Things that should be enabled in the future:
 | 
						|
# - LOG
 | 
						|
# - DJ # for Django stuff
 | 
						|
# - S # for security stuff (bandit)
 | 
						|
# - D401 - Imperative docstrings
 | 
						|
 | 
						|
ignore = [
 | 
						|
    "PLE1205",
 | 
						|
    # - PLE1205 - Too many arguments for logging format string
 | 
						|
    "PLW2901",
 | 
						|
    # - PLW2901 - Outer {outer_kind} variable {name} overwritten by inner {inner_kind} target
 | 
						|
    "PLW0602","PLW0603","PLW0604",  # global variable things
 | 
						|
    "RUF015",
 | 
						|
    # - RUF015 - Prefer next({iterable}) over single element slice
 | 
						|
    "RUF012",
 | 
						|
    # - RUF012 - Mutable class attributes should be annotated with typing.ClassVar
 | 
						|
    "RUF052",
 | 
						|
    # - RUF052 - Local dummy variable is accessed
 | 
						|
    "SIM117",
 | 
						|
    # - SIM117 - Use a single with statement with multiple contexts instead of nested with statements
 | 
						|
    "SIM102",
 | 
						|
    # - SIM102 - Use a single if statement instead of nested if statements
 | 
						|
    "SIM105",
 | 
						|
    # - SIM105 - Use contextlib.suppress({exception}) instead of try-except-pass
 | 
						|
    "C901",
 | 
						|
    # - C901 - function is too complex
 | 
						|
    "N999",
 | 
						|
    # - N802 - function name should be lowercase
 | 
						|
	"N802",
 | 
						|
	# - N806 - variable should be lowercase
 | 
						|
	"N806",
 | 
						|
	# - N812 - lowercase imported as non-lowercase
 | 
						|
	"N812",
 | 
						|
    # - RUF032 - decimal-from-float-literal
 | 
						|
    "RUF032",
 | 
						|
    # - RUF045 - implicit-class-var-in-dataclass
 | 
						|
    "RUF045",
 | 
						|
    # - UP045 - Use `X | None` instead of `Optional[X]`
 | 
						|
    "UP045",
 | 
						|
 | 
						|
    # TODO These should be followed up and fixed
 | 
						|
    # - B904 Within an `except` clause, raise exceptions
 | 
						|
    "B904",
 | 
						|
 | 
						|
    # Remove fast
 | 
						|
    "A002", "B018"
 | 
						|
]
 | 
						|
 | 
						|
[tool.ruff.lint.pydocstyle]
 | 
						|
convention = "google"
 | 
						|
ignore-var-parameters = true
 | 
						|
 | 
						|
[tool.ruff.lint.isort]
 | 
						|
split-on-trailing-comma = false
 | 
						|
combine-as-imports = false
 | 
						|
section-order = [
 | 
						|
    "future",
 | 
						|
    "standard-library",
 | 
						|
    "django",
 | 
						|
    "third-party",
 | 
						|
    "first-party",
 | 
						|
    "local-folder",
 | 
						|
]
 | 
						|
 | 
						|
[tool.ruff.lint.isort.sections]
 | 
						|
"django" = ["django"]
 | 
						|
 | 
						|
[tool.ruff.format]
 | 
						|
quote-style = "single"
 | 
						|
indent-style = "space"
 | 
						|
skip-magic-trailing-comma = true
 | 
						|
line-ending = "auto"
 | 
						|
 | 
						|
[tool.uv.pip]
 | 
						|
python-version = "3.9.2"
 | 
						|
no-strip-extras=true
 | 
						|
generate-hashes=true
 | 
						|
 | 
						|
[tool.ty.src]
 | 
						|
root = "src/backend/InvenTree"
 | 
						|
 | 
						|
[tool.ty.rules]
 | 
						|
unresolved-reference="ignore"  # 21 # see https://github.com/astral-sh/ty/issues/220
 | 
						|
unresolved-attribute="ignore"  # 505 # need Plugin Mixin typing
 | 
						|
call-non-callable="ignore"  # 8 ##
 | 
						|
invalid-return-type="ignore"  # 22 ##
 | 
						|
invalid-argument-type="ignore"  # 49
 | 
						|
possibly-unbound-attribute="ignore"  # 25 # https://github.com/astral-sh/ty/issues/164
 | 
						|
unknown-argument="ignore"  # 3  # need to wait for betterdjango field stubs
 | 
						|
invalid-assignment="ignore"  # 17  # need to wait for betterdjango field stubs
 | 
						|
no-matching-overload="ignore"  # 3  # need to wait for betterdjango field stubs
 | 
						|
 | 
						|
[tool.coverage.run]
 | 
						|
source = ["src/backend/InvenTree", "InvenTree"]
 | 
						|
dynamic_context = "test_function"
 | 
						|
 | 
						|
[tool.coverage.html]
 | 
						|
show_contexts = true
 | 
						|
 | 
						|
[tool.djlint]
 | 
						|
ignore = "D018,H006,H008,H020,H021,H023,H025,H030,H031,T002"
 | 
						|
 | 
						|
[tool.isort]
 | 
						|
src_paths=["src/backend/InvenTree", ]
 | 
						|
skip_glob ="*/migrations/*.py"
 | 
						|
known_django="django"
 | 
						|
sections=["FUTURE","STDLIB","DJANGO","THIRDPARTY","FIRSTPARTY","LOCALFOLDER"]
 | 
						|
 | 
						|
[tool.codespell]
 | 
						|
ignore-words-list = ["assertIn","SME","intoto","fitH"]
 |