{ lib , buildPythonPackage , fetchpatch , fetchFromGitHub , pythonAtLeast , coqpit , fsspec , torch-bin , tensorboardx , protobuf , psutil , pytestCheckHook , soundfile , torchvision-bin }: let pname = "trainer"; version = "0.0.20"; in buildPythonPackage { inherit pname version; format = "pyproject"; src = fetchFromGitHub { owner = "coqui-ai"; repo = "Trainer"; rev = "refs/tags/v${version}"; hash = "sha256-se2Q2wJyynPc/3TkfEn4nEh+emqBJBwPGDSnOV+sH4I="; }; postPatch = '' sed -i 's/^protobuf.*/protobuf/' requirements.txt ''; propagatedBuildInputs = [ coqpit fsspec protobuf psutil soundfile tensorboardx torch-bin ]; # only one test and that requires training data from the internet doCheck = false; nativeCheckInputs = [ pytestCheckHook torchvision-bin ]; pythonImportsCheck = [ "trainer" ]; meta = with lib; { description = "A general purpose model trainer, as flexible as it gets"; homepage = "https://github.com/coqui-ai/Trainer"; changelog = "https://github.com/coqui-ai/Trainer/releases/tag/v${version}"; license = licenses.asl20; maintainers = teams.tts.members; }; }