content: [project]
  authors = [
      { name = "Dylan Anthony", email = "contact@dylananthony.com" },
  ]
  license = { text = "MIT" }
  requires-python = ">=3.9,<4.0"
  dependencies = [
      "jinja2>=3.0.0,<4.0.0",
      "typer>0.6,<0.20",
      "colorama>=0.4.3; sys_platform == \"win32\"",
      "shellingham>=1.3.2,<2.0.0",
      "pydantic>=2.10,<3.0.0",
      "attrs>=22.2.0",
      "python-dateutil>=2.8.1,<3.0.0",
      "httpx>=0.23.0,<0.29.0",
      "ruamel.yaml>=0.18.6,<0.19.0",
      "ruff>=0.2,<0.14",
      "typing-extensions>=4.8.0,<5.0.0",
  ]
  name = "openapi-python-client"
  version = "0.26.2"
  description = "Generate modern Python clients from OpenAPI"
  keywords = [
      "OpenAPI",
      "Client",
      "Generator",
  ]
  classifiers = [
      "Development Status :: 4 - Beta",
      "License :: OSI Approved :: MIT License",
      "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 :: Software Development :: Code Generators",
      "Typing :: Typed",
  ]
  readme = "README.md"
  
  [project.urls]
  repository = "https://github.com/openapi-generators/openapi-python-client"
  
  [project.scripts]
  openapi-python-client = "openapi_python_client.cli:app"
  
  [tool.ruff]
  line-length = 120
  exclude = [
      ".git",
      ".mypy_cache",
      ".venv",
      "openapi_python_client/templates/*",
      "end_to_end_tests/*",
      "tests/test_templates/*",
  ]
  
  [tool.ruff.lint]
  select = ["E", "F", "I", "UP", "B", "PL", "RUF"]
  ignore = ["E501", "PLR0913", "PLR2004"]
  
  [tool.ruff.lint.per-file-ignores]
  "openapi_python_client/cli.py" = ["B008"]
  "tests/*" = ["PLR2004"]
  
  [tool.coverage.run]
  omit = ["openapi_python_client/__main__.py", "openapi_python_client/templates/*", "end_to_end_tests/*", "integration_tests/*", "tests/*"]
  
  [tool.mypy]
  plugins = ["pydantic.mypy"]
  disallow_any_generics = true
  disallow_untyped_defs = true
  warn_redundant_casts = true
  strict_equality = true
  
  [[tool.mypy.overrides]]
  module = [
      "importlib_metadata",
      "typer",
  ]
  ignore_missing_imports = true
  
  [tool.pytest.ini_options]
  junit_family = "xunit2"
  
  [tool.pdm.dev-dependencies]
  dev = [
      "pytest>8",
      "pytest-mock>3",
      "mypy>=1.13",
      "pytest-cov",
      "python-multipart",
      "types-PyYAML<7.0.0,>=6.0.3",
      "types-certifi<2021.10.9,>=2020.0.0",
      "types-python-dateutil<3.0.0,>=2.0.0",
      "syrupy>=4",
  ]
  
  [tool.pdm.build]
  includes = [
      "openapi_python_client",
      "CHANGELOG.md",
      "openapi_python_client/py.typed",
  ]
  
  [tool.pdm.scripts]
  lint = "ruff check --fix ."
  format = "ruff format ."
  mypy = "mypy openapi_python_client"
  check = { composite = ["lint", "format", "mypy", "test"] }
  regen = {composite = ["regen_e2e", "regen_integration"]}
  e2e = "pytest openapi_python_client end_to_end_tests/test_end_to_end.py"
  re = {composite = ["regen_e2e", "e2e --snapshot-update"]}
  regen_e2e = "python -m end_to_end_tests.regen_golden_record"
  unit_test = "pytest tests"
  
  [tool.pdm.scripts.test]
  cmd = "pytest tests end_to_end_tests/test_end_to_end.py end_to_end_tests/functional_tests --basetemp=tests/tmp"
  [tool.pdm.scripts.test.env]
  "TEST_RELATIVE" = "true"
  
  [tool.pdm.scripts.post_test]
  cmd = "rm -r tests/tmp"
  
  [tool.pdm.scripts.test_with_coverage]
  composite = ["test --cov openapi_python_client tests --cov-report=term-missing"]
  
  [tool.pdm.scripts.regen_integration]
  shell = """
  openapi-python-client generate --overwrite --url https://raw.githubusercontent.com/openapi-generators/openapi-test-server/refs/tags/v0.2.1/openapi.yaml --config integration-tests/config.yaml --meta none --output-path integration-tests/integration_tests \
  """
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.build.targets.sdist]
  include = [
      "openapi_python_client",
  ]
  exclude = [".gitignore"]
  