content: [build-system]
  requires = ["setuptools>=61.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "torchoptics"
  version = "0.4.0"
  dependencies = [
    "torch",
    "matplotlib"
  ]
  requires-python = ">=3.9"
  authors = [{name = "Matthew Filipovich", email = "matthew.filipovich@physics.ox.ac.uk"}]
  description = "Python library for differentiable Fourier optics simulations with PyTorch."
  readme = "README.md"
  license = {file = "LICENSE"}
  keywords = [
    "wave optics",
    "PyTorch",
    "machine learning",
    "physics",
    "microscopy",
    "imaging",
    "diffraction",
    "holography",
    "computational optics",
    "Fourier optics",
    "optical neural networks",
    "inverse design",
    "differentiable optics"
  ]
  classifiers = [
    "Programming Language :: Python :: 3",
    "Operating System :: OS Independent",
    "Intended Audience :: Science/Research",
    "Intended Audience :: Education",
    "Topic :: Scientific/Engineering :: Physics",
    "License :: OSI Approved :: MIT License"
  ]
  
  [project.optional-dependencies]
  dev = [
    "coverage",
    "pre-commit",
    "pyright",
    "pytest",
    "ruff",
    "scipy"
  ]
  
  [project.urls]
  Homepage = "https://github.com/MatthewFilipovich/torchoptics"
  Documentation = "https://torchoptics.readthedocs.io/"
  Tracker = "https://github.com/MatthewFilipovich/torchoptics/issues"
  
  [tool.setuptools.package-data]
  "torchoptics" = ["py.typed"]
  
  [tool.ruff]
  line-length = 110
  
  [tool.coverage.report]
  omit = ["tests/*"]
  exclude_lines = [
    "if TYPE_CHECKING:"
  ]
  
  [tool.coverage.run]
  omit = ["tests/*"]
  