https://github.com/poldracklab/mriqc
Tip revision: e6dfba1f0c793bbf8fa69cb28acc4cee87b25bd3 authored by Oscar Esteban on 03 March 2023, 22:41:54 UTC
rel(23.0.0rc1): update CHANGES
rel(23.0.0rc1): update CHANGES
Tip revision: e6dfba1
pyproject.toml
[build-system]
requires = ["hatchling", "hatch-vcs", "nipreps-versions"]
build-backend = "hatchling.build"
[project]
name = "mriqc"
description = "Automated Quality Control and visual reports for Quality Assessment of structural (T1w, T2w) and functional MRI of the brain."
readme = "README.rst"
authors = [{name = "The NiPreps Developers", email = "nipreps@gmail.com"}]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Image Recognition",
"Topic :: Scientific/Engineering :: Bio-Informatics",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10"
]
license = "Apache-2.0"
requires-python = ">=3.8"
dependencies = [
'importlib_resources; python_version < "3.9"',
# jinja2 imports deprecated function removed in 2.1
"markupsafe ~= 2.0.1",
"matplotlib",
"migas",
"mriqc-learn",
"nibabel >= 3.0.1,<4.0",
"nilearn >= 0.5.1",
"nipype ~= 1.4",
"nireports >= 0.2.0",
"nitransforms >= 21.0.1",
"niworkflows ~= 1.7.1",
"numpy ~=1.20",
"pandas ~=1.0",
"pybids >= 0.15.6",
"PyYAML",
"scipy ~=1.8",
"statsmodels",
"toml",
"torch >= 1.10.2",
]
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/nipreps/mriqc"
NiPreps = "https://www.nipreps.org/"
Documentation = "https://mriqc.readthedocs.io/"
Manuscript = "https://doi.org/10.1371/journal.pone.0184661"
"Sci Dat Paper" = "https://doi.org/10.1038/s41597-019-0035-4"
"Web API" = "https://mriqc.nimh.nih.gov/"
"Docker Images" = "https://hub.docker.com/r/nipreps/mriqc/tags/"
[project.optional-dependencies]
doc = [
"nipype",
"packaging",
"pydot>=1.2.3",
"pydotplus",
"sphinx-argparse",
"sphinx_rtd_theme",
"sphinx~=4.0",
]
full = [
"dipy<=1.4.0", # see nipreps/mriqc#969; can be removed if nipype>1.7.0
"nitime",
"nirodents >= 0.2.8",
"scikit-learn ~= 1.0",
"seaborn",
"templateflow",
"xvfbwrapper",
]
notebook = [
"ipython",
"jupyter",
"nipy",
]
dev = [
"black ~= 22.3.0",
"pre-commit",
"isort ~= 5.10.1",
"flake8-pyproject",
]
test = [
"coverage",
"mock",
"pytest",
"pytest-cov",
"pytest-xdist",
]
other = [
"scikit-image",
]
# Aliases
docs = ["mriqc[doc]"]
tests = ["mriqc[test]"]
others = ["mriqc[other]"]
all = ["mriqc[doc,full,test,notebook,other]"]
[project.scripts]
mriqc = "mriqc.cli.run:main"
synthstrip = "mriqc.synthstrip.cli:main"
mriqc_plot = "mriqc.bin.mriqc_plot:main"
abide2bids = "mriqc.bin.abide2bids:main"
fs2gif = "mriqc.bin.fs2gif:main"
dfcheck = "mriqc.bin.dfcheck:main"
nib-hash = "mriqc.bin.nib_hash:main"
participants = "mriqc.bin.subject_wrangler:main"
mriqc_labeler = "mriqc.bin.labeler:main"
mriqcwebapi_test = "mriqc.bin.mriqcwebapi_test:main"
#
# Hatch configurations
#
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.sdist]
exclude = [".git_archival.txt"] # No longer needed in sdist
[tool.hatch.build.targets.wheel]
packages = ["mriqc"]
# exclude = [
# "mriqc/tests/data", # Large test data directory
# ]
## The following two sections configure setuptools_scm in the hatch way
[tool.hatch.version]
validate-bump = true
source = "vcs"
raw-options = { version_scheme = "nipreps-calver" }
[tool.hatch.build.hooks.vcs]
version-file = "mriqc/_version.py"
#
# Developer tool configurations
#
[tool.black]
line-length = 99
target-version = ['py39']
skip-string-normalization = true
exclude = '''
# Directories
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| venv
| _build
| build
| dist
)/
'''
[tool.isort]
profile = 'black'
skip_gitignore = true
[tool.flake8]
max-line-length = "99"
doctests = "False"
exclude = "*build/"
ignore = ["W503", "E203"]
per-file-ignores = [
"**/__init__.py : F401",
"docs/conf.py : E265",
]
[tool.pytest.ini_options]
norecursedirs = [".git"]
addopts = "-svx --doctest-modules"
doctest_optionflags = "ALLOW_UNICODE NORMALIZE_WHITESPACE ELLIPSIS"
env = "PYTHONHASHSEED=0"
filterwarnings = ["ignore::DeprecationWarning"]
junit_family = "xunit2"
[tool.coverage.run]
branch = true
omit = [
'*/tests/*',
'*/__init__.py',
'*/conftest.py',
'mriqc/_version.py'
]
[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_lines = [
'raise NotImplementedError',
'warnings\.warn',
]