Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / glom / default.nix
blobeb770051f09df95971f2151f53cffd620551f968
1 { lib
2 , attrs
3 , boltons
4 , buildPythonPackage
5 , face
6 , fetchPypi
7 , pytestCheckHook
8 , pythonAtLeast
9 , pythonOlder
10 , pyyaml
13 buildPythonPackage rec {
14   pname = "glom";
15   version = "23.5.0";
16   format = "setuptools";
18   disabled = pythonOlder "3.7";
20   src = fetchPypi {
21     inherit pname version;
22     hash = "sha256-Bq9eNIaqzFk4K6NOU+vqvXqTRdePfby+4m8DuqS4O6w=";
23   };
25   postPatch = ''
26     substituteInPlace setup.py \
27       --replace "face==20.1.1" "face"
28   '';
30   propagatedBuildInputs = [
31     boltons
32     attrs
33     face
34   ];
36   nativeCheckInputs = [
37     pytestCheckHook
38     pyyaml
39   ];
41   preCheck = ''
42     # test_cli.py checks the output of running "glom"
43     export PATH=$out/bin:$PATH
44   '';
46   disabledTests = [
47     # Test is outdated (was made for PyYAML 3.x)
48     "test_main_yaml_target"
49   ] ++ lib.optionals (pythonAtLeast "3.11") [
50     "test_regular_error_stack"
51     "test_long_target_repr"
52   ];
54   pythonImportsCheck = [
55     "glom"
56   ];
58   meta = with lib; {
59     description = "Restructuring data, the Python way";
60     mainProgram = "glom";
61     longDescription = ''
62       glom helps pull together objects from other objects in a
63       declarative, dynamic, and downright simple way.
64     '';
65     homepage = "https://github.com/mahmoud/glom";
66     changelog = "https://github.com/mahmoud/glom/blob/v${version}/CHANGELOG.md";
67     license = licenses.bsd3;
68     maintainers = with maintainers; [ twey ];
69   };