content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "Flask-PyMongo"
  dynamic = ["version"]
  description = "PyMongo support for Flask applications"
  readme = "README.md"
  license = { file="LICENSE" }
  requires-python = ">=3.9"
  authors = [
      { name = "Dan Crosta", email = "dcrosta@late.am" },
  ]
  classifiers = [
      "Environment :: Web Environment",
      "Framework :: Flask",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: BSD License",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: Implementation :: CPython",
      "Programming Language :: Python :: Implementation :: PyPy",
      "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",
      "Programming Language :: Python :: 3.14",
      "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
      "Topic :: Software Development :: Libraries :: Python Modules",
  ]
  dependencies = [
      "Flask>=3.0",
      "PyMongo>=4.0",
  ]
  
  [project.urls]
  Download = "https://github.com/mongodb-labs/flask-pymongo/tags"
  Homepage = "http://flask-pymongo.readthedocs.org/"
  
  [dependency-groups]
  dev = [
      "markdown2>=2.5.2",
      "mypy>=1.14.1",
      "pre-commit>=4.0.1",
      "pytest>=8.3.4",
      "sphinx>=7.4.7",
  ]
  
  [tool.hatch.version]
  path = "flask_pymongo/_version.py"
  
  [tool.hatch.build.targets.sdist]
  include = [
      "/flask_pymongo",
  ]
  
  [tool.pytest.ini_options]
  minversion = "8.0"
  addopts = ["-ra", "--showlocals", "--strict-markers", "--strict-config"]
  xfail_strict = true
  filterwarnings = ["error"]
  log_cli_level = "info"
  testpaths = [
    "tests",
  ]
  
  [tool.mypy]
  python_version = "3.9"
  strict = true
  enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
  
  [[tool.mypy.overrides]]
  module = ["tests.*"]
  disable_error_code = ["no-untyped-def", "no-untyped-call"]
  
  [tool.ruff]
  line-length = 100
  
  [tool.ruff.lint]
  select = [
    "E",  # pycodestyle
    "F",  # Pyflakes
    "UP", # pyupgrade
    "B",  # flake8-bugbear
    "I",  # isort
  ]
  unfixable = [
    "RUF100", # Unused noqa
    "T20",  # Removes print statements
    "F401",  # Unused imports
  ]
  