content: [build-system]
  requires = ["setuptools>=80.8.0"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "pyhanko-certvalidator"
  authors = [{name = "Matthias Valvekens", email = "dev@mvalvekens.be"}]
  license = "MIT"
  license-files = ["LICENSE"]
  description = "Validates X.509 certificates and paths; forked from wbond/certvalidator"
  keywords = [
      "crypto",
      "pki",
      "x509",
      "certificate",
      "crl",
      "ocsp",
  ]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "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",
      "Topic :: Security :: Cryptography",
  ]
  requires-python = ">=3.9"
  dependencies = [
      "asn1crypto>=1.5.1",
      "oscrypto>=1.1.0",
      "cryptography>=41.0.5",
      "uritools>=3.0.1",
      "requests>=2.31.0",
  ]
  version = "0.0.0.dev1"
  
  
  [project.readme]
  file = "README.md"
  content-type = "text/markdown"
  
  [project.urls]
  Homepage = "https://github.com/MatthiasValvekens/pyHanko/tree/master/pkgs/pyhanko-certvalidator"
  
  [project.optional-dependencies]
  async-http = ["aiohttp>=3.9,<3.13"]
  
  [dependency-groups]
  testing-base = [
      "pytest>=6.1.1",
      "pytest-cov>=4.0,<7.1",
      "freezegun>=1.1.0",
      "aiohttp>=3.9,<3.13",
      "pytest-aiohttp>=1.0.4,<1.2.0",
      "aiohttp>=3.9,<3.13",
  ]
  
  [tool.setuptools]
  include-package-data = false
  
  [tool.setuptools.package-data]
  pyhanko_certvalidator = ["py.typed"]
  
  [tool.mypy]
  files = 'pyhanko_certvalidator'
  
  [[tool.mypy.overrides]]
  module = [
      "asn1crypto.*",
      "pkcs11.*",
      "oscrypto.*",
      "uritools.*",
  ]
  ignore_missing_imports = true
  
  [tool.pytest.ini_options]
  log_format = "%(asctime)s %(levelname)s %(message)s"
  log_date_format = "%Y-%m-%d %H:%M:%S"
  log_cli = true
  log_cli_level = "INFO"
  testpaths = "tests"
  asyncio_mode = "strict"
  norecursedirs = "tests/legacy_live_tests"
  asyncio_default_fixture_loop_scope="function"
  
  [tool.coverage.report]
  exclude_lines = ["pragma: no cover", "pragma: nocover", "raise AssertionError", "raise NotImplementedError", "TYPE_CHECKING", "^\\s*\\.\\.\\."]
  precision = 2
  