content: [project]
  name = "maxminddb"
  version = "2.8.2"
  description = "Reader for the MaxMind DB format"
  authors = [
      {name = "Gregory Oschwald", email = "goschwald@maxmind.com"},
  ]
  requires-python = ">=3.9"
  readme = "README.rst"
  license = "Apache-2.0"
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Web Environment",
      "Intended Audience :: Developers",
      "Intended Audience :: System Administrators",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3",
      "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",
      "Topic :: Internet :: Proxy Servers",
  ]
  
  [project.urls]
  Homepage = "https://www.maxmind.com/"
  Documentation = "https://maxminddb.readthedocs.org/"
  "Source Code" = "https://github.com/maxmind/MaxMind-DB-Reader-python"
  "Issue Tracker" = "https://github.com/maxmind/MaxMind-DB-Reader-python/issues"
  
  [dependency-groups]
  dev = [
      "pytest>=8.3.5",
  ]
  lint = [
      "mypy>=1.15.0",
      "ruff>=0.11.6",
  ]
  
  [build-system]
  requires = [
      "setuptools>=77.0.3",
      "setuptools-scm",
      "wheel",
  ]
  build-backend = "setuptools.build_meta"
  
  [tool.setuptools]
  include-package-data = true
  packages = ["maxminddb"]
  
  [tool.setuptools.package-data]
  maxminddb = ["extension.pyi", "py.typed"]
  
  [tool.ruff.lint]
  select = ["ALL"]
  ignore = [
      # Skip type annotation on **_
      "ANN003",
  
      # Redundant as the formatter handles missing trailing commas.
      "COM812",
  
      # documenting magic methods
      "D105",
  
      # Conflicts with D211
      "D203",
  
      # Conflicts with D212
      "D213",
  
      # Magic numbers for HTTP status codes seem ok most of the time.
      "PLR2004",
  
      # pytest rules
      "PT009",
      "PT027",
      # Using the built-in open is more appropriate for this library.
      "PTH123",
  ]
  
  [tool.ruff.lint.per-file-ignores]
  "docs/*" = ["ALL"]
  "maxminddb/extension.pyi" = [
      # This is a stub for extension and having the docs here is useful.
      "PYI021",
  ]
  "setup.py" = ["ALL"]
  "tests/*" = ["ANN201", "D"]
  
  [tool.tox]
  env_list = [
      "3.9",
      "3.10",
      "3.11",
      "3.12",
      "3.13",
      "3.14",
      "lint",
  ]
  skip_missing_interpreters = false
  
  [tool.tox.env_run_base]
  dependency_groups = [
    "dev",
  ]
  commands = [
      ["pytest", "tests"],
  ]
  
  [tool.tox.env.lint]
  description = "Code linting"
  python = "3.14"
  dependency_groups = [
      "dev",
      "lint",
  ]
  commands = [
      ["mypy", "maxminddb", "tests"],
      ["ruff", "check"],
      ["ruff", "format", "--check", "--diff", "."],
  ]
  
  [tool.tox.gh.python]
  "3.14" = ["3.14", "lint"]
  "3.13" = ["3.13"]
  "3.12" = ["3.12"]
  "3.11" = ["3.11"]
  "3.10" = ["3.10"]
  "3.9" = ["3.9"]
  