forked from GuidanceOfGrace/CLASSIC-Fallout4
-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
141 lines (128 loc) · 3.72 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
[project]
name = "classic-fallout4"
version = "7.30.3"
requires-python = ">=3.12"
[tool.poetry]
name = "classic-fallout4"
version = "7.30.3"
description = "Crash Log Auto-Scanner for Buffout 4."
authors = ["Poet", "evildarkarchon", "wxMichael"]
readme = "CLASSIC - Readme.pdf"
[tool.poetry.dependencies]
python = ">=3.12,<3.13"
beautifulsoup4 = ">=4.12.3"
requests = ">=2.32.3"
ruamel-yaml = ">=0.18.6"
tomlkit = ">=0.13.2"
urllib3 = ">=2.2.3"
chardet = "^5.2.0"
aiohttp = "^3.10.10"
regex = "^2024.9.11"
iniparse = "^0.5"
pyside6 = ">=6.8.0"
typed-argument-parser = "^1.10.1"
packaging = "^24.1"
[tool.poetry.group.dev.dependencies]
mypy = "^1.12.0"
types-beautifulsoup4 = "^4.12.0.20240907"
types-regex = "^2024.9.11.20240912"
types-requests = "^2.32.0.20241016"
pyinstaller = "^6.11.0"
poetry-plugin-up = "^0.7.2"
pytest = "^8.3.3"
pytest-cov = "^5.0.0"
nuitka = "^2.4.10"
pytest-asyncio = "^0.24.0"
anyio = "^4.6.2.post1"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
enable_incomplete_feature = ["NewGenericSyntax"]
disable_error_code = [
"import-untyped",
"index", # Redundant with Pyright reportIndexIssue
"name-defined", # Redundant with Ruff F821
"operator", # Redundant with Pyright reportOperatorIssue
]
[tool.pyright]
typeCheckingMode = "standard"
reportArgumentType = false # Redundant with Mypy arg-type
reportAssignmentType = false # Redundant with Mypy assignment
reportMissingParameterType = false # Redundant with Ruff ANN001
reportReturnType = false # Redundant with Mypy return-type
reportUndefinedVariable = false # Redundant with Ruff F821
reportUnusedImport = false # Redundant with Ruff F401
[tool.ruff]
indent-width = 4
line-length = 140
[tool.ruff.format]
preview = true
indent-style = "space"
line-ending = "auto"
quote-style = "double"
skip-magic-trailing-comma = false
[tool.ruff.lint]
ignore = [
"ANN101", # Deprecated
"ANN401", # Allow use of typing.Any
"E501", # Duplicate of B950 line-too-long
"E722", # Duplicate of B001 bare-except
"PLR0904", # too-many-public-methods
"PLR0911", # too-many-return-statements
"PLR0912", # too-many-branches
"PLR0914", # too-many-local-variables
"PLR0915", # too-many-statements
"PLR1702", # too-many-nested-blocks
"TRY003", # Allow custom exception messages
"TRY400", # Use `logging.exception` instead of `logging.error`
"UP027", # Deprecated
"PLR2004", # Allow magic values in comparisons
"PLW2901", # Allow overwriting loop variables
]
extend-select = [
"A", # Builtin Shadowing
"ANN", # Type Annotations
"ASYNC", # Async Suggestions
"ARG", # Unused Arguments
"B", # Bugs/Design Problems
"BLE", # Blind Except
"C4", # Comprehensions
"FA", # Future Annotations
"FLY", # F-Strings
"FURB", # Modernization
"I", # Import Sorting
"ICN", # Import Naming Conventions
"ISC", # Implicit String Concatenation
"LOG", # Logging
"PERF", # Performance Anti-Patterns
"PIE", # Misc Lints
"PL", # Pylint
"PT", # PyTest
"PTH", # Prefer Pathlib
"RET", # Return
"RSE", # Raise
"RUF", # Ruff
"SIM", # Simplify
"SLF", # Self
"TCH", # Type Checking
"TID", # Tidy Imports
"TRY", # Exception Anti-Patterns
"UP", # pyupgrade (New Syntax Suggestions)
# "D", # pydocstyle
# "C901", # Complex Structures
# "COM", # Commas
# "DTZ", # Unsafe/Naive Datetimes
# "EM", # Exception Messages
# "FBT", # Boolean Traps
# "G", # Logging Formatting
# "N", # PEP8 Naming Conventions
# "PGH", # PyGrep Hooks
# "PYI", # Stub Files
# "Q", # Quotes
# "S", # Security Testing
]
[tool.coverage.run]
source = ["."]
[tool.pytest.ini_options]
addopts = "--cov --cov-report=lcov:lcov.info --cov-report=term"