diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix new file mode 100644 index 00000000000..09ee7dc92ea --- /dev/null +++ b/pkgs/development/python-modules/peewee/default.nix @@ -0,0 +1,46 @@ +{ stdenv, lib, buildPythonPackage, fetchFromGitHub +, sqlite +, cython +, apsw +, flask +, withPostgres ? false, psycopg2 +, withMysql ? false, mysql-connector +}: + +buildPythonPackage rec { + + pname = "peewee"; + version = "3.7.1"; + + # pypi release does not provide tests + src = fetchFromGitHub { + owner = "coleifer"; + repo = pname; + rev = version; + sha256 = "0chn8mknzvkmcmysy2291hanf0vg3sfzqgfc5hqx1nnrd6qkiq8r"; + }; + + + checkInputs = [ flask ]; + + checkPhase = '' + rm -r playhouse # avoid using the folder in the cwd + python runtests.py + ''; + + buildInputs = [ + sqlite + cython # compile speedups + ]; + + propagatedBuildInputs = [ + apsw # sqlite performance improvement + ] ++ (lib.optional withPostgres psycopg2) + ++ (lib.optional withMysql mysql-connector); + + meta = with stdenv.lib;{ + description = "a small, expressive orm"; + homepage = http://peewee-orm.com; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2da2892f9be..ee1bee109a3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3666,6 +3666,8 @@ in { }; }; + peewee = callPackage ../development/python-modules/peewee { }; + peppercorn = buildPythonPackage rec { name = "peppercorn-0.5";