[build-system]
requires = ["hatchling", "hatch-vcs", "nipreps-versions"]
build-backend = "hatchling.build"

[project]
name = "fmriprep-docker"
description = "A wrapper for generating Docker commands using regular fMRIPrep syntax"
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",
    "License :: OSI Approved :: Apache Software License",
    "License :: OSI Approved :: BSD License",
    "Programming Language :: Python :: 2.7",
    "Programming Language :: Python :: 3.5",
    "Programming Language :: Python :: 3.6",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
]
license = {file = "LICENSE"}
requires-python = ">=2.7"
dependencies = []
dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/nipreps/fmriprep"
Documentation = "https://fmriprep.org"
Paper = "https://doi.org/10.1038/s41592-018-0235-4"
"Docker Images" = "https://hub.docker.com/r/nipreps/fmriprep/tags/"
NiPreps = "https://www.nipreps.org/"

[project.scripts]
fmriprep-docker = "fmriprep_docker.__main__:main"

#
# Build tool configurations
#

[tool.hatch.build.targets.wheel]
packages = ["src/fmriprep_docker"]

[tool.hatch.version]
source = "vcs"
raw-options = { version_scheme = "nipreps-calver", root = ".." }

[tool.hatch.build.hooks.vcs]
version-file = "src/fmriprep_docker/_version.py"
template = """\
# file generated by setuptools_scm
# don't change, don't track in version control
__version__ = version = {version!r}
__version_tuple__ = version_tuple = {version_tuple!r}
"""

[tool.distutils.bdist_wheel]
universal = true

#
# Developer tool configurations
#

# Disable black
[tool.black]
exclude = ".*"

[tool.ruff]
line-length = 99

[tool.ruff.lint]
extend-select = [
  "F",
  "E",
  "W",
  "I",
  "YTT",
  "BLE",
  "B",
  "A",
  # "CPY",
  "C4",
  "DTZ",
  "T10",
  # "EM",
  "EXE",
  "FA",
  "ISC",
  "ICN",
  "PT",
  "Q",
]
ignore = [
  "S311",  # We are not using random for cryptographic purposes
]

[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"

[tool.ruff.lint.extend-per-file-ignores]
"*/test_*.py" = ["S101"]
"fmriprep/utils/debug.py" = ["A002", "T100"]
"docs/conf.py" = ["A001"]

[tool.ruff.format]
quote-style = "single"
