content: [project]
  name = "neosr"
  version = "1.0.0"
  description = "neosr is an open-source framework for training super-resolution models. It provides a comprehensive and reproducible environment for achieving state-of-the-art image restoration results, making it suitable for both the enthusiastic community, professionals and machine learning academic researchers. It serves as a versatile platform and aims to bridge the gap between practical application and academic research in the field."
  readme = "readme.md"
  requires-python = ">=3.12,<3.13"
  keywords = [
    "neosr", "super-resolution", "machine-learning", "image-restoration"
  ]
  authors = [{ name = "neosr-project", email = "132400428+neosr-project@users.noreply.github.com" }]
  classifiers = [
      "License :: OSI Approved :: Apache Software License",
      "Programming Language :: Python :: 3.12",
  ]
  
  dependencies = [
      "einops>=0.8.1",
      "lmdb>=1.6.2",
      "numpy>=2.2.4",
      "onnx>=1.17.0",
      "onnxconverter-common>=1.14.0",
      "onnxruntime-gpu>=1.21.0",
      "opencv-python-headless>=4.11.0.86",
      "pywavelets>=1.8.0",
      "scipy>=1.15.2",
      "tb-nightly>=2.20.0a",
      "torch>=2.6",
      "torchvision>=0.21",
      "tqdm>=4.67.1",
      "triton>=3.2.0; sys_platform == 'linux'",
  ]
  
  [project.urls]
  Repository = "https://github.com/neosr-project/neosr"
  Documentation = "https://github.com/neosr-project/neosr/wiki"
  
  [tool.uv]
  package = false
  preview = true
  environments = [
      "sys_platform == 'win32'",
      "sys_platform == 'linux'",
  ]
  
  [tool.uv.sources]
  torch = { index = "pytorch" }
  torchvision = { index = "pytorch" }
  
  [[tool.uv.index]]
  name = "pytorch"
  url = "https://download.pytorch.org/whl/cu126"
  explicit = true
  
  [tool.ruff]
  lint.select = ["ALL"]
  lint.fixable = ["ALL"]
  lint.ignore = [
      "ANN",
      "B904",
      "C90",
      "COM812",
      "CPY",
      "D",
      "DOC",
      "ERA001",
      "E501",
      "E722",
      "E741",
      "FIX",
      "FBT001",
      "FBT002",
      "G004",
      "ISC001",
      "N8",
      "PLR",
      "PLC0206",
      "PGH003",
      "S101",
      "S110",
      "S311",
      "S403",
      "SLF001",
      "T201",
      "TD",
  ]
  exclude = ["*_arch.py", ".venv/*"]
  preview = true
  
  [tool.ruff.format]
  skip-magic-trailing-comma = true
  line-ending = "lf"
  quote-style = "double"
  
  [tool.ruff.lint.isort]
  split-on-trailing-comma = false
  
  [tool.ruff.lint.per-file-ignores]
  "neosr/__init__.py" = ["F403"]
  