@@ -15,14 +15,14 @@ authors = [
1515 { name =" object-Object" },
1616]
1717keywords = [" hexdoc" ]
18- requires-python = " >=3.11 "
18+ requires-python = " >=3.12 "
1919dynamic = [" version" , " dependencies" , " optional-dependencies" ]
2020
2121[project .urls ]
2222Homepage = " https://hexdebug.hexxy.media"
2323Source = " https://github.com/object-Object/HexDebug"
2424
25- # Gradle version/deps
25+ # project version
2626
2727[tool .hatch .version ]
2828scheme = " gradle"
@@ -31,16 +31,20 @@ py-path = "doc/src/hexdoc_hexdebug/__version__.py"
3131key = " modVersion"
3232gradle-version-regex = { regex =' ^(.+?)(-.+)?$' , repl =' \1.{minecraftVersion}\2' }
3333
34+ # Python dependencies
35+
36+ # required
3437[tool .hatch .metadata .hooks .version-catalog ]
3538dependencies = [
3639 " hexdoc>=1!0.1.0a34" ,
3740 { package =" hexdoc-hexcasting" , op =" ~=" , py-version =" 1.0" , key =" hexcasting" },
3841 { package =" hexdoc-ioticblocks" , op =" >=" , py-version =" 1.0" , key =" ioticblocks" },
3942]
4043
41- [tool .hatch .metadata .hooks .version-catalog .optional-dependencies ]
44+ # dev-only
45+ [dependency-groups ]
4246dev = [
43- " ruff~=0.13.1 " ,
47+ " ruff" ,
4448]
4549
4650# directory inclusion
@@ -58,26 +62,26 @@ artifacts = [
5862[tool .hatch .build .targets .wheel ]
5963sources = [" doc/src" ]
6064
61- # hexdoc entry points
65+ # hexdoc entry point
6266
6367[project .entry-points .hexdoc ]
6468hexdebug = " hexdoc_hexdebug._hooks:HexDebugPlugin"
6569
6670# linting/formatting
6771
6872[tool .ruff ]
73+ preview = true
6974extend-exclude = [
70- " venv" ,
75+ " **/ venv" ,
7176 " **/.*" ,
72- " **/node_modules" ,
7377 " **/__pycache__" ,
7478]
7579
7680[tool .ruff .lint ]
77- preview = true
7881extend-select = [
7982 " I" , # import sorting
8083 " RUF022" , # __all__ sorting
84+ " TID252" , # ban relative imports
8185]
8286extend-ignore = [
8387 # covered by Pyright
@@ -89,62 +93,50 @@ extend-ignore = [
8993[tool .ruff .lint .isort ]
9094combine-as-imports = true
9195
96+ [tool .ruff .lint .flake8-tidy-imports ]
97+ ban-relative-imports = " parents"
98+
99+ # type checking
100+
92101[tool .pyright ]
93- pythonVersion = " 3.11 "
102+ pythonVersion = " 3.12 "
94103pythonPlatform = " All"
95104
96105include = [" doc/src" ]
97106extraPaths = [" doc/src" ]
98- exclude = [
99- " noxfile.py" ,
100- " **/venv" ,
101- " **/.*" ,
102- " **/node_modules" ,
103- " **/__pycache__" ,
104- ]
105107
106108typeCheckingMode = " standard"
107109
108110strictDictionaryInference = true
109111strictListInference = true
110112strictSetInference = true
111113
112- reportAssertAlwaysTrue = " error"
113114reportConstantRedefinition = " error"
114- reportDeprecated = " error"
115- reportDuplicateImport = " error"
116- reportFunctionMemberAccess = " error"
117- reportIncompatibleMethodOverride = " error"
118- reportIncompatibleVariableOverride = " error"
119115reportIncompleteStub = " error"
120116reportInconsistentConstructor = " error"
121- reportInvalidStringEscapeSequence = " error"
122117reportInvalidStubStatement = " error"
123- reportInvalidTypeVarUse = " error"
124- reportMatchNotExhaustive = " error"
125- reportMissingParameterType = " error"
126- reportMissingTypeStubs = " error"
127- reportOverlappingOverload = " error"
128- reportSelfClsParameterName = " error"
129- reportTypeCommentUsage = " error"
130- reportUnknownParameterType = " error"
131- reportUnnecessaryCast = " error"
132- reportUnnecessaryContains = " error"
133- reportUnsupportedDunderAll = " error"
134- reportUntypedBaseClass = " error"
135- reportUntypedClassDecorator = " error"
136- reportUntypedFunctionDecorator = " error"
137- reportUntypedNamedTuple = " error"
138- reportWildcardImportFromLibrary = " error"
139118
119+ reportDeprecated = " warning"
120+ reportDuplicateImport = " warning"
121+ reportMatchNotExhaustive = " warning"
122+ reportMissingParameterType = " warning"
140123reportMissingTypeArgument = " warning"
124+ reportMissingTypeStubs = " warning"
141125reportPrivateUsage = " warning"
126+ reportTypeCommentUsage = " warning"
142127reportUnknownArgumentType = " warning"
143128reportUnknownLambdaType = " warning"
144129reportUnknownMemberType = " warning"
130+ reportUnknownParameterType = " warning"
145131reportUnknownVariableType = " warning"
132+ reportUnnecessaryCast = " warning"
146133reportUnnecessaryComparison = " warning"
134+ reportUnnecessaryContains = " warning"
147135reportUnnecessaryIsInstance = " warning"
136+ reportUntypedBaseClass = " warning"
137+ reportUntypedClassDecorator = " warning"
138+ reportUntypedFunctionDecorator = " warning"
139+ reportUntypedNamedTuple = " warning"
148140reportUnusedClass = " warning"
149141reportUnusedExpression = " warning"
150142reportUnusedFunction = " warning"
0 commit comments