content: [build-system]
  requires = ["hatchling>=0.22.0"]
  build-backend = "hatchling.build"
  
  [project]
  name = "mkdocs-click"
  description = "An MkDocs extension to generate documentation for Click command line applications"
  readme = "README.md"
  license = "Apache-2.0"
  keywords = ["click", "mkdocs", "mkdocs-plugin"]
  authors = [
      { name = "Ofek Lev", email = "oss@ofek.dev" },
  ]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Environment :: Console",
      "Environment :: Web Environment",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: Apache Software License",
      "Operating System :: OS Independent",
      "Programming Language :: Python",
      "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 :: Documentation",
      "Topic :: Software Development :: Documentation",
      "Topic :: Text Processing :: Markup :: Markdown",
      "Typing :: Typed",
  ]
  dynamic = ["version"]
  requires-python = ">=3.9"
  dependencies = [
      "click >=8.1",
      "markdown >=3.3",
  ]
  
  [project.urls]
  Source = "https://github.com/mkdocs/mkdocs-click"
  Issues = "https://github.com/mkdocs/mkdocs-click/issues"
  Changelog = "https://github.com/mkdocs/mkdocs-click/blob/master/CHANGELOG.md"
  
  [project.entry-points."markdown.extensions"]
  mkdocs-click = "mkdocs_click:MKClickExtension"
  
  [tool.hatch.version]
  path = "mkdocs_click/__version__.py"
  
  [tool.hatch.build.targets.sdist]
  include = ["/mkdocs_click", "/CHANGELOG.md", "/tests"]
  
  [tool.hatch.env]
  requires = ["hatch-pip-compile >=1.7.0"]
  
  [tool.hatch.envs.default.scripts]
  all = [
      "hatch run style:fix",
      "hatch run types:check",
      "hatch run test:test",
  ]
  
  [tool.hatch.envs.test]
  dependencies = [
      "pytest",
      "mkdocs >=1.1.2",
      #min "jinja2 >=2.11.1",
      #min "markupsafe >=2.0.1",
  ]
  [tool.hatch.envs.test.scripts]
  test = [
      "pytest {args}",
      "bash .tools/test.sh {args}",
  ]
  [tool.hatch.envs.test.overrides]
  platform.windows.scripts = [
      { key = "test", value = "pytest {args}" },
  ]
  
  [tool.hatch.envs.types]
  dependencies = [
      "mypy",
      "types-Markdown >=3.4.2",
  ]
  [tool.hatch.envs.types.scripts]
  check = "mypy {args} mkdocs_click"
  
  [tool.hatch.envs.style]
  type = "pip-compile"
  detached = true
  dependencies = [
      "ruff",
  ]
  [tool.hatch.envs.style.scripts]
  check = "ruff check mkdocs_click tests {args}"
  format = "ruff format -q mkdocs_click tests"
  fix = [
      "check --fix --unsafe-fixes",
      "format",
  ]
  
  [tool.ruff]
  line-length = 100
  [tool.ruff.lint]
  preview = true
  select = [
      "F", "E", "W", "I", "UP", "YTT", "C4", "DTZ", "T10", "FA", "ISC", "PIE", "T20", "RSE", "TCH",
      "N803", "N804", "N805", "N806", "N807", "N815", "N816", "N999",
      "B002", "B003", "B005", "B007", "B008", "B009", "B010", "B011", "B012", "B013", "B014", "B015", "B016", "B017", "B018", "B020", "B021", "B022", "B023", "B025", "B026", "B029", "B030", "B031", "B032", "B033", "B034", "B035", "B905",
      "COM818",
      "G001", "G010", "G202",
      "Q004",
      "RET502", "RET504",
      "SIM101", "SIM103", "SIM105", "SIM107", "SIM118", "SIM201", "SIM202", "SIM208", "SIM210", "SIM211", "SIM212", "SIM220", "SIM221", "SIM222", "SIM223", "SIM300", "SIM401", "SIM910", "SIM911",
      "PGH003", "PGH004", "PGH005",
      "PLC0105", "PLC0131", "PLC0132", "PLC0205", "PLC0208", "PLC0414", "PLC2401", "PLC2403", "PLC2801", "PLC3002",
      "PLE0100", "PLE0101", "PLE0116", "PLE0117", "PLE0118", "PLE0241", "PLE0302", "PLE0307", "PLE0604", "PLE0605", "PLE0704", "PLE1132", "PLE1142", "PLE1205", "PLE1206", "PLE1300", "PLE1307", "PLE1310", "PLE1507", "PLE1700", "PLE2502", "PLE2510", "PLE2512", "PLE2513", "PLE2514", "PLE2515",
      "PLR0124", "PLR0133", "PLR0206", "PLR0402", "PLR1701", "PLR1722", "PLR1733", "PLR1736",
      "PLW0108", "PLW0120", "PLW0127", "PLW0129", "PLW0131", "PLW0245", "PLW0406", "PLW0602", "PLW0603", "PLW0604", "PLW0711", "PLW1501", "PLW1508", "PLW1514", "PLW2101", "PLW3301",
      "TRY302", "TRY401",
      "FLY002",
      "PERF101", "PERF102", "PERF402", "PERF403",
      "FURB105", "FURB118", "FURB131", "FURB132", "FURB148", "FURB163", "FURB167", "FURB168", "FURB169",
      "LOG001", "LOG009",
      "RUF001", "RUF005", "RUF007", "RUF008", "RUF009", "RUF010", "RUF013", "RUF015", "RUF016", "RUF017", "RUF018", "RUF019", "RUF020", "RUF021", "RUF022", "RUF100", "RUF200",
  ]
  ignore = ["E501", "E731"]
  [tool.ruff.lint.flake8-comprehensions]
  allow-dict-calls-with-keyword-arguments = true
  
  [tool.mypy]
  disallow_untyped_defs = true
  warn_unreachable = true
  allow_redefinition = true
  
  [tool.pytest.ini_options]
  addopts = "--tb=native"
  enable_assertion_pass_hook = true
  filterwarnings = ["ignore::DeprecationWarning:.*:",
                    "default::DeprecationWarning:mkdocs_click.*:"]
  testpaths = ["tests"]
  