93 lines
1.8 KiB
Nix
93 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 ];
|
||
|
};
|
||
|
}
|