1{
2 lib,
3 buildPythonPackage,
4 click,
5 fetchFromGitHub,
6 httpx,
7 jinja2,
8 nodeenv,
9 pydantic,
10 pytestCheckHook,
11 python-dotenv,
12 pythonOlder,
13 setuptools,
14 strenum,
15 tomlkit,
16 typing-extensions,
17}:
18
19buildPythonPackage rec {
20 pname = "prisma";
21 version = "0.13.1";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchFromGitHub {
27 owner = "RobertCraigie";
28 repo = "prisma-client-py";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-7pibexiFsyrwC6rVv0CGHRbQU4G3rOXVhQW/7c/vKJA=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 click
37 httpx
38 jinja2
39 nodeenv
40 pydantic
41 python-dotenv
42 tomlkit
43 typing-extensions
44 ] ++ lib.optionals (pythonOlder "3.11") [ strenum ];
45
46 # Building the client requires network access
47 doCheck = false;
48
49 pythonImportsCheck = [ "prisma" ];
50
51 meta = with lib; {
52 description = "Auto-generated and fully type-safe database client for prisma";
53 homepage = "https://github.com/RobertCraigie/prisma-client-py";
54 changelog = "https://github.com/RobertCraigie/prisma-client-py/releases/tag/v${version}";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ fab ];
57 };
58}