other: Add pyroject.toml
This commit is contained in:
168
pyproject.toml
Normal file
168
pyproject.toml
Normal file
@@ -0,0 +1,168 @@
|
||||
[tool.black]
|
||||
line-length = 88
|
||||
target-version = ["py310", "py311", "py312"]
|
||||
required-version = "24.10.0"
|
||||
|
||||
[tool.codespell]
|
||||
skip = "*__pycache__*,build,dist,test,./acronyms_expander/acronyms.py,.egg-info,.git,*.po,*.pot,*.nsi,*.spec,*.svg"
|
||||
ignore-words-list = "THIRDPARTY,Toi,fpr"
|
||||
|
||||
[tool.pyright]
|
||||
pythonVersion = "3.10"
|
||||
pythonPlatform = "All"
|
||||
typeCheckingMode = "strict"
|
||||
|
||||
reportUnnecessaryTypeIgnoreComment = "error"
|
||||
reportPropertyTypeMismatch = "error"
|
||||
reportMissingModuleSource = "none"
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 88
|
||||
target-version = "py310"
|
||||
|
||||
[tool.ruff.lint]
|
||||
|
||||
select = [
|
||||
"A", # flake8-builtins
|
||||
# "AIR", # Airflow
|
||||
# "ANN", # flake8-annotations
|
||||
# "ARG", # flake8-unused-arguments
|
||||
# "ASYNC", # flake8-async
|
||||
"B", # flake8-bugbear
|
||||
"BLE", # flake8-blind-except
|
||||
"C4", # flake8-comprehensions
|
||||
"C90", # mccabe
|
||||
"COM", # flake8-commas
|
||||
# "CPY", # flake8-copyright
|
||||
# "D", # pydocstyle
|
||||
# "DJ", # flake8-django
|
||||
# "DTZ", # flake8-datetimez
|
||||
"E", # Error
|
||||
# "EM", # flake8-errmsg
|
||||
# "ERA", # eradicate
|
||||
"EXE", # flake8-executable
|
||||
"F", # Pyflakes
|
||||
"FA", # flake8-future-annotations
|
||||
# "FBT", # flake8-boolean-trap
|
||||
# "FIX", # flake8-fixme
|
||||
# "FLY", # flynt
|
||||
"G", # flake8-logging-format
|
||||
# "I", # isort
|
||||
"ICN", # flake8-import-conventions
|
||||
# "INP", # flake8-no-pep420
|
||||
"INT", # flake8-gettext
|
||||
# "ISC", # flake8-implicit-str-concat
|
||||
"N", # pep8-naming
|
||||
# "NPY", # NumPy-specific rules
|
||||
# "PD", # pandas-vet
|
||||
# "PERF", # Perflint
|
||||
"PGH", # pygrep-hooks
|
||||
"PIE", # flake8-pie
|
||||
"PL", # Pylint
|
||||
# "PT", # flake8-pytest-style
|
||||
# "PTH", # flake8-use-pathlib
|
||||
# "PYI", # flake8-pyi
|
||||
# "Q", # flake8-quotes
|
||||
# "RET", # flake8-return
|
||||
"RSE", # flake8-raise
|
||||
"RUF", # Ruff-specific rules
|
||||
"S", # flake8-bandit
|
||||
"SIM", # flake8-simplify
|
||||
# "SLF", # flake8-self
|
||||
"SLOT", # flake8-slots
|
||||
"T10", # flake8-debugger
|
||||
# "T20", # flake8-print
|
||||
# "TCH", # flake8-type-checking
|
||||
# "TD", # flake8-todos
|
||||
# "TID", # flake8-tidy-imports
|
||||
# "TRY", # tryceratops
|
||||
"UP", # pyupgrade
|
||||
"W", # Warning
|
||||
"YTT", # flake8-2020
|
||||
]
|
||||
|
||||
ignore = [
|
||||
"A003", # Class attribute is shadowing python builtin
|
||||
"B904", # Within an except clause ..
|
||||
"BLE001", # Blind except Exception: statement
|
||||
"C901", # too complex
|
||||
"COM812", # Trailing comma missing
|
||||
"FBT003", # Boolean positional value in function call
|
||||
"ICN001", # Unconventional-import-alias
|
||||
"N802", # Function name should be lower case
|
||||
"N806", # Variable should be lower case
|
||||
"N817", # CamelCase imported as acronym
|
||||
"N818", # Exception name should be named with an Error suffix
|
||||
"PGH003", # Use specific rule codes when ignoring type issues
|
||||
"PLC1901",# Expression can be simplified to x as an empty string is falsey
|
||||
"PLR0911",# Too many return statements
|
||||
"PLR0912",# Too many branches
|
||||
"PLR0913",# Too many arguments to function call
|
||||
"PLR0915",# Too many statements
|
||||
"PLR2004",# Magic value used in comparison, consider replacing x with a constant variable
|
||||
"PLR5501",# Consider using `elif` instead of `else` then `if` to remove one indentation level
|
||||
"PLW0603",# Using the global statement to update `x` is discouraged
|
||||
"PLW2901",# `for` loop variable `x` overwritten by assignment target
|
||||
"RUF001", # AmbiguousUnicodeCharacterString
|
||||
"RUF002", # AmbiguousUnicodeCharacterDocstring
|
||||
"RUF003", # AmbiguousUnicodeCharacterComment
|
||||
"RUF005", # Consider x instead of concatenation
|
||||
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
|
||||
"RUF100", # Unused `noqa` directive
|
||||
"S101", # Use of `assert` detected
|
||||
"S110", # `try`-`except`-`pass` detected, consider logging the exception
|
||||
"S301", # `pickle` and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue
|
||||
"S303", # Use of insecure MD2, MD4, MD5, or SHA1 hash function
|
||||
"S310", # Audit URL open for permitted schemes
|
||||
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes
|
||||
"S314", # Using `xml` to parse untrusted data is known to be vulnerable to XML attacks; use `defusedxml` equivalents
|
||||
"S324", # Probable use of insecure hash functions
|
||||
"S608", # Possible SQL injection vector through string-based query construction
|
||||
"SIM102", # Use a single `if` statement instead of nested `if` statements
|
||||
"SIM105", # Use `contextlib.suppress(Exception)` instead of try-except-pass
|
||||
"SIM108", # Use ternary operator
|
||||
"SIM114", # Combine `if` branches using logical `or` operator"
|
||||
"SIM115", # Use context handler for opening files
|
||||
"SIM201", # Use x instead of not x
|
||||
"SIM212", # Use `value if value else ''` instead of `'' if not value else value`
|
||||
"SIM300", # Yoda conditions are discouraged use x instead
|
||||
"UP031", # Use format specifiers instead of percent format
|
||||
"UP037", # Remove quotes from type annotation
|
||||
]
|
||||
|
||||
exclude = [
|
||||
".eggs",
|
||||
".git",
|
||||
".ruff_cache",
|
||||
".venv",
|
||||
"build",
|
||||
"dist",
|
||||
"venv",
|
||||
"*.pyi",
|
||||
# Code Folders
|
||||
"typings",
|
||||
]
|
||||
|
||||
# Allow unused variables when underscore-prefixed.
|
||||
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
||||
|
||||
[tool.ruff.lint.mccabe]
|
||||
max-complexity = 15
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
force_alphabetical_sort_within_sections = true
|
||||
force_single_line = true
|
||||
group_by_package = true
|
||||
known_typing = ["typing"]
|
||||
known_gajim = ["gajim"]
|
||||
sections = [
|
||||
"FUTURE",
|
||||
"TYPING",
|
||||
"STDLIB",
|
||||
"THIRDPARTY",
|
||||
"GAJIM",
|
||||
"FIRSTPARTY",
|
||||
"LOCALFOLDER"
|
||||
]
|
||||
skip_gitignore = true
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"pythonPlatform": "All",
|
||||
"pythonVersion": "3.10",
|
||||
"typeCheckingMode": "strict",
|
||||
"reportImportCycles": "none",
|
||||
"reportImplicitStringConcatenation": "none",
|
||||
"reportMissingModuleSource": "none",
|
||||
"exclude": [
|
||||
"**/__pycache__",
|
||||
".git",
|
||||
"openpgp",
|
||||
"pgp",
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user