content: [build-system]
  requires = ["setuptools>=61", "setuptools_scm"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "bris"
  authors = [
      {name = "Magnus Sikora Ingstad", email = "magnusi@met.no"},
      {name = "Aram Salihi", email = "arams@met.no"},
      {name = "Thomas Nipen", email = "thomasn@met.no"},
      {name = "Håvard H. Haugen", email = "havardhh@met.no"},
      {name = "Lars Falk-Petersen", email = "larsfp@met.no"},
  ]
  description = "Package for running inference of Anemoi models"
  keywords = ["meteorology", "forecast", ]
  license = { file = "LICENSE" }
  readme = "README.md"
  
  requires-python = ">=3.9"
  classifiers = [
      "Development Status :: 3 - Alpha",
      "License :: OSI Approved :: Apache Software License",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: Implementation :: CPython",
      "Programming Language :: Python :: Implementation :: PyPy",
  ]
  dependencies = [
      "anemoi-datasets>=0.5.16", # https://github.com/metno/bris-inference/issues/94
      "gridpp~=0.7.0",
      "hydra-core~=1.3.0",
      "numpy~=1.26.0", # https://github.com/metno/bris-inference/issues/129
      "pyproj~=3.7.0",
      "pytorch-lightning>=2.1",
      "scipy~=1.15.0",
      "torch>=2.4", # https://github.com/metno/bris-inference/issues/116
      "torch_geometric>=2.3.1", # Same as anemoi-core
      "torchinfo~=1.8.0",
      "tqdm~=4.67.1",
      "verif~=1.3.0",
      "zarr<=2.17", # https://github.com/metno/bris-inference/issues/64
      "numcodecs<0.16.0", # related to zarr version
      "pyshtools~=4.13.0"
  ]
  
  optional-dependencies.dev = [
    "bris[tests]",
    "pytest",       # For testing in IDE
    "types-PyYAML", # For mypy in IDE
  ]
  
  optional-dependencies.tests = [
      "tox", # For running tests
  ]
  
  dynamic = ["version"]
  
  urls.Documentation = "https://github.com/metno/bris-inference/wiki"
  urls.Homepage = "https://github.com/metno/bris-inference/"
  urls.Issues = "https://github.com/metno/bris-inference/issues"
  urls.Repository = "https://github.com/metno/bris-inference/"
  
  [project.scripts]
  bris = "bris:main"
  bris-inspect = "bris.inspect:main"
  
  [tool.setuptools]
  include-package-data = true
  
  [tool.setuptools.packages.find]
  include = ["bris"]
  
  [tool.setuptools.dynamic]
  version = {attr = "bris.__version__"}
  
  [tool.setuptools.package-data]
  bris = ["schema/*.json"]
  
  [tool.ruff]
  exclude = [
      "bris/sources/frost.py",
      "bris/sources/azurestorage.py",
      "bris/data/legacy"
  ]
  
  [tool.ruff.lint]
  fixable = ["I"]
  select = [
      "E",  # pycodestyle
      "F",  # Pyflakes
      "UP", # pyupgrade
      "B",  # flake8-bugbear
      "SIM",# flake8-simplify
      "I",  # isort
  ]
  ignore = [
      "E402", # module-import-not-at-top-of-file (E402)
      "E501", # Line too long
      "F401", # imported but unused
  ]
  
  [tool.mypy]
  ignore_missing_imports = true
  install_types = true
  exclude = [
      'bris/data/legacy',
  ]
  
  [[tool.mypy.overrides]]
  module = "bris.sources.frost"
  ignore_errors = true
  
  [tool.bandit]
  exclude_dirs = ["tests", "bris/sources/frost.py"]
  skips = [
      "B101", # B101:assert_used
      "B614", # B614:pytorch_load_save, https://github.com/metno/bris-inference/issues/14
  ]
  