{ lib , fetchPypi , buildPythonPackage , pythonOlder , rustPlatform , bitstring , cachetools , cffi , deprecation , iconv , matplotlib , numpy , scipy , screed , hypothesis , pytest-xdist , pyyaml , pytestCheckHook }: buildPythonPackage rec { pname = "sourmash"; version = "4.8.4"; format = "pyproject"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; hash = "sha256-Q1hMESwzEHGXcd4XW4nLqU8cLTCxrqRgAOr1qB77roo="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; hash = "sha256-HisWvJgx15OfYoMzzqYm1JyY1/jmGXBSZZmuNaKTDjI="; }; nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; buildInputs = [ iconv ]; propagatedBuildInputs = [ bitstring cachetools cffi deprecation matplotlib numpy scipy screed ]; pythonImportsCheck = [ "sourmash" ]; nativeCheckInputs = [ hypothesis pytest-xdist pytestCheckHook pyyaml ]; # TODO(luizirber): Working on fixing these upstream disabledTests = [ "test_compare_no_such_file" "test_do_sourmash_index_multiscaled_rescale_fail" "test_metagenome_kreport_out_fail" ]; meta = with lib; { description = "Quickly search, compare, and analyze genomic and metagenomic data sets"; mainProgram = "sourmash"; homepage = "https://sourmash.bio"; changelog = "https://github.com/sourmash-bio/sourmash/releases/tag/v${version}"; maintainers = with maintainers; [ luizirber ]; license = licenses.bsd3; }; }