1{ stdenv
2, lib
3, fetchPypi
4, buildPythonPackage
5, isPy3k
6, pythonOlder
7, greenlet
8, importlib-metadata
9, mock
10, pysqlite ? null
11, pytestCheckHook
12}:
13
14buildPythonPackage rec {
15 pname = "SQLAlchemy";
16 version = "1.4.27";
17
18 src = fetchPypi {
19 inherit pname version;
20 sha256 = "sha256-12g1na6zqGZE84VMZlnkSWo+a7orRlHsyHznrUFbMgw=";
21 };
22
23 propagatedBuildInputs = [
24 greenlet
25 ] ++ lib.optionals (pythonOlder "3.8") [
26 importlib-metadata
27 ];
28
29 checkInputs = [
30 pytestCheckHook
31 mock
32 ] ++ lib.optional (!isPy3k) pysqlite;
33
34 postInstall = ''
35 sed -e 's:--max-worker-restart=5::g' -i setup.cfg
36 '';
37
38 # disable mem-usage tests on mac, has trouble serializing pickle files
39 disabledTests = lib.optionals stdenv.isDarwin [
40 "MemUsageWBackendTest"
41 "MemUsageTest"
42 ];
43
44 meta = with lib; {
45 homepage = "http://www.sqlalchemy.org/";
46 description = "A Python SQL toolkit and Object Relational Mapper";
47 license = licenses.mit;
48 };
49}