1{
2 lib,
3 aiomysql,
4 aiosqlite,
5 asyncpg,
6 buildPythonPackage,
7 databases,
8 fetchFromGitHub,
9 pythonOlder,
10 typesystem,
11}:
12
13buildPythonPackage rec {
14 pname = "orm";
15 version = "0.3.1";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "encode";
22 repo = "orm";
23 rev = version;
24 hash = "sha256-nlKEWdqttFnjBnXutlxTy9oILqFzKHKKPJpTtCUbJ5k=";
25 };
26
27 propagatedBuildInputs = [
28 aiomysql
29 aiosqlite
30 asyncpg
31 databases
32 typesystem
33 ];
34
35 postPatch = ''
36 substituteInPlace setup.py \
37 --replace "typesystem==0.3.1" "typesystem"
38 '';
39
40 # Tests require databases
41 doCheck = false;
42
43 pythonImportsCheck = [ "orm" ];
44
45 meta = with lib; {
46 description = "An async ORM";
47 homepage = "https://github.com/encode/orm";
48 license = licenses.bsd3;
49 maintainers = with maintainers; [ ];
50 };
51}