nixpkgs/pkgs/development/python-modules/face_recognition/default.nix
Maximilian Bosch c26864122d
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))
```
2018-03-21 23:22:45 +01:00

34 lines
1 KiB
Nix

{ 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";
};
}