{ lib, buildPythonPackage, fetchFromGitHub, cargo, rustc, rustPlatform, setuptools, setuptools-rust, python, }: buildPythonPackage rec { pname = "fastbencode"; version = "0.3.8"; pyproject = true; src = fetchFromGitHub { owner = "breezy-team"; repo = "fastbencode"; tag = "v${version}"; hash = "sha256-vpo8OVhIm9/niMY6A878FRJ+zU98z9CJe/p5UxmvrLo="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; hash = "sha256-N4diwjHZkJk+Tzu609ueRipfIXyNhXhLG7hpnG1gRa4="; }; nativeBuildInputs = [ cargo rustPlatform.cargoSetupHook rustc ]; build-system = [ setuptools setuptools-rust ]; pythonImportsCheck = [ "fastbencode" ]; checkPhase = '' runHook preCheck ${python.interpreter} -m unittest tests.test_suite runHook postCheck ''; meta = { description = "Fast implementation of bencode"; homepage = "https://github.com/breezy-team/fastbencode"; changelog = "https://github.com/breezy-team/fastbencode/releases/tag/v${version}"; license = lib.licenses.gpl2Plus; maintainers = [ ]; }; }