content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "pydantic-rdf"
  version = "0.2.0"
  dependencies = [
      "pydantic>=2.11.3",
      "rdflib>=7.1.4",
  ]
  requires-python = ">=3.11"
  authors = [
      { name = "Omegaice", email = "950526+Omegaice@users.noreply.github.com" }
  ]
  description = "Bridge between Pydantic V2 models and RDF graphs"
  readme = "README.md"
  license-files = ["LICEN[CS]E.*"]
  keywords = ["pydantic", "rdf", "semantic web", "linked data", "graph", "serialization"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.11",
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Topic :: Scientific/Engineering :: Information Analysis",
      "Topic :: Utilities",
      "Typing :: Typed"
  ]
  
  [project.urls]
  Documentation = "https://omegaice.github.io/pydantic-rdf"
  Repository = "https://github.com/Omegaice/pydantic-rdf"
  Changelog = "https://github.com/Omegaice/pydantic-rdf/blob/main/CHANGELOG.md"
  Issues = "https://github.com/Omegaice/pydantic-rdf/issues"
  
  
  [dependency-groups]
  dev = [
      {include-group = "lint"},
      {include-group = "docs"},
      {include-group = "test"},
  ]
  lint = [
      "ruff>=0.11.6",
      "mypy>=1.15.0",
      "pre-commit>=4.2.0",
  ]
  docs = [
      "mkdocs>=1.4.0",
      "mkdocs-material>=9.0.0",
      "mkdocs-api-autonav>=0.2.1",
      "mkdocs-section-index>=0.3.9",
      "mkdocs-git-revision-date-localized-plugin>=1.4.5",
      "mkdocstrings[python]>=0.29.1",
      "griffe-pydantic>=1.1.4",
      "griffe-warnings-deprecated>=1.1.0",
      "griffe-generics>=1.0.13",
      "griffe-modernized-annotations>=1.0.8",
  ]
  test = [
      "pytest>=8.3.5",
      "pytest-icdiff>=0.9",
      "pytest-sugar>=1.0.0",
  ]
  
  [tool.ruff]
  target-version = "py311"
  line-length = 120
  
  [tool.ruff.lint]
  select = [
      "E",  # pycodestyle errors
      "F",  # pyflakes
      "I",  # isort
      "UP", # pyupgrade
      "B",  # flake8-bugbear
      "C4", # flake8-comprehensions
      "SIM",# flake8-simplify
      "NPY", # numpy
      "PERF",# performance
      "RUF", # ruff-specific rules
  ]
  
  [tool.ruff.format]
  preview = true
  
  [tool.mypy]
  python_version = "3.11"
  strict = true
  ignore_missing_imports = true
  show_error_codes = true
  pretty = true
  plugins = []
  exclude = "tests/.*"