From a09e225c2d0ad755892775a230d83c8956420356 Mon Sep 17 00:00:00 2001 From: Dennis Wuitz Date: Mon, 7 Oct 2024 11:13:21 +0200 Subject: [PATCH 1/4] python3Packages.deepface: init at 0.0.92 --- .../python-modules/deepface/default.nix | 80 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 82 insertions(+) create mode 100644 pkgs/development/python-modules/deepface/default.nix diff --git a/pkgs/development/python-modules/deepface/default.nix b/pkgs/development/python-modules/deepface/default.nix new file mode 100644 index 000000000000..6565d98cdf75 --- /dev/null +++ b/pkgs/development/python-modules/deepface/default.nix @@ -0,0 +1,80 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fire, + flask, + flask-cors, + gdown, + gunicorn, + mtcnn, + numpy, + opencv4, + pandas, + pillow, + pythonOlder, + requests, + retinaface, + setuptools, + tensorflow, + tqdm, +}: + +buildPythonPackage rec { + pname = "deepface"; + version = "0.0.92"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "serengil"; + repo = "deepface"; + rev = "refs/tags/v${version}"; + hash = "sha256-Vjm8lfpGyJ7/1CUwIvxXxHqwmv0+iKewYV3vE08gpPQ="; + }; + + postPatch = '' + # prevent collisions + substituteInPlace setup.py \ + --replace-fail "data_files=[(\"\", [\"README.md\", \"requirements.txt\", \"package_info.json\"])]," "" \ + --replace-fail "install_requires=requirements," "" + + substituteInPlace deepface/detectors/OpenCv.py \ + --replace-fail "opencv_home = cv2.__file__" "opencv_home = os.readlink(cv2.__file__)" \ + --replace-fail "folders = opencv_home.split(os.path.sep)[0:-1]" "folders = opencv_home.split(os.path.sep)[0:-4]" \ + --replace-fail "return path + \"/data/\"" "return path + \"/share/opencv4/haarcascades/\"" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + fire + flask + flask-cors + gdown + gunicorn + mtcnn + numpy + opencv4 + pandas + pillow + requests + retinaface + tensorflow + tqdm + ]; + + # requires internet connection + doCheck = false; + + pythonImportsCheck = [ "deepface" ]; + + meta = { + description = "Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python"; + homepage = "https://github.com/serengil/deepface"; + changelog = "https://github.com/serengil/deepface/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ derdennisop ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f7d6020211ec..d7fd7e593bb5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3028,6 +3028,8 @@ self: super: with self; { deepdish = callPackage ../development/python-modules/deepdish { }; + deepface = callPackage ../development/python-modules/deepface { }; + deepl = callPackage ../development/python-modules/deepl { }; deepmerge = callPackage ../development/python-modules/deepmerge { }; From bcae1ced2ac7fbed87c44a3d39adb5c766f73bac Mon Sep 17 00:00:00 2001 From: Dennis Wuitz Date: Mon, 7 Oct 2024 11:14:30 +0200 Subject: [PATCH 2/4] python3Packages.retinaface: init at 0.0.17 --- .../python-modules/retinaface/default.nix | 64 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 66 insertions(+) create mode 100644 pkgs/development/python-modules/retinaface/default.nix diff --git a/pkgs/development/python-modules/retinaface/default.nix b/pkgs/development/python-modules/retinaface/default.nix new file mode 100644 index 000000000000..f727d3f31158 --- /dev/null +++ b/pkgs/development/python-modules/retinaface/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + gdown, + numpy, + opencv4, + pillow, + pytestCheckHook, + pythonOlder, + setuptools, + tensorflow, +}: + +buildPythonPackage rec { + pname = "retinaface"; + version = "0.0.17"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "serengil"; + repo = "retinaface"; + rev = "refs/tags/v${version}"; + hash = "sha256-0s1CSGlK2bF1F2V/IuG2ZqD7CkNfHGvp1M5C3zDnuKs="; + }; + + postPatch = '' + # prevent collisions + substituteInPlace setup.py \ + --replace-fail "data_files=[(\"\", [\"README.md\", \"requirements.txt\", \"package_info.json\"])]," "" \ + --replace-fail "install_requires=requirements," "" + ''; + + # requires internet connection + disabledTestPaths = [ + "tests/test_actions.py" + "tests/test_align_first.py" + "tests/test_expand_face_area.py" + ]; + + build-system = [ setuptools ]; + + dependencies = [ + gdown + numpy + opencv4 + pillow + tensorflow + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "retinaface" ]; + + meta = { + description = "Deep Face Detection Library for Python"; + homepage = "https://github.com/serengil/retinaface"; + changelog = "https://github.com/serengil/retinaface/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ derdennisop ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d7fd7e593bb5..c4e43565a12c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13617,6 +13617,8 @@ self: super: with self; { rethinkdb = callPackage ../development/python-modules/rethinkdb { }; + retinaface = callPackage ../development/python-modules/retinaface { }; + retry = callPackage ../development/python-modules/retry { }; retry-decorator = callPackage ../development/python-modules/retry-decorator { }; From 6ed529c47c7534b08865e9ec60b0445c8008d4f1 Mon Sep 17 00:00:00 2001 From: Dennis Wuitz Date: Mon, 7 Oct 2024 11:15:06 +0200 Subject: [PATCH 3/4] python3Packages.mtcnn: init at 0.1.1 --- .../python-modules/mtcnn/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/mtcnn/default.nix diff --git a/pkgs/development/python-modules/mtcnn/default.nix b/pkgs/development/python-modules/mtcnn/default.nix new file mode 100644 index 000000000000..7c3db77e4c52 --- /dev/null +++ b/pkgs/development/python-modules/mtcnn/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + opencv4, + pytestCheckHook, + pythonOlder, + setuptools, + tensorflow, +}: + +buildPythonPackage { + pname = "mtcnn"; + version = "0.1.1"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "ipazc"; + repo = "mtcnn"; + # No tags / releases; using commit: https://github.com/ipazc/mtcnn/commit/3208d443a8f01d317c65d7c97a03bc0a6143c41d + rev = "3208d443a8f01d317c65d7c97a03bc0a6143c41d"; + hash = "sha256-GXUrLJ5XD6V2hT/gjyYSuh/CMMw2xIXKBsYFvQmbLYs="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "setup, setuptools" "setup, find_packages"\ + --replace-fail "setuptools.find_packages" "find_packages"\ + --replace-fail "opencv-python>=4.1.0" ""\ + --replace-fail "keras>=2.0.0" ""\ + --replace-fail "tests_require=['nose']," "" + ''; + + build-system = [ setuptools ]; + + dependencies = [ + opencv4 + tensorflow + ]; + + pythonImportsCheck = [ "mtcnn" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + description = "MTCNN face detection implementation for TensorFlow, as a PIP package"; + homepage = "https://github.com/ipazc/mtcnn"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ derdennisop ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4e43565a12c..f0c56931c444 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8244,6 +8244,8 @@ self: super: with self; { msrest = callPackage ../development/python-modules/msrest { }; + mtcnn = callPackage ../development/python-modules/mtcnn { }; + mt-940 = callPackage ../development/python-modules/mt-940 { }; mullvad-api = callPackage ../development/python-modules/mullvad-api { }; From ac767928f474129e4dde0ecd86bb5a1099b532ab Mon Sep 17 00:00:00 2001 From: Sandro Date: Tue, 8 Oct 2024 12:03:37 +0200 Subject: [PATCH 4/4] python3Packages.mtcnn: update meta.description --- pkgs/development/python-modules/mtcnn/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/mtcnn/default.nix b/pkgs/development/python-modules/mtcnn/default.nix index 7c3db77e4c52..1c25eeab5e1f 100644 --- a/pkgs/development/python-modules/mtcnn/default.nix +++ b/pkgs/development/python-modules/mtcnn/default.nix @@ -45,7 +45,7 @@ buildPythonPackage { nativeCheckInputs = [ pytestCheckHook ]; meta = { - description = "MTCNN face detection implementation for TensorFlow, as a PIP package"; + description = "MTCNN face detection implementation for TensorFlow"; homepage = "https://github.com/ipazc/mtcnn"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ derdennisop ];