Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pydantic-settings / default.nix
blob250c1b8756301db760f14d90602634cd53542094
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
5 , hatchling
6 , pydantic
7 , python-dotenv
8 , pytestCheckHook
9 , pytest-examples
10 , pytest-mock
13 let self = buildPythonPackage rec {
14   pname = "pydantic-settings";
15   version = "2.2.1";
16   pyproject = true;
18   disabled = pythonOlder "3.8";
20   src = fetchFromGitHub {
21     owner = "pydantic";
22     repo = "pydantic-settings";
23     rev = "refs/tags/v${version}";
24     hash = "sha256-4o8LlIFVizoxb484lVT67e24jhtUl49otr1lX/2zZ4M=";
25   };
27   nativeBuildInputs = [
28     hatchling
29   ];
31   propagatedBuildInputs = [
32     pydantic
33     python-dotenv
34   ];
36   pythonImportsCheck = [ "pydantic_settings" ];
38   nativeCheckInputs = [
39     pytestCheckHook
40     pytest-examples
41     pytest-mock
42   ];
44   disabledTests = [
45     # expected to fail
46     "test_docs_examples[docs/index.md:212-246]"
47   ];
49   preCheck = ''
50     export HOME=$TMPDIR
51   '';
53   # ruff is a dependency of pytest-examples which is required to run the tests.
54   # We do not want all of the downstream packages that depend on pydantic-settings to also depend on ruff.
55   doCheck = false;
56   passthru.tests = {
57     pytest = self.overridePythonAttrs {
58       doCheck = true;
59     };
60   };
62   meta = with lib; {
63     description = "Settings management using pydantic";
64     homepage = "https://github.com/pydantic/pydantic-settings";
65     license = licenses.mit;
66     broken = lib.versionOlder pydantic.version "2.0.0";
67     maintainers = with maintainers; [ ];
68   };
69 }; in self