@@ -7,10 +7,8 @@ license = "MIT"
77readme = " README.md"
88requires-python = " >=3.12"
99dependencies = [
10- " bids2table>=2.1.2" ,
1110 " nibabel>=5.3.3" ,
12- " niwrap>=0.8.3" ,
13- " niwrap-helper>=0.7.0" ,
11+ " niwrap>=0.8.3"
1412]
1513
1614[dependency-groups ]
@@ -27,11 +25,14 @@ docs = ["pdoc>=15.0.0"]
2725[tool .pytest .ini_options ]
2826pythonpath = [" src" ]
2927testpaths = [" tests" ]
28+ norecursedirs = [
29+ " tests/data"
30+ ]
3031markers = [
3132 " unit: Fast (<1s) unit tests (e.g. utilities, BIDS parsing, file operations)" ,
32- " integration: Medium (1-5 min) integration tests with small/downsampled data" ,
33- " slow: Long (30+ min) tests; skip on CI " ,
34- " full_pipeline: End-to-end workflow tests; skip on CI "
33+ " integration: Integration tests with real data" ,
34+ " slow: Long-running tests (manual marker on individual tests) " ,
35+ " full_pipeline: End-to-end workflow tests"
3536]
3637
3738[tool .coverage .report ]
@@ -50,39 +51,45 @@ extend-exclude = ["src/rbc/core/bids.py", "tests/unit/test_bids.py"]
5051
5152[tool .ruff .lint ]
5253select = [
53- " ANN" , # flake8-annotations
54- " ARG" , # flake8-unused-arguments
55- " B" , # flake8-bugbear
56- " C4" , # flake8-comprehensions
57- " C90" , # mccabe
58- " D" , # pydocstyle
59- " E" , # pycodestyle errors
60- " ERA" , # eradicate
61- " F" , # Pyflakes
62- " FA" , # flake8-future-annotations
63- " FBT" , # flake8-boolean-trap
64- " FURB" , # refurb
65- " I" , # isort
66- " N" , # pep8-naming
67- " NPY" , # NumPy-specific rules
68- " PD" , # pandas-vet
69- " PERF" , # Perflint
70- " PIE" , # flake8-pie
71- " PT" , # flake8-pytest-style
72- " PTH" , # flake8-use-pathlib
73- " Q" , # flake8-quotes
74- " RET" , # flake8-return
75- " RUF" , # Ruff-specific rules
76- " S" , # flake8-bandit
77- " SIM" , # flake8-simplify
78- " T20" , # flake8-print
79- " TCH" , # flake8-type-checking
80- " UP" , # pyupgrade
54+ " ANN" , # flake8-annotations
55+ " ARG" , # flake8-unused-arguments
56+ " B" , # flake8-bugbear
57+ " C4" , # flake8-comprehensions
58+ " C90" , # mccabe
59+ " D" , # pydocstyle
60+ " E" , # pycodestyle errors
61+ " ERA" , # eradicate
62+ " F" , # Pyflakes
63+ " FA" , # flake8-future-annotations
64+ " FBT" , # flake8-boolean-trap
65+ " FURB" , # refurb
66+ " I" , # isort
67+ " N" , # pep8-naming
68+ " NPY" , # NumPy-specific rules
69+ " PD" , # pandas-vet
70+ " PERF" , # Perflint
71+ " PIE" , # flake8-pie
72+ " PT" , # flake8-pytest-style
73+ " PTH" , # flake8-use-pathlib
74+ " Q" , # flake8-quotes
75+ " RET" , # flake8-return
76+ " RUF" , # Ruff-specific rules
77+ " S" , # flake8-bandit
78+ " SIM" , # flake8-simplify
79+ " T20" , # flake8-print
80+ " TID" , # flake8-tidy-imports
81+ " TCH" , # flake8-type-checking
82+ " UP" # pyupgrade
8183]
8284ignore = []
8385fixable = [" ALL" ]
8486unfixable = []
8587
88+ [tool .ruff .lint .flake8-tidy-imports .banned-api ]
89+ "bids2table.format_bids_path".msg = " Prefer rbc.core.bids.bids_path / rbc.core.bids.bids_name"
90+ "bids2table.parse_bids_entities".msg = " Prefer rbc.core.bids.parse_bids_name"
91+ "types.SimpleNamespace".msg = " Prefer NamedTuple"
92+
8693[tool .ruff .lint .pydocstyle ]
8794convention = " google"
8895
0 commit comments