content: [build-system]
  requires = ["setuptools>=42"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "neontology"
  version = "2.2.2"
  authors = [
      {name = "Ontolocy"},
  ]
  description = "A Python package for modelling data in a Neo4j graph database with Pydantic and Pandas."
  readme = "README.md"
  license = "MIT"
  requires-python = ">=3.9"
  classifiers = [
      "Programming Language :: Python :: 3",
      "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 :: 3.13",
      "Operating System :: OS Independent",
      "Intended Audience :: Developers",
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Topic :: Database",
  ]
  dependencies = [
      "neo4j>=5.0,<6",
      "pydantic>=2.7,<3",
      "pandas>=2.0,<3",
      "python-dotenv>=1.0,<2",
      "Jinja2>=3.0,<4",
      "typing-extensions>=4.0,<5",
      "PyYAML>=6.0,<7",
  ]
  
  [dependency-groups]
  dev = [
      "coverage>=7.0,<8",
      "pytest>=8.1,<9", 
      "pytest-cov>=3.0,<5",
      "pytest-benchmark>=4.0,<5",
      "ruff>=0.1.0,<1",
      "types-PyYAML>=6.0,<7",
      "mkdocs>=1.0,<2",
  ]
  
  [project.urls]
  Homepage = "https://github.com/ontolocy/neontology"
  Repository = "https://github.com/ontolocy/neontology"
  Documentation = "https://neontology.readthedocs.io/"
  "Bug Tracker" = "https://github.com/ontolocy/neontology/issues"
  
  [project.optional-dependencies]
  grand = [
      "grand-cypher>=0.13.0",
      "networkx>=3.2.1",
  ]
  
  all = [
      "neontology[grand]"
  ]
  
  # Tool configurations (keeping your existing ones + removing flake8)
  [tool.pytest.ini_options]
  markers = [
      "uses_graph: marks tests that require access to neo4j (deselect with '-m \"not uses_graph\"')"
  ]
  testpaths = ["tests"]
  pythonpath = ["src"]
  
  [tool.ruff]
  line-length = 128
  
  [tool.ruff.lint]
  select = ["E", "F", "I", "W", "D"]
  ignore = ["D100", "D101", "D104", "D107"]
  
  [tool.ruff.lint.pydocstyle]
  convention = "google"
  