# Development/test dependencies (not needed at runtime) pytest>=8.0 pytest-cov>=5.0 # Parallel test runs. The suite is CPU-bound and takes ~40 minutes on the # Windows runner serially, which is most of the feedback loop; -n auto cuts # it to roughly a third. Separate processes, not threads, so tests that touch # process-global state (file descriptors, cwd) stay isolated. pytest-xdist>=3.5 ruff>=0.4 mypy>=1.10 # IANA timezone database — CI runs on windows-2022, which has no system tz database, # so the timezone resolution tests cannot load a zone name without it. tzdata>=2024.1