content: [build-system]
  requires = ["setuptools"]
  
  [project]
  name = "UM2N"
  version = "1.0"
  authors = [
    {name = "Chunyang Wang"},
    {name = "Mingrui Zhang"},
    {name = "Stephan C. Kramer"},
    {name = "Joseph G. Wallwork"},
  ]
  maintainers = []  # TODO: Who will be the maintainers?
  description="PDE mesh r-adaptation tool"
  readme = "README.md"
  # TODO: license = {file = "LICENSE"}
  keywords = ["python", "meshing", "machine-learning", "firedrake"]
  classifiers = [
    "Development Status :: 4 - Beta",
    "Programming Language :: Python",
  ]
  dependencies = [
    "einops",
    "gmsh",
    "jupyter",
    "ipython",
    "matplotlib",
    "numpy",
    "pandas",
    "rich",
    "seaborn",
    # "torch", # NOTE: Should be installed beforehand
    "torch_geometric",
    "wandb",
  ]
  
  [project.optional-dependencies]
  dev = [
    "coverage",
    "pytest",
    "ruff",
  ]
  
  [project.urls]
  Homepage = "https://erizmr.github.io/UM2N"
  # TODO: Documentation
  Repository = "https://github.com/erizmr/UM2N"
  
  [tool.setuptools]
  packages = ["UM2N"]
  
  [tool.ruff]
  line-length = 88
  
  [tool.ruff.lint]
  select = [
    "E", "W",  # Pycodestyle
    "F",  # Pyflakes
    "I",  # Isort
  ]
  ignore = [
    "E501",  # line too long
    "E402",  # module level import not at top of file
    "F403",  # unable to detect undefined names
    "F405",  # name may be undefined, or defined from star imports
  ]
  