nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, cerberus
4, configparser
5, deepdiff
6, fetchFromGitHub
7, geoip2
8, jinja2
9, netmiko
10, openpyxl
11, pytestCheckHook
12, pyyaml
13, tabulate
14, ttp-templates
15, yangson
16}:
17
18buildPythonPackage rec {
19 pname = "ttp";
20 version = "0.8.4";
21 format = "setuptools";
22
23 src = fetchFromGitHub {
24 owner = "dmulyalin";
25 repo = pname;
26 rev = version;
27 hash = "sha256-vuKlddqm8KirqAJyvBPfRb5Nw9zo4Fl1bwbfVMhmH9g=";
28 };
29
30 propagatedBuildInputs = [
31 # https://github.com/dmulyalin/ttp/blob/master/docs/source/Installation.rst#additional-dependencies
32 cerberus
33 configparser
34 deepdiff
35 geoip2
36 jinja2
37 # n2g unpackaged
38 netmiko
39 # nornir unpackaged
40 openpyxl
41 tabulate
42 yangson
43 ];
44
45 pythonImportsCheck = [
46 "ttp"
47 ];
48
49 checkInputs = [
50 pytestCheckHook
51 pyyaml
52 ttp-templates
53 ];
54
55 disabledTestPaths = [
56 # missing package n2g
57 "test/pytest/test_N2G_formatter.py"
58 # missing test file
59 "test/pytest/test_extend_tag.py"
60 ];
61
62 disabledTests = [
63 # data structure mismatches
64 "test_yangson_validate"
65 "test_yangson_validate_yang_lib_in_output_tag_data"
66 "test_yangson_validate_multiple_inputs_mode_per_input_with_yang_lib_in_file"
67 "test_yangson_validate_multiple_inputs_mode_per_template"
68 "test_yangson_validate_multiple_inputs_mode_per_input_with_yang_lib_in_file_to_xml"
69 "test_yangson_validate_multiple_inputs_mode_per_template_to_xml"
70 "test_adding_data_from_files"
71 "test_lookup_include_csv"
72 "test_inputs_with_template_base_path"
73 "test_group_inputs"
74 "test_inputs_url_filters_extensions"
75 # ValueError: dictionary update sequence element #0 has length 1; 2 is required
76 "test_include_attribute_with_yaml_loader"
77 # TypeError: string indices must be integers
78 "test_lookup_include_yaml"
79 # Missing .xslx files *shrug*
80 "test_excel_formatter_update"
81 "test_excel_formatter_update_using_result_kwargs"
82 # missing package n2g
83 "test_n2g_formatter"
84 # missing test files
85 "test_TTP_CACHE_FOLDER_env_variable_usage"
86 # requires additional network setup
87 "test_child_group_do_not_start_if_no_parent_started"
88 # Assertion Error
89 "test_in_threads_parsing"
90 ];
91
92 pytestFlagsArray = [
93 "test/pytest"
94 ];
95
96 meta = with lib; {
97 description = "Template Text Parser";
98 homepage = "https://github.com/dmulyalin/ttp";
99 license = licenses.mit;
100 maintainers = with maintainers; [ hexa ];
101 };
102}