diff --git a/pkgs/development/python-modules/insightface/default.nix b/pkgs/development/python-modules/insightface/default.nix new file mode 100644 index 000000000000000..2429eafd4b0cf52 --- /dev/null +++ b/pkgs/development/python-modules/insightface/default.nix @@ -0,0 +1,77 @@ +{ lib +, albumentations +, buildPythonPackage +, cython +, easydict +, fetchPypi +, insightface +, matplotlib +, mxnet +, numpy +, onnx +, onnxruntime +, opencv4 +, prettytable +, pythonOlder +, scikit-image +, scikit-learn +, tensorboard +, testers +, tqdm +}: + +buildPythonPackage rec { + pname = "insightface"; + version = "0.7.3"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-8ZH3GWEuuzcBj0GTaBRQBUTND4bm/NZ2wCPzVMZo3fc="; + }; + + nativeBuildInputs = [ + cython + ]; + + propagatedBuildInputs = [ + easydict + matplotlib + mxnet + numpy + onnx + onnxruntime + opencv4 + scikit-learn + scikit-image + tensorboard + tqdm + albumentations + prettytable + ]; + + pythonImportsCheck = [ + "insightface + "insightface.app" + "insightface.data" + ]; + + passthru.tests.version = testers.testVersion { + package = insightface; + command = "insightface-cli --help"; + # Doesn't support --version but we still want to make sure the cli is executable + # and returns the help output + version = "help"; + }; + + doCheck = false; # Upstream has no tests + + meta = with lib; { + description = "State-of-the-art 2D and 3D Face Analysis Project"; + homepage = "https://github.com/deepinsight/insightface"; + license = licenses.mit; + maintainers = with maintainers; [ oddlama ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 088b79d86c373e3..8a061f8e2b50f59 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5111,6 +5111,8 @@ self: super: with self; { insegel = callPackage ../development/python-modules/insegel { }; + insightface = callPackage ../development/python-modules/insightface { }; + installer = callPackage ../development/python-modules/installer { }; insteon-frontend-home-assistant = callPackage ../development/python-modules/insteon-frontend-home-assistant { };