Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
65 lines (56 loc) · 1.68 KB
/
Copy pathpyproject.toml
File metadata and controls
65 lines (56 loc) · 1.68 KB
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
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2026 sp00ktober
# Workspace root, not a package: every package under packages/ and apps/ is a member.
[tool.uv.workspace]
members = ["packages/*", "apps/*"]
[dependency-groups]
dev = [
"pytest>=8",
"pytest-asyncio>=1",
"pre-commit>=4",
"mypy>=1.18",
"types-psutil",
"lupa>=2",
"mhp-formats[iso]",
"unicorn>=2.1.4",
]
# the studio's Qt tests; CI leaves it out (no display, no Qt system libraries there)
qt = ["pytest-qt>=4.5"]
# bpy stubs for mypy, at the extension's minimum Blender API
blender = ["fake-bpy-module-4-2"]
[tool.uv]
default-groups = ["dev", "qt", "blender"]
[tool.uv.sources]
mhp-formats = { workspace = true }
mhfu = { workspace = true }
mhfu-port = { workspace = true }
ppsspp-debug = { workspace = true }
mhfu-studio = { workspace = true }
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "W", "F", "I", "UP", "B"]
[tool.pytest.ini_options]
testpaths = ["packages", "apps", "framework"]
addopts = ["-ra", "--strict-markers", "--import-mode=importlib", "-p", "pytester"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.mypy]
strict = true
python_version = "3.11"
# the bpy stubs use 3.12 generics, which only the native parser reads at python_version 3.11
native_parser = true
files = [
"packages/ppsspp-debug/src",
"packages/mhp-formats/src",
"packages/mhfu/src",
"packages/mhfu-port/src",
"apps/studio/src",
"apps/hud/src",
"apps/blender/src",
"apps/blender/build.py",
]
[[tool.mypy.overrides]]
module = ["mhef.*", "pycdlib.*", "elftools.*", "qtawesome.*", "NodeGraphQt.*"]
ignore_missing_imports = true