1+ [build-system ]
2+ requires = [" scikit-build-core>=0.10" , " pybind11" ]
3+ build-backend = " scikit_build_core.build"
4+
5+
6+ [project ]
7+ name = " libcachesim"
8+ version = " 0.0.1"
9+ description =" Python bindings for libCacheSim"
10+ readme = " README.md"
11+ requires-python = " >=3.9"
12+
13+ [project .optional-dependencies ]
14+ test = [" pytest" ]
15+
16+
17+ [tool .scikit-build ]
18+ wheel.expand-macos-universal-tags = true
19+ minimum-version = " build-system.requires"
20+
21+
22+ [tool .pytest .ini_options ]
23+ minversion = " 8.0"
24+ addopts = [" -ra" , " --showlocals" , " --strict-markers" , " --strict-config" ]
25+ xfail_strict = true
26+ log_cli_level = " INFO"
27+ filterwarnings = [
28+ " error" ,
29+ " ignore::pytest.PytestCacheWarning" ,
30+ ]
31+ testpaths = [" tests" ]
32+
33+
34+ [tool .cibuildwheel ]
35+ build-frontend = " build[uv]"
36+ test-command = " pytest {project}/tests"
37+ test-extras = [" test" ]
38+
39+ [tool .cibuildwheel .pyodide ]
40+ build-frontend = {name = " build" , args = [" --exports" , " whole_archive" ]}
41+
42+ [tool .ruff .lint ]
43+ extend-select = [
44+ " B" , # flake8-bugbear
45+ " I" , # isort
46+ " ARG" , # flake8-unused-arguments
47+ " C4" , # flake8-comprehensions
48+ " EM" , # flake8-errmsg
49+ " ICN" , # flake8-import-conventions
50+ " G" , # flake8-logging-format
51+ " PGH" , # pygrep-hooks
52+ " PIE" , # flake8-pie
53+ " PL" , # pylint
54+ " PT" , # flake8-pytest-style
55+ " PTH" , # flake8-use-pathlib
56+ " RET" , # flake8-return
57+ " RUF" , # Ruff-specific
58+ " SIM" , # flake8-simplify
59+ " T20" , # flake8-print
60+ " UP" , # pyupgrade
61+ " YTT" , # flake8-2020
62+ " EXE" , # flake8-executable
63+ " NPY" , # NumPy specific rules
64+ " PD" , # pandas-vet
65+ ]
66+ ignore = [
67+ " PLR09" , # Too many X
68+ " PLR2004" , # Magic comparison
69+ ]
70+ isort.required-imports = [" from __future__ import annotations" ]
71+
72+ [tool .ruff .lint .per-file-ignores ]
73+ "tests/**" = [" T20" ]
0 commit comments