From 952b851746fd0c6d2944d394ffce5c9f2739d4e8 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 22 Sep 2022 09:08:04 +0200 Subject: [PATCH] openai-whisper: init at unstable-2022-09-23 --- .../python-modules/openai-whisper/default.nix | 64 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 68 insertions(+) create mode 100644 pkgs/development/python-modules/openai-whisper/default.nix diff --git a/pkgs/development/python-modules/openai-whisper/default.nix b/pkgs/development/python-modules/openai-whisper/default.nix new file mode 100644 index 000000000000..06978b96483d --- /dev/null +++ b/pkgs/development/python-modules/openai-whisper/default.nix @@ -0,0 +1,64 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage + +# propagates +, numpy +, torch +, tqdm +, more-itertools +, transformers +, ffmpeg-python + +# tests +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "whisper"; + version = "unstable-2022-09-23"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "openai"; + repo = pname; + rev = "8cf36f3508c9acd341a45eb2364239a3d81458b9"; + hash = "sha256-2RH8eM/SezqFJltelv5AjQEGpqXm980u57vrlkTEUvQ="; + }; + + postPatch = '' + # Rely on the ffmpeg path already patched into the ffmpeg-python library + substituteInPlace whisper/audio.py \ + --replace 'run(cmd="ffmpeg",' 'run(' + ''; + + propagatedBuildInputs = [ + numpy + torch + tqdm + more-itertools + transformers + ffmpeg-python + ]; + + preCheck = '' + export HOME=$TMPDIR + ''; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # requires network access to download models + "test_transcribe" + ]; + + meta = with lib; { + description = "General-purpose speech recognition model"; + homepage = "https://github.com/openai/whisper"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3786d3ffa411..b9fcb05f5869 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16986,6 +16986,8 @@ with pkgs; openai = with python3Packages; toPythonApplication openai; + openai-whisper = with python3.pkgs; toPythonApplication openai-whisper; + opengrok = callPackage ../development/tools/misc/opengrok { }; openocd = callPackage ../development/embedded/openocd { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eb4600bcaaec..1871d2fa5c53 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6378,6 +6378,8 @@ in { open-meteo = callPackage ../development/python-modules/open-meteo { }; + openai-whisper = callPackage ../development/python-modules/openai-whisper { }; + openant = callPackage ../development/python-modules/openant { }; openapi-schema-validator = callPackage ../development/python-modules/openapi-schema-validator { };