92 lines
1.8 KiB
Nix
92 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
albumentations,
|
|
buildPythonPackage,
|
|
cython,
|
|
easydict,
|
|
fetchPypi,
|
|
insightface,
|
|
matplotlib,
|
|
mxnet,
|
|
numpy,
|
|
onnx,
|
|
onnxruntime,
|
|
opencv4,
|
|
pillow,
|
|
prettytable,
|
|
pythonOlder,
|
|
requests,
|
|
setuptools,
|
|
scipy,
|
|
scikit-image,
|
|
scikit-learn,
|
|
testers,
|
|
tqdm,
|
|
stdenv,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "insightface";
|
|
version = "0.7.3";
|
|
pyproject = true;
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-8ZH3GWEuuzcBj0GTaBRQBUTND4bm/NZ2wCPzVMZo3fc=";
|
|
};
|
|
|
|
build-system = [
|
|
cython
|
|
setuptools
|
|
];
|
|
|
|
dependencies = [
|
|
albumentations
|
|
easydict
|
|
matplotlib
|
|
mxnet # used in insightface/commands/rec_add_mask_param.py
|
|
numpy
|
|
onnx
|
|
onnxruntime
|
|
opencv4
|
|
pillow
|
|
prettytable
|
|
requests
|
|
scikit-learn
|
|
scikit-image
|
|
scipy
|
|
tqdm
|
|
];
|
|
|
|
# aarch64-linux tries to get cpu information from /sys, which isn't available
|
|
# inside the nix build sandbox.
|
|
dontUsePythonImportsCheck = stdenv.buildPlatform.system == "aarch64-linux";
|
|
|
|
passthru.tests = lib.optionalAttrs (stdenv.buildPlatform.system != "aarch64-linux") {
|
|
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";
|
|
};
|
|
};
|
|
|
|
pythonImportsCheck = [
|
|
"insightface"
|
|
"insightface.app"
|
|
"insightface.data"
|
|
];
|
|
|
|
doCheck = false; # Upstream has no tests
|
|
|
|
meta = {
|
|
description = "State-of-the-art 2D and 3D Face Analysis Project";
|
|
mainProgram = "insightface-cli";
|
|
homepage = "https://github.com/deepinsight/insightface";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ oddlama ];
|
|
};
|
|
}
|