1{ lib
2, buildPythonPackage
3, fetchPypi
4, boltons
5, attrs
6, face
7, pytestCheckHook
8, pyyaml
9, pythonOlder
10}:
11
12buildPythonPackage rec {
13 pname = "glom";
14 version = "22.1.0";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-FRDGWHqPnGSiRmQbcAM8vF696Z8CrSRWk2eAOOghrrU=";
22 };
23
24 propagatedBuildInputs = [
25 boltons
26 attrs
27 face
28 ];
29
30 checkInputs = [
31 pytestCheckHook
32 pyyaml
33 ];
34
35 preCheck = ''
36 # test_cli.py checks the output of running "glom"
37 export PATH=$out/bin:$PATH
38 '';
39
40 disabledTests = [
41 # Test is outdated (was made for PyYAML 3.x)
42 "test_main_yaml_target"
43 ];
44
45 pythonImportsCheck = [
46 "glom"
47 ];
48
49 meta = with lib; {
50 homepage = "https://github.com/mahmoud/glom";
51 description = "Restructuring data, the Python way";
52 longDescription = ''
53 glom helps pull together objects from other objects in a
54 declarative, dynamic, and downright simple way.
55 '';
56 license = licenses.bsd3;
57 maintainers = with maintainers; [ twey ];
58 };
59}