summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-03-21 14:44:41 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2018-03-21 23:22:45 +0100
commitc26864122d7c6304fc2ce372075e7a91e0f10714 (patch)
tree43d71df159af2f7840bbc7a5c626ea11e0096832 /pkgs/development
parent7e44f19fceaae77422b04f74407f600c404e8ab2 (diff)
downloadnixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar.gz
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar.bz2
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar.lz
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar.xz
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.tar.zst
nixpkgs-c26864122d7c6304fc2ce372075e7a91e0f10714.zip
pythonPackages.face_recognition: init at 1.2.1
Adds the python package `face_recognition` and its dependency
`face_recognition_models`.

This package is a wrapper for `dlib` which is able to detect faces in a
given image. I checked the package with the following expression:

```
with import ./. { };

stdenv.mkDerivation {
  name = "facetest";
  src = null;
  buildInputs = with pythonPackages; [ face_recognition ];
}
```

The package works perfectly fine in a `nix-shell`:

```
$ nix-shell
[nix-shell:~]$ python
Python 2.7.14 (default, Sep 16 2017, 17:49:51)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import face_recognition
>>> img = face_recognition.load_image_file("/home/ma27/me.jpg")
>>> print(face_recognition.face_locations(img))
```
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/python-modules/face_recognition/default.nix33
-rw-r--r--pkgs/development/python-modules/face_recognition_models/default.nix21
2 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/face_recognition/default.nix b/pkgs/development/python-modules/face_recognition/default.nix
new file mode 100644
index 00000000000..3b9a2c15b6e
--- /dev/null
+++ b/pkgs/development/python-modules/face_recognition/default.nix
@@ -0,0 +1,33 @@
+{ buildPythonPackage, fetchFromGitHub, pillow, click, dlib, numpy
+, face_recognition_models, scipy, stdenv, flake8, tox, pytest, glibcLocales
+}:
+
+buildPythonPackage rec {
+  pname = "face_recognition";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "ageitgey";
+    rev = "fe421d4acd76e8a19098e942b7bd9c3bbef6ebc4"; # no tags available in Git, pure revs are pushed to pypi
+    sha256 = "0wv5qxkg7xv1cr43zhhbixaqgj08xw2l7yvwl8g3fb2kdxyndw1c";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "flake8==2.6.0" "flake8"
+  '';
+
+  propagatedBuildInputs = [ pillow click dlib numpy face_recognition_models scipy ];
+
+  checkInputs = [ flake8 tox pytest glibcLocales ];
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" py.test
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.mit;
+    homepage = https://github.com/ageitgey/face_recognition;
+    maintainers = with maintainers; [ ma27 ];
+    description = "The world's simplest facial recognition api for Python and the command line";
+  };
+}
diff --git a/pkgs/development/python-modules/face_recognition_models/default.nix b/pkgs/development/python-modules/face_recognition_models/default.nix
new file mode 100644
index 00000000000..960bffb903d
--- /dev/null
+++ b/pkgs/development/python-modules/face_recognition_models/default.nix
@@ -0,0 +1,21 @@
+{ buildPythonPackage, stdenv, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "face_recognition_models";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1kwnv3qpy5bhspk780bkyg8jd9n5f6p91ja6sjlwk1wcm00d56xp";
+  };
+
+  # no module named `tests` as no tests are available
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ageitgey/face_recognition_models;
+    license = licenses.cc0;
+    maintainers = with maintainers; [ ma27 ];
+    description = "Trained models for the face_recognition python library";
+  };
+}