1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 pythonRelaxDepsHook,
7
8 # build-system
9 hatchling,
10
11 # dependencies
12 django,
13 pydantic,
14 typing-extensions,
15
16 # tests
17 django-stubs,
18 pytestCheckHook,
19 pytest-asyncio,
20}:
21
22buildPythonPackage rec {
23 pname = "pyngo";
24 version = "2.0.1";
25 pyproject = true;
26
27 disabled = pythonOlder "3.10";
28
29 src = fetchFromGitHub {
30 owner = "yezz123";
31 repo = "pyngo";
32 rev = "refs/tags/${version}";
33 hash = "sha256-wvy1L21AnQ4JP5seAh6DWksQU2OcbYTXKcixpFryH4w=";
34 };
35
36 nativeBuildInputs = [
37 hatchling
38 pythonRelaxDepsHook
39 ];
40
41 pythonRelaxDeps = [
42 "pydantic"
43 "typing-extensions"
44 ];
45
46 propagatedBuildInputs = [
47 django
48 pydantic
49 typing-extensions
50 ];
51
52 pythonImportsCheck = [ "pyngo" ];
53
54 nativeCheckInputs = [
55 django-stubs
56 pytestCheckHook
57 pytest-asyncio
58 ];
59
60 meta = with lib; {
61 changelog = "https://github.com/yezz123/pyngo/releases/tag/${version}";
62 description = "Pydantic model support for Django & Django-Rest-Framework";
63 homepage = "https://github.com/yezz123/pyngo";
64 license = licenses.mit;
65 maintainers = with maintainers; [ hexa ];
66 };
67}