1{ lib
2, fetchFromGitHub
3, hiera-eyaml
4, python3
5}:
6
7python3.pkgs.buildPythonApplication rec {
8 pname = "yamlpath";
9 version = "3.8.0";
10 format = "setuptools";
11
12 src = fetchFromGitHub {
13 owner = "wwkimball";
14 repo = pname;
15 rev = "refs/tags/v${version}";
16 sha256 = "sha256-6N2s/LWFa3mgMQ88rt3IaWk+b2PTWfT7z1mi+ioQEyU=";
17 };
18
19 propagatedBuildInputs = with python3.pkgs; [
20 python-dateutil
21 ruamel-yaml
22 ];
23
24 nativeCheckInputs = with python3.pkgs; [
25 hiera-eyaml
26 mock
27 pytest-console-scripts
28 pytestCheckHook
29 ];
30
31 preCheck = ''
32 export PATH=$PATH:$out/bin
33 '';
34
35 pythonImportsCheck = [
36 "yamlpath"
37 ];
38
39 meta = with lib; {
40 description = "Command-line processors for YAML/JSON/Compatible data";
41 homepage = "https://github.com/wwkimball/yamlpath";
42 changelog = "https://github.com/wwkimball/yamlpath/releases/tag/v${version}";
43 longDescription = ''
44 Command-line get/set/merge/validate/scan/convert/diff processors for YAML/JSON/Compatible data
45 using powerful, intuitive, command-line friendly syntax
46 '';
47 license = licenses.isc;
48 maintainers = with maintainers; [ Flakebi ];
49 };
50}