content: [build-system]
  requires = ["hatchling", "hatch-vcs"]
  build-backend = "hatchling.build"
  
  [project]
  name = "mne-qt-browser"
  description = "PyQtGraph-based backend for MNE-Python's raw data browser"
  readme = "README.md"
  requires-python = ">=3.10"
  license = "BSD-3-Clause"
  license-files = ["LICENSE"]
  keywords = ["science", "neuroscience", "psychology"]
  authors = [{ name = "Martin Schulz", email = "dev@mgschulz.de" }]
  classifiers = [
    "Intended Audience :: Science/Research",
    "Programming Language :: Python",
  ]
  dependencies = [
    "numpy",
    "scipy",
    "matplotlib",
    "qtpy",
    "scooby",
    "mne>=1.0",
    "pyqtgraph>=0.12.3",
    "pyopengl; platform_system=='Darwin'",
    "darkdetect",
    "qdarkstyle",
  ]
  dynamic = ["version"]
  
  [project.optional-dependencies]
  opengl = ["pyopengl"]
  tests = [
    "pytest",
    "pytest-qt",
    "pytest-cov",
    "pytest-timeout",
    "scikit-learn",
    "pytest-harvest",
    "pytest-error-for-skips",
    "sphinx-gallery",
  ]
  
  [project.urls]
  homepage = "https://mne.tools/"
  repository = "https://github.com/mne-tools/mne-qt-browser"
  changelog = "https://github.com/mne-tools/mne-qt-browser/releases"
  
  [tool.hatch.build]
  exclude = [
    "/.*",
    "/*.yml",
    "/screenshot.png",
    "/CONTRIBUTING.md",
    "/tests",
  ] # tracked by git, but we don't want to ship those files
  
  [tool.hatch.version]
  source = "vcs"
  raw-options = { version_scheme = "release-branch-semver" }
  
  [tool.pytest.ini_options]
  addopts = "-ra --cov-report= --tb=short --junit-xml=junit-results.xml --capture=sys --durations=10"
  testpaths = ["tests"]
  junit_family = "xunit2"
  filterwarnings = [
    "error",
    "ignore:Failed to disconnect.*:RuntimeWarning",
  ]
  
  [tool.ruff.lint]
  select = ["E", "F", "W", "D", "I", "UP"]
  exclude = ["__init__.py"]
  ignore = [
      "D100", # Missing docstring in public module
      "D104", # Missing docstring in public package
      "D413", # Missing blank line after last section
  ]
  
  [tool.ruff.lint.pydocstyle]
  convention = "numpy"
  