-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
134 lines (126 loc) · 3.6 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
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "line-profiler-gui"
description = "A Qt GUI to run and display line by line profiling data using line_profiler"
readme = "README.rst"
license = { text = "MIT" }
dynamic = ["version"]
requires-python = ">=3.8"
dependencies = ["line-profiler", "pyside6"]
authors = [
{ name = "Joseph Martinot-Lagarde", email = "contrebasse+pypi@gmail.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: MacOS X",
"Environment :: Win32 (MS Windows)",
"Environment :: X11 Applications :: Qt",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Software Development",
"Topic :: System :: Benchmark",
"Topic :: Utilities",
]
keywords = ["profiling", "profiler", "line_profiler", "gui", "Qt"]
[project.urls]
Homepage = "https://pypi.org/project/line-profiler-gui/"
Documentation = "https://github.com/Nodd/lineprofilergui/blob/master/README.rst"
Tracker = "https://github.com/Nodd/lineprofilergui/issues"
Source = "https://github.com/Nodd/lineprofilergui"
[project.optional-dependencies]
test = ["pytest", "pytest-qt", "pytest-cov"]
dev = ["ruff>=0.0.273", "black>=23"]
[project.gui-scripts]
lineprofilergui = "lineprofilergui.main:main"
[tool.setuptools]
license-files = ["LICENSE.txt"]
include-package-data = false
[tool.setuptools.dynamic.version]
attr = "lineprofilergui.__version__"
[tool.pytest.ini_options]
minversion = "6.0"
pythonpath = "src" # Pytest >= 7.0, otherwise use PYTHONPATH=src pytest
testpaths = ["tests"]
addopts = "--cov lineprofilergui"
# TODO: test with pyside too (use PYTEST_QT_API=pyside2 environment variable ?)
qt_api = "pyside6"
[tool.ruff]
src = ["src", "tests"]
exclude = ["example"]
select = [
"F",
"E",
"W",
"C90",
"I",
"N",
"D",
"UP",
"YTT",
# "ANN", # Missing type annotations
"ASYNC",
"S",
"BLE",
# "FBT", # Boolean traps
"B",
"A",
"COM",
"C4",
"DTZ",
"T10",
"DJ",
"EM",
"EXE",
"FA",
"ISC",
"ICN",
"G",
"INP",
"PIE",
"T20",
"PYI",
"PT",
"Q",
"RSE",
"RET",
"SLF",
"SIM",
"TID",
"TCH",
"INT",
"ARG",
# "PTH", # Use pathlib
# "TD", # TODOs
# "ERA", # Found commented-out code
# "PD", # Pandas
"PGH",
"PL",
"TRY",
"FLY",
# "NPY", # Numpy
"RUF",
]
ignore = [
"ARG002", # Unused method argument
"COM812", # Trailing comma missing
"D1", # Missing docstring
"D203", # one-blank-line-before-class incompatible with no-blank-line-before-class
"D213", # multi-line-summary-second-line incompatible with multi-line-summary-first-line
"DTZ005", # The use of `datetime.datetime.now()` without `tz` argument is not allowed
"E501", # Line too long
"EM101", # Exception must not use a string literal, assign to variable first
"EM102", # Exception must not use an f-string literal, assign to variable first
"N802", # Function name should be lowercase
"N806", # Variable in function should be lowercase
"PLR2004", # Magic value used in comparison, consider replacing with a constant variable
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
"S101", # Use of `assert` detected
]