diff options
Diffstat (limited to 'pkgs/development/python-modules/pydantic/default.nix')
-rw-r--r-- | pkgs/development/python-modules/pydantic/default.nix | 89 |
1 files changed, 39 insertions, 50 deletions
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index 59ec82ce829b..9e008f9565e1 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -1,34 +1,35 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, fetchpatch -, pythonOlder - -# build-system -, hatchling -, hatch-fancy-pypi-readme - -# native dependencies -, libxcrypt - -# dependencies -, annotated-types -, pydantic-core -, typing-extensions - -# tests -, cloudpickle -, email-validator -, dirty-equals -, faker -, pytestCheckHook -, pytest-mock -, eval-type-backport +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + + # build-system + hatchling, + hatch-fancy-pypi-readme, + + # native dependencies + libxcrypt, + + # dependencies + annotated-types, + pydantic-core, + typing-extensions, + + # tests + cloudpickle, + email-validator, + dirty-equals, + jsonschema, + pytestCheckHook, + pytest-mock, + eval-type-backport, + rich, }: buildPythonPackage rec { pname = "pydantic"; - version = "2.6.3"; + version = "2.9.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -37,21 +38,10 @@ buildPythonPackage rec { owner = "pydantic"; repo = "pydantic"; rev = "refs/tags/v${version}"; - hash = "sha256-neTdG/IcXopCmevzFY5/XDlhPHmOb6dhyAnzaobmeG8="; + hash = "sha256-Eb/9k9bNizRyGhjbW/LAE/2R0Ino4DIRDy5ZrQuzJ7o="; }; - patches = [ - (fetchpatch { - # https://github.com/pydantic/pydantic/pull/8678 - name = "fix-pytest8-compatibility.patch"; - url = "https://github.com/pydantic/pydantic/commit/825a6920e177a3b65836c13c7f37d82b810ce482.patch"; - hash = "sha256-Dap5DtDzHw0jS/QUo5CRI9sLDJ719GRyC4ZNDWEdzus="; - }) - ]; - - buildInputs = lib.optionals (pythonOlder "3.9") [ - libxcrypt - ]; + buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ]; build-system = [ hatch-fancy-pypi-readme @@ -64,30 +54,29 @@ buildPythonPackage rec { typing-extensions ]; - passthru.optional-dependencies = { - email = [ - email-validator - ]; + optional-dependencies = { + email = [ email-validator ]; }; nativeCheckInputs = [ cloudpickle dirty-equals - faker + jsonschema pytest-mock pytestCheckHook + rich ] - ++ lib.flatten (lib.attrValues passthru.optional-dependencies) + ++ lib.flatten (lib.attrValues optional-dependencies) ++ lib.optionals (pythonOlder "3.10") [ eval-type-backport ]; preCheck = '' export HOME=$(mktemp -d) substituteInPlace pyproject.toml \ - --replace "'--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations'," "" \ - --replace "'--benchmark-group-by', 'group'," "" \ - --replace "'--benchmark-warmup', 'on'," "" \ - --replace "'--benchmark-disable'," "" + --replace-fail "'--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations'," "" \ + --replace-fail "'--benchmark-group-by', 'group'," "" \ + --replace-fail "'--benchmark-warmup', 'on'," "" \ + --replace-fail "'--benchmark-disable'," "" ''; pytestFlagsArray = [ |