nixpkgs/pkgs/development/python-modules/peewee/default.nix

51 lines
960 B
Nix

{ lib
, buildPythonPackage
, fetchFromGitHub
, sqlite
, cython
, apsw
, flask
, withPostgres ? false, psycopg2
, withMysql ? false, mysql-connector
}:
buildPythonPackage rec {
pname = "peewee";
version = "3.13.3";
# pypi release does not provide tests
src = fetchFromGitHub {
owner = "coleifer";
repo = pname;
rev = version;
sha256 = "1r67hxb9m6v0xbnbqfnsw6dahmdr94pf81b4x51jfw6x9sa4izi4";
};
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);
doCheck = withPostgres;
meta = with lib; {
description = "a small, expressive orm";
homepage = "http://peewee-orm.com";
license = licenses.mit;
};
}