    "brotli; platform_python_implementation == 'CPython'",
    "brotlicffi; platform_python_implementation != 'CPython'",
]
cli = [
    "click==8.*",
    "pygments==2.*",
    "rich>=10,<15",
]
http2 = [
    "h2>=3,<5",
]
socks = [
    "socksio==1.*",
]
zstd = [
  "zstandard>=0.18.0",
]

[project.scripts]
httpx = "httpx:main"

[project.urls]
Changelog = "https://github.com/encode/httpx/blob/master/CHANGELOG.md"
Documentation = "https://www.python-httpx.org"
Homepage = "https://github.com/encode/httpx"
Source = "https://github.com/encode/httpx"

[tool.hatch.version]
path = "httpx/__version__.py"

[tool.hatch.build.targets.sdist]
include = [
    "/httpx",
    "/CHANGELOG.md",
    "/README.md",
    "/tests",
]

[tool.hatch.metadata.hooks.fancy-pypi-readme]
content-type = "text/markdown"

[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
path = "README.md"

[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
text = "\n## Release Information\n\n"

[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
path = "CHANGELOG.md"
pattern = "\n(###.+?\n)## "

[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
text = "\n---\n\n[Full changelog](https://github.com/encode/httpx/blob/master/CHANGELOG.md)\n"

[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
pattern = 'src="(docs/img/.*?)"'
replacement = 'src="https://raw.githubusercontent.com/encode/httpx/master/\1"'

[tool.ruff.lint]
select = ["E", "F", "I", "B", "PIE"]
ignore = ["B904", "B028"]

[tool.ruff.lint.isort]
combine-as-imports = true

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F403", "F405"]

[tool.mypy]
ignore_missing_imports = true
strict = true

[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
check_untyped_defs = true

[tool.pytest.ini_options]
addopts = "-rxXs"
filterwarnings = [
  "error",
CNAME
advanced
api.md
async.md
code_of_conduct.md
compatibility.md
contributing.md
css
environment_variables.md
exceptions.md
