1{ lib
2, buildPythonPackage
3, email_validator
4, fetchFromGitHub
5, pytest-mock
6, pytestCheckHook
7, python-dotenv
8, pythonOlder
9, typing-extensions
10, ujson
11}:
12
13buildPythonPackage rec {
14 pname = "pydantic";
15 version = "1.8.2";
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "samuelcolvin";
20 repo = pname;
21 rev = "v${version}";
22 sha256 = "06162dss6mvi7wiy2lzxwvzajwxgy8b2fyym7qipaj7zibcqalq2";
23 };
24
25 propagatedBuildInputs = [
26 email_validator
27 python-dotenv
28 typing-extensions
29 ujson
30 ];
31
32 checkInputs = [
33 pytest-mock
34 pytestCheckHook
35 ];
36
37 preCheck = ''
38 export HOME=$(mktemp -d)
39 '';
40
41 pythonImportsCheck = [ "pydantic" ];
42
43 meta = with lib; {
44 homepage = "https://github.com/samuelcolvin/pydantic";
45 description = "Data validation and settings management using Python type hinting";
46 license = licenses.mit;
47 maintainers = with maintainers; [ wd15 ];
48 };
49}