-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (96 loc) · 3.1 KB
/
pyproject.toml
File metadata and controls
105 lines (96 loc) · 3.1 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
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
[project]
name = "physiscript"
version = "0.1.0"
description = "" # TODO: Add description
authors = [{ name = "Shai Avraham", email = "shaia1112011@gmail.com" }]
dependencies = [
"numpy>=1.26.1",
"moderngl>=5.8.2",
"pygame-ce>=2.3.2",
"loguru>=0.7.2",
"imgui>=2.0.0",
"pyopengl>=3.1.7",
"pyperclip>=1.8.2",
"imgui-bundle>=1.0.0",
"glfw>=2.6.3",
]
requires-python = ">=3.11,<3.13"
readme = "README.rst"
license = { text = "MIT" }
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: Microsoft :: Windows",
"Operating System :: MacOS",
"Operating System :: POSIX",
"Operating System :: Unix",
]
[project.urls]
Repository = "https://github.com/ShaiAvr/physiscript"
[tool.pdm]
[tool.pdm.dev-dependencies]
dev = ["pre-commit>=3.5.0", "rich>=13.6.0", "rich-argparse>=1.4.0"]
lint = ["ruff>=0.1.3"]
test = ["pytest>=7.4.3"]
docs = [
"sphinx>=7.2.6",
"sphinx-autobuild>=2021.3.14",
"sphinx-copybutton>=0.5.2",
"sphinx-autoapi>=3.0.0",
"pydata-sphinx-theme>=0.14.3",
"sphinx-toolbox>=3.5.0",
"sphinx-notfound-page>=1.0.0",
]
[tool.pdm.scripts]
manage.cmd = "python manage.py"
manage.help = "Manage the project's development"
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.ruff]
select = ["ALL"]
ignore = [
"E402", # sometimes it's necessary to run code before an import
"D1", # TODO: Remove once public API is documented
"SIM102", # Nested if is fine
"A003", # Class attributes can use builtin names
"EM", # String literals in raise is fine
"ANN101", # no need to annotate self
"ANN102", # no need to annotate cls
"ANN401", # Any is fine
"TRY003", # Fine to specify error message in raise directly
"PLR2004", # Some "magic" values are fine (For example, 3 or 4 for the number of RGB/RGBA coordinates)
"BLE", # catching Exception is fine
"COM812", # trailing comma. Doesn't work well with formatter
"TD002", # no need for author in todo
"TD003", # no need for issue in todo
"FIX", # Fine to commit todo comments
"PLW1510", # no need for explicit check argument in `subprocess.run`
"S603", # no need for warning about input validation with subprocess
"S607", # partial paths for subprocess are fine (but should be used with care)
"ISC001", # conflicts with formatter
]
ignore-init-module-imports = true
[tool.ruff.per-file-ignores]
"tests/**/*.py" = [
"S101", # ignore assert in tests
]
"docs/source/conf.py" = [
"INP", # ignore implicit namespace warning
]
"examples/**/*.py" = [
"INP", # ignore implicit namespace warning
"ANN", # no need for type annotation warnings in examples
]
[tool.ruff.lint.isort]
known-first-party = ["physiscript"]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.pytest.ini_options]
addopts = ["--import-mode=importlib"]
testpaths = ["tests"]
filterwarnings = [
"ignore::DeprecationWarning", # TODO: Fix the warnings in tests
]