{ lib, stdenv, buildPythonPackage, isPy312, fetchFromGitHub, flaky, hypothesis, pytest-xdist, pytestCheckHook, pythonOlder, setuptools, tomli, }: buildPythonPackage rec { pname = "coverage"; version = "7.13.1"; pyproject = true; src = fetchFromGitHub { owner = "coveragepy"; repo = "coveragepy"; tag = version; hash = "sha256-xdbgHUE+vbSiqLRDhd5G5u90VU5+TxLehAuwdhdGzBQ="; }; build-system = [ setuptools ]; optional-dependencies = { toml = lib.optionals (pythonOlder "3.11") [ tomli ]; }; nativeCheckInputs = [ flaky hypothesis pytest-xdist pytestCheckHook ]; preCheck = '' export PATH="$PATH:$out/bin" # import from $out rm -r coverage ''; disabledTests = [ # tests expect coverage source to be there "test_all_our_source_files" "test_real_code_regions" ]; meta = { changelog = "https://github.com/coveragepy/coveragepy/blob/${src.tag}/CHANGES.rst"; description = "Code coverage measurement for Python"; homepage = "https://github.com/coveragepy/coveragepy"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ dotlambda ]; }; }