content: requires = [ "tox>=4.27" ]
  env_list = [ "fix", "3.14t", "3.14", "3.13", "3.12", "3.11", "3.10", "cov", "type", "docs", "pkg_meta" ]
  skip_missing_interpreters = true
  
  [env_run_base]
  description = "run the tests with pytest under {env_name}"
  package = "wheel"
  wheel_build_env = ".pkg"
  dependency_groups = [ "test" ]
  pass_env = [ "PYTEST_*", "SSL_CERT_FILE" ]
  set_env.COVERAGE_FILE = { replace = "env", name = "COVERAGE_FILE", default = "{work_dir}{/}.coverage.{env_name}" }
  set_env.COVERAGE_FILECOVERAGE_PROCESS_START = "{tox_root}{/}pyproject.toml"
  commands = [
    [
      "pytest",
      { replace = "posargs", extend = true, default = [
        "--durations",
        "15",
        "-n",
        { replace = "env", name = "PYTEST_XDIST_AUTO_NUM_WORKERS", default = "auto" },
        "--junitxml",
        "{work_dir}{/}junit.{env_name}.xml",
        "--no-cov-on-fail",
        "--cov",
        "{env_site_packages_dir}{/}tox",
        "--cov",
        "{tox_root}{/}tests",
        "--cov-config",
        "{tox_root}{/}pyproject.toml",
        "--cov-context",
        "test",
        "--cov-report",
        "term-missing:skip-covered",
        "--cov-report",
        "html:{env_tmp_dir}{/}htmlcov",
        "--cov-report",
        "xml:{work_dir}{/}coverage.{env_name}.xml",
        "tests",
        "--run-integration",
      ] },
    ],
    [
      "diff-cover",
      "--compare-branch",
      { replace = "env", name = "DIFF_AGAINST", default = "origin/main" },
      "{work_dir}{/}coverage.{env_name}.xml",
    ],
  ]
  
  [env.fix]
  description = "format the code base to adhere to our styles, and complain about what we cannot do automatically"
  skip_install = true
  dependency_groups = [ "fix" ]
  pass_env = [
    { replace = "ref", of = [
      "env_run_base",
      "pass_env",
    ], extend = true },
    "PROGRAMDATA",
    "DISABLE_PRE_COMMIT_UV_PATCH",
  ]
  commands = [ [ "pre-commit", "run", "--all-files", "--show-diff-on-failure", { replace = "posargs", extend = true } ] ]
  
  [env.type]
  base_python = ["3.14"]
  description = "run type check on code base"
  dependency_groups = [ "type" ]
  commands = [ [ "mypy", "src{/}tox" ], [ "mypy", "tests" ] ]
  
  [env.type-3.10]
  base_python = ["3.10"]
  base = ["env", "type"]
  
  [env.docs]
  description = "build documentation"
  dependency_groups = [ "docs" ]
  base_python = ["3.14"]
  commands = [
    [
      "sphinx-build",
      "-d",
      "{env_tmp_dir}{/}docs_tree",
      "docs",
      "{env:READTHEDOCS_OUTPUT:{work_dir}{/}docs_out}/html",
      "--color",
      "-b",
      "html",
      { replace = "posargs", default = [  ], extend = true },
      "-W",
    ],
    [
      "python",
      "-c",
      'print(r"documentation available under file://{work_dir}{/}docs_out{/}html{/}index.html")',
    ],
  ]
  
  [env.pkg_meta]
  description = "check that the long description is valid"
  skip_install = true
  dependency_groups = [ "pkg_meta" ]
  commands = [
    [
      "uv",
      "build",
      "--sdist",
      "--wheel",
      "--out-dir",
      "{env_tmp_dir}",
      ".",
    ],
    [
      "twine",
      "check",
      "{env_tmp_dir}{/}*",
    ],
    [
      "check-wheel-contents",
      "--no-config",
      "{env_tmp_dir}",
    ],
  ]
  
  [env.release]
  description = "do a release, required posargs of the version number"
  skip_install = true
  dependency_groups = [ "release" ]
  commands = [ [ "python", "{tox_root}/tasks/release.py", "--version", "{posargs}" ] ]
  
  [env.dev]
  description = "dev environment with all deps at {envdir}"
  package = "editable"
  dependency_groups = [ "dev" ]
  commands = [ [ "python", "-m", "pip", "list", "--format=columns" ], [ "python", "-c", 'print(r"{env_python}")' ] ]
  uv_seed = true
  