ruff.toml•1.53 kB
# Ruff configuration
# See https://docs.astral.sh/ruff/configuration/
# Exclude common directories
extend-exclude = [
".venv",
"venv",
"dist",
"build",
"*.egg-info",
"__pycache__",
".pytest_cache",
".ruff_cache",
"htmlcov",
"site",
]
# Target Python 3.11+
target-version = "py311"
# Line length
line-length = 100
[lint]
# Enable specific rule sets
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"N", # pep8-naming
"UP", # pyupgrade
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"SIM", # flake8-simplify
"RUF", # Ruff-specific rules
]
# Ignore specific rules
ignore = [
"E501", # Line too long (handled by formatter)
"B008", # Do not perform function call in argument defaults (common in FastAPI/FastMCP)
"B904", # Within an except clause, raise exceptions with from err
"SIM108", # Use ternary operator (sometimes less readable)
"N813", # Camelcase imported as lowercase (MetaTrader5 as mt5 is standard)
]
# Allow autofix for all enabled rules
fixable = ["ALL"]
unfixable = []
# Allow unused variables when underscore-prefixed
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[format]
# Use double quotes for strings
quote-style = "double"
# Indent with spaces
indent-style = "space"
# Respect magic trailing commas
skip-magic-trailing-comma = false
# Format docstrings
docstring-code-format = true
docstring-code-line-length = 80