{ lib , buildPythonPackage , pythonOlder , fetchFromGitHub , cmake , cython_3 , rapidfuzz-capi , scikit-build , jarowinkler , numpy , hypothesis , jarowinkler-cpp , pandas , pytestCheckHook , rapidfuzz-cpp , taskflow }: buildPythonPackage rec { pname = "rapidfuzz"; version = "2.0.11"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "maxbachmann"; repo = "RapidFuzz"; rev = "v${version}"; hash = "sha256-npmdnUMrmbHgUgqMxKBytgtL1weWw6BjVNmBkYSKNMw="; }; nativeBuildInputs = [ cmake cython_3 rapidfuzz-capi scikit-build ]; dontUseCmakeConfigure = true; buildInputs = [ jarowinkler-cpp rapidfuzz-cpp taskflow ]; propagatedBuildInputs = [ jarowinkler numpy ]; checkInputs = [ hypothesis pandas pytestCheckHook ]; preCheck = '' # import from $out rm -r rapidfuzz ''; pythonImportsCheck = [ "rapidfuzz.fuzz" "rapidfuzz.string_metric" "rapidfuzz.process" "rapidfuzz.utils" ]; meta = with lib; { description = "Rapid fuzzy string matching"; homepage = "https://github.com/maxbachmann/RapidFuzz"; license = licenses.mit; maintainers = with maintainers; [ dotlambda ]; }; }