diff --git a/pkgs/development/python-modules/pydantic/1.nix b/pkgs/development/python-modules/pydantic/1.nix index cfd0df8c7603..0fa36cec41a1 100644 --- a/pkgs/development/python-modules/pydantic/1.nix +++ b/pkgs/development/python-modules/pydantic/1.nix @@ -1,41 +1,44 @@ { lib, buildPythonPackage, - cython_0, - email-validator, fetchFromGitHub, + + # build-system + cython, + setuptools, + + # dependencies + typing-extensions, + + # optional-dependencies + python-dotenv, + email-validator, + + # tests + distutils, pytest-mock, pytest7CheckHook, - python-dotenv, - pythonAtLeast, - pythonOlder, - setuptools, - typing-extensions, - libxcrypt, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "pydantic"; - version = "1.10.16"; + version = "1.10.21"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic"; - rev = "refs/tags/v${version}"; - hash = "sha256-dn/ZsxbkyK2sJxpo6IsoMBRjq1STdu+xuqHXoNG+Kzk="; + tag = "v${version}"; + hash = "sha256-0kwqJsay+4xh+jgDStNciRPJmuqm8GzA+6ble4K4HuI="; }; - nativeBuildInputs = [ + build-system = [ + cython setuptools - cython_0 ]; - buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ]; - - propagatedBuildInputs = [ typing-extensions ]; + dependencies = [ typing-extensions ]; optional-dependencies = { dotenv = [ python-dotenv ]; @@ -43,38 +46,21 @@ buildPythonPackage rec { }; nativeCheckInputs = [ + distutils pytest-mock pytest7CheckHook + writableTmpDirAsHomeHook ] ++ lib.flatten (lib.attrValues optional-dependencies); - pytestFlagsArray = [ - # https://github.com/pydantic/pydantic/issues/4817 - "-W" - "ignore::pytest.PytestReturnNotNoneWarning" - ]; - - preCheck = '' - export HOME=$(mktemp -d) - ''; - - disabledTests = lib.optionals (pythonAtLeast "3.12") [ - # depends on distuils - "test_cython_function_untouched" - # AssertionError on exact types and wording - "test_model_subclassing_abstract_base_classes_without_implementation_raises_exception" - "test_partial_specification_name" - "test_secretfield" - ]; - enableParallelBuilding = true; pythonImportsCheck = [ "pydantic" ]; - meta = with lib; { + meta = { description = "Data validation and settings management using Python type hinting"; homepage = "https://github.com/pydantic/pydantic"; changelog = "https://github.com/pydantic/pydantic/blob/v${version}/HISTORY.md"; - license = licenses.mit; - maintainers = with maintainers; [ wd15 ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wd15 ]; }; }