content: [build-system]
  requires = [
      "hatchling",
      "incremental >= 24.7.2",
  ]
  build-backend = "hatchling.build"
  
  [project]
  name = "treq"
  dynamic = ["version"]
  description = "High-level Twisted HTTP Client API"
  readme = "README.rst"
  license = "MIT"
  # When updating this value, make sure our CI matrix includes a matching minimum version.
  requires-python = ">=3.8.0"
  authors = [
      { name = "David Reid", email = "dreid@dreid.org" },
  ]
  maintainers = [
      { name = "Tom Most", email = "twm@freecog.net" },
  ]
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: MIT License",
      "Operating System :: OS Independent",
      "Framework :: Twisted",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3.8",
      "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 :: Implementation :: CPython",
      "Programming Language :: Python :: Implementation :: PyPy",
  ]
  dependencies = [
      "incremental >= 24.7.2",
      "requests >= 2.1.0",
      "hyperlink >= 21.0.0",
      "Twisted[tls] >= 22.10.0",  # For #11635
      "attrs",
      "typing_extensions >= 3.10.0",
      "multipart",
  ]
  
  [project.optional-dependencies]
  dev = [
      "pep8",
      "pyflakes",
      "httpbin==0.7.0",
      "werkzeug==2.0.3",
  ]
  docs = [
      "sphinx",
      "sphinx_rtd_theme",
  ]
  
  [project.urls]
  Changelog = "https://github.com/twisted/treq/blob/HEAD/CHANGELOG.rst"
  Documentation = "https://treq.readthedocs.io/"
  Issues = "https://github.com/twisted/treq/issues"
  Source = "https://github.com/twisted/treq"
  Funding-PSF = "https://psfmember.org/civicrm/contribute/transact/?reset=1&id=44"
  Funding-GitHub = "https://github.com/sponsors/twisted"
  
  [tool.hatch.version]
  source = "incremental"
  
  [tool.towncrier]
  package = "treq"
  package_dir = "src"
  filename = "CHANGELOG.rst"
  directory = "changelog.d"
  title_format = "{version} ({project_date})"
  issue_format = "`#{issue} <https://github.com/twisted/treq/issues/{issue}>`__"
  
  [tool.ruff]
  line-length = 88
  
  [tool.mypy]
  namespace_packages = true
  plugins = "mypy_zope:plugin"
  
  check_untyped_defs = true
  disallow_incomplete_defs = true
  disallow_untyped_defs = true
  no_implicit_optional = true
  show_column_numbers = true
  show_error_codes = true
  strict_optional = true
  warn_no_return = true
  warn_redundant_casts = true
  warn_return_any = true
  warn_unreachable = true
  warn_unused_ignores = true
  
  disallow_any_decorated = false
  disallow_any_explicit = false
  disallow_any_expr = false
  disallow_any_generics = false
  disallow_any_unimported = false
  disallow_subclassing_any = false
  disallow_untyped_calls = false
  disallow_untyped_decorators = false
  strict_equality = false
  
  [[tool.mypy.overrides]]
  module = [
      "treq.content",
  ]
  disallow_untyped_defs = true
  
  [[tool.mypy.overrides]]
  module = [
      "treq.api",
      "treq.auth",
      "treq.client",
      "treq.multipart",
      "treq.response",
      "treq.testing",
      "treq.test.test_api",
      "treq.test.test_auth",
      "treq.test.test_client",
      "treq.test.test_content",
      "treq.test.test_multipart",
      "treq.test.test_response",
      "treq.test.test_testing",
      "treq.test.test_treq_integration",
      "treq.test.util",
  ]
  disallow_untyped_defs = false
  check_untyped_defs = false
  
  [[tool.mypy.overrides]]
  module = [
      "treq.test.local_httpbin.child",
      "treq.test.local_httpbin.parent",
      "treq.test.local_httpbin.shared",
      "treq.test.local_httpbin.test.test_child",
      "treq.test.local_httpbin.test.test_parent",
      "treq.test.local_httpbin.test.test_shared",
  ]
  disallow_untyped_defs = false
  check_untyped_defs = false
  ignore_missing_imports = true
  
  [[tool.mypy.overrides]]
  module = [
      "treq._multipart",
  ]
  disallow_untyped_defs = false
  