content: [build-system]
  requires = ["setuptools>=61.0", "versioningit~=2.0"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "openadmet-models"
  description = "A short description of the project (less than one line)."
  dynamic = ["version"]
  readme = "README.md"
  authors = [
      { name = "OpenADMET Contributors", email = "hugo.macdermott-opeskin@omsf.io" }
  ]
  license = { text = "MIT" }
  classifiers = [
    "Development Status :: 1 - Planning",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Operating System :: POSIX",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.12",
    "Topic :: Scientific/Engineering :: Bio-Informatics",
    "Topic :: Scientific/Engineering :: Chemistry",
  ]
  
  requires-python = ">=3.10"
  
  [project.urls]
  "Source" = "https://github.com/OpenADMET/openadmet-models"
  "Documentation" = "https://openadmet-models.readthedocs.io/en/latest/?badge=latest"
  
  [project.optional-dependencies]
  test = [
    "pytest>=6.1.2",
  ]
  
  [project.scripts]
  openadmet = "openadmet.models.cli.cli:cli"
  
  [tool.setuptools]
  zip-safe = false
  include-package-data = true
  license-files = [ "LICENSE" ]
  
  [tool.setuptools.packages.find]
  namespaces = true
  where = ["."]
  
  [tool.setuptools.package-data]
  "openadmet.models.tests.unit.test_data" = ["**"]
  "openadmet.models.tests.integration.test_data" = ["**"]
  
  [tool.versioningit]
  default-version = "1+unknown"
  
  [tool.versioningit.format]
  distance = "{base_version}+{distance}.{vcs}{rev}"
  dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
  distance-dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
  
  [tool.versioningit.vcs]
  # The method key:
  method = "git"  # <- The method name
  # Parameters to pass to the method:
  match = ["*"]
  default-tag = "0.0.0"
  
  [tool.versioningit.write]
  file = "openadmet/models/_version.py"
  
  [tool.ruff.lint]
  select = ["D", "D213", "D101"]
  ignore = ["D212"]
  
  [tool.ruff.per-file-ignores]
  "**/__init__.py" = ["D104"] # Ignore D104 (Missing docstring in public package) specifically for __init__.py files
  "**/tests/**.py" = ["D"] # Ignore all D and S101 (Use of assert detected) and S311 (Standard pseudo-random generators are not suitable for security/cryptographic purposes) and D103 (Missing docstring in public function) specifically for test files
  