diff --git a/.coverage b/.coverage index 1bededd..b05e973 100644 Binary files a/.coverage and b/.coverage differ diff --git a/README.md b/README.md index aacd8e3..48b4a94 100644 --- a/README.md +++ b/README.md @@ -142,9 +142,10 @@ Generator structure │   ├── template_provider.py │   └── templates/ │   └── setup.template - └── __init__.py + ├── __init__.py + └── py.typed - 7 directories, 23 files + 7 directories, 24 files ``` @@ -157,8 +158,8 @@ Generator structure |------|-------|------|-------| | `dist_py_module/__init__.py` | 8 | 0 | 100%| | `dist_py_module/application/__init__.py` | 8 | 0 | 100%| -| `dist_py_module/application/service.py` | 35 | 0 | 100%| -| `dist_py_module/application/service_bundle.py` | 29 | 0 | 100%| +| `dist_py_module/application/service.py` | 30 | 0 | 100%| +| `dist_py_module/application/service_bundle.py` | 28 | 0 | 100%| | `dist_py_module/dist_py_module_bundle.py` | 41 | 0 | 100%| | `dist_py_module/domain/__init__.py` | 8 | 0 | 100%| | `dist_py_module/domain/models.py` | 18 | 0 | 100%| @@ -166,7 +167,7 @@ Generator structure | `dist_py_module/domain/ports/ifile_gen.py` | 11 | 0 | 100%| | `dist_py_module/domain/ports/ifile_writer.py` | 10 | 0 | 100%| | `dist_py_module/domain/ports/itemplate_provider.py` | 10 | 0 | 100%| -| `dist_py_module/engine.py` | 64 | 0 | 100%| +| `dist_py_module/engine.py` | 69 | 0 | 100%| | `dist_py_module/infrastructure/__init__.py` | 8 | 0 | 100%| | `dist_py_module/infrastructure/cli.py` | 36 | 0 | 100%| | `dist_py_module/infrastructure/cli_bundle.py` | 33 | 0 | 100%| @@ -175,7 +176,7 @@ Generator structure | `dist_py_module/infrastructure/icli.py` | 11 | 0 | 100%| | `dist_py_module/infrastructure/icli_command.py` | 14 | 0 | 100%| | `dist_py_module/infrastructure/template_provider.py` | 29 | 0 | 100%| -| **Total** | 446 | 0 | 100% | +| **Total** | 445 | 0 | 100% | @@ -199,7 +200,7 @@ Running tool for creating new distributing py module ```bash mkdir -p demo/mytool/ -python3 main.py setup --package-name "dist_py_module" --version "3.1.0" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True" +python3 main.py setup --package-name "dist_py_module" --version "3.1.1" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True" ``` ### Docs diff --git a/ats_coverage.py b/ats_coverage.py index 92036f0..e3fddde 100644 --- a/ats_coverage.py +++ b/ats_coverage.py @@ -39,7 +39,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/ats_coverage' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/ats_coverage/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' @@ -345,7 +345,7 @@ def update_structure(pro_name: str) -> None: if __name__ == "__main__": cli: OptionManager = OptionManager(OptionComponentBundle(parameters={ 'description': 'ats_coverage 2025', - 'version': '3.1.0', + 'version': '3.1.1', 'licence': 'GPLv3' })) cli.add_operation( diff --git a/dist_py_module.json b/dist_py_module.json index 60e663e..2db5299 100644 --- a/dist_py_module.json +++ b/dist_py_module.json @@ -1 +1 @@ -{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2026-06-30T08:22:01.012475", "branch_coverage": false, "show_contexts": false}, "files": {"dist_py_module/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/service.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 56, 65, 66, 68, 69, 70, 72, 73, 90, 93, 96, 98, 104, 105, 113, 115, 116, 124], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FileGen.__init__": {"executed_lines": [65, 66, 68, 69, 70], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileGen.execute": {"executed_lines": [90, 93, 96, 98], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileGen.is_initialized": {"executed_lines": [113], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileGen.__str__": {"executed_lines": [124], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 56, 72, 73, 104, 105, 115, 116], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FileGen": {"executed_lines": [65, 66, 68, 69, 70, 90, 93, 96, 98, 113, 124], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 56, 72, 73, 104, 105, 115, 116], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/service_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 54, 55, 57, 65, 66, 68, 69, 71, 79, 80, 82, 83, 85, 93], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"ServiceBundle.validate": {"executed_lines": [65, 66, 68, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ServiceBundle.merge": {"executed_lines": [79, 80, 82, 83], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ServiceBundle.to_dict": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 54, 55, 57, 71, 85], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ServiceBundle": {"executed_lines": [65, 66, 68, 69, 79, 80, 82, 83, 93], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 54, 55, 57, 71, 85], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/dist_py_module_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 91, 99, 100, 102, 103, 105, 113], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DistPyModuleBundle.validate": {"executed_lines": [76, 77, 79, 80, 82, 83, 85, 86, 88, 89], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModuleBundle.merge": {"executed_lines": [99, 100, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModuleBundle.to_dict": {"executed_lines": [113], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 91, 105], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DistPyModuleBundle": {"executed_lines": [76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 99, 100, 102, 103, 113], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 91, 105], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/models.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53, 67, 69], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"GeneratedFile.from_template": {"executed_lines": [67, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"GeneratedFile": {"executed_lines": [67, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/ports/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/ports/ifile_gen.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 65, 66, 76, 77], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 36}, "missing_lines": [], "excluded_lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "functions": {"IFileGen.execute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 14}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]}, "IFileGen.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [67, 68, 69, 70, 71, 72, 73, 74]}, "IFileGen.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [78, 79, 80, 81, 82, 83, 84, 85]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 65, 66, 76, 77], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 65, 66, 76, 77]}}, "classes": {"IFileGen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 30}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 67, 68, 69, 70, 71, 72, 73, 74, 78, 79, 80, 81, 82, 83, 84, 85]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 65, 66, 76, 77], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 65, 66, 76, 77]}}}, "dist_py_module/domain/ports/ifile_writer.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 34}, "missing_lines": [], "excluded_lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "functions": {"IFileWriter.write_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 12}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]}, "IFileWriter.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [64, 65, 66, 67, 68, 69, 70, 71]}, "IFileWriter.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [75, 76, 77, 78, 79, 80, 81, 82]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 62, 63, 73, 74]}}, "classes": {"IFileWriter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 28}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 64, 65, 66, 67, 68, 69, 70, 71, 75, 76, 77, 78, 79, 80, 81, 82]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 62, 63, 73, 74]}}}, "dist_py_module/domain/ports/itemplate_provider.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 32}, "missing_lines": [], "excluded_lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "functions": {"ITemplateProvider.get_template_by_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58]}, "ITemplateProvider.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [62, 63, 64, 65, 66, 67, 68, 69]}, "ITemplateProvider.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [73, 74, 75, 76, 77, 78, 79, 80]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 60, 61, 71, 72]}}, "classes": {"ITemplateProvider": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 26}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 73, 74, 75, 76, 77, 78, 79, 80]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 60, 61, 71, 72]}}}, "dist_py_module/engine.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118, 120, 121, 127, 129, 130, 131, 132, 134, 135, 136, 138, 139, 141], "summary": {"covered_lines": 64, "num_statements": 64, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DistPyModule.__init__": {"executed_lines": [76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModule.process": {"executed_lines": [127, 129, 130, 131, 132, 134, 135, 136, 138, 139, 141], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 120, 121], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DistPyModule": {"executed_lines": [76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118, 127, 129, 130, 131, 132, 134, 135, 136, 138, 139, 141], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 120, 121], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/cli.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 67, 68, 70, 71, 72, 73, 74, 76, 77, 87, 88, 90, 94, 95, 103, 105, 106, 114], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"CLI.__init__": {"executed_lines": [67, 68, 70, 71, 72, 73, 74], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.run": {"executed_lines": [87, 88, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.is_initialized": {"executed_lines": [103], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.__str__": {"executed_lines": [114], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 76, 77, 94, 95, 105, 106], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CLI": {"executed_lines": [67, 68, 70, 71, 72, 73, 74, 87, 88, 90, 103, 114], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 76, 77, 94, 95, 105, 106], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/cli_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 69, 70, 72, 73, 75, 76, 78, 86, 87, 89, 90, 92, 100], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"CLIBundle.validate": {"executed_lines": [69, 70, 72, 73, 75, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLIBundle.merge": {"executed_lines": [86, 87, 89, 90], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLIBundle.to_dict": {"executed_lines": [100], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 78, 92], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CLIBundle": {"executed_lines": [69, 70, 72, 73, 75, 76, 86, 87, 89, 90, 100], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 78, 92], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/file_writer.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 65, 66, 68, 69, 71, 72, 73, 75, 77, 78, 86, 88, 89, 97], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FileWriter.write_file": {"executed_lines": [65, 66, 68, 69, 71, 72, 73, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileWriter.is_initialized": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileWriter.__str__": {"executed_lines": [97], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 77, 78, 88, 89], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FileWriter": {"executed_lines": [65, 66, 68, 69, 71, 72, 73, 75, 86, 97], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 77, 78, 88, 89], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/gen_setup_command.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 64, 66, 67, 68, 76, 78, 79, 80, 88, 126, 127, 139, 140, 142, 148, 149, 157], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"GenSetupCommand.name": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.help_text": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.options": {"executed_lines": [88], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.execute": {"executed_lines": [139, 140, 142], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.__str__": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 66, 67, 68, 78, 79, 80, 126, 127, 148, 149], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"GenSetupCommand": {"executed_lines": [64, 76, 88, 139, 140, 142, 157], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 66, 67, 68, 78, 79, 80, 126, 127, 148, 149], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/icli.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 30}, "missing_lines": [], "excluded_lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "functions": {"ICLI.run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57]}, "ICLI.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [61, 62, 63, 64, 65, 66, 67, 68]}, "ICLI.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [72, 73, 74, 75, 76, 77, 78, 79]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 59, 60, 70, 71]}}, "classes": {"ICLI": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 24}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 72, 73, 74, 75, 76, 77, 78, 79]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 59, 60, 70, 71]}}}, "dist_py_module/infrastructure/icli_command.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 57}, "missing_lines": [], "excluded_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "functions": {"ICLICommand.name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [56, 57, 58, 59, 60, 61, 62, 63]}, "ICLICommand.help_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [68, 69, 70, 71, 72, 73, 74, 75]}, "ICLICommand.options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [80, 81, 82, 83, 84, 85, 86, 87]}, "ICLICommand.execute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 12}, "missing_lines": [], "excluded_lines": [91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102]}, "ICLICommand.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [106, 107, 108, 109, 110, 111, 112, 113]}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13}, "missing_lines": [], "excluded_lines": [53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105]}}, "classes": {"ICLICommand": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 44}, "missing_lines": [], "excluded_lines": [56, 57, 58, 59, 60, 61, 62, 63, 68, 69, 70, 71, 72, 73, 74, 75, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 113]}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13}, "missing_lines": [], "excluded_lines": [53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105]}}}, "dist_py_module/infrastructure/template_provider.py": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 60, 62, 63, 64, 76, 78, 79, 81, 82, 84, 85, 93, 95, 96, 104], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"TemplateProvider.__init__": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.get_template_by_name": {"executed_lines": [76, 78, 79, 81, 82], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.is_initialized": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.__str__": {"executed_lines": [104], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 62, 63, 64, 84, 85, 95, 96], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TemplateProvider": {"executed_lines": [60, 76, 78, 79, 81, 82, 93, 104], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 62, 63, 64, 84, 85, 95, 96], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 446, "num_statements": 446, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 189}} \ No newline at end of file +{"meta": {"format": 3, "version": "7.6.10", "timestamp": "2026-07-01T12:33:23.172967", "branch_coverage": false, "show_contexts": false}, "files": {"dist_py_module/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/service.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 63, 64, 66, 67, 68, 70, 71, 88, 91, 94, 96, 102, 103, 111], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FileGen.__init__": {"executed_lines": [63, 64, 66, 67, 68], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileGen.execute": {"executed_lines": [88, 91, 94, 96], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileGen.is_initialized": {"executed_lines": [111], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 70, 71, 102, 103], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FileGen": {"executed_lines": [63, 64, 66, 67, 68, 88, 91, 94, 96, 111], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 70, 71, 102, 103], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/application/service_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 53, 54, 56, 64, 65, 67, 68, 70, 78, 79, 81, 82, 84, 92], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"ServiceBundle.validate": {"executed_lines": [64, 65, 67, 68], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ServiceBundle.merge": {"executed_lines": [78, 79, 81, 82], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ServiceBundle.to_dict": {"executed_lines": [92], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 53, 54, 56, 70, 84], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ServiceBundle": {"executed_lines": [64, 65, 67, 68, 78, 79, 81, 82, 92], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 53, 54, 56, 70, 84], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/dist_py_module_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 91, 99, 100, 102, 103, 105, 113], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DistPyModuleBundle.validate": {"executed_lines": [76, 77, 79, 80, 82, 83, 85, 86, 88, 89], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModuleBundle.merge": {"executed_lines": [99, 100, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModuleBundle.to_dict": {"executed_lines": [113], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 91, 105], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DistPyModuleBundle": {"executed_lines": [76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 99, 100, 102, 103, 113], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 59, 60, 61, 62, 63, 65, 91, 105], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/models.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53, 67, 69], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"GeneratedFile.from_template": {"executed_lines": [67, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"GeneratedFile": {"executed_lines": [67, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 49, 50, 52, 53], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/ports/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/domain/ports/ifile_gen.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 47, 48, 64, 65], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 26}, "missing_lines": [], "excluded_lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73], "functions": {"IFileGen.execute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 14}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62]}, "IFileGen.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [66, 67, 68, 69, 70, 71, 72, 73]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 47, 48, 64, 65], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [47, 48, 64, 65]}}, "classes": {"IFileGen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 22}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 66, 67, 68, 69, 70, 71, 72, 73]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 47, 48, 64, 65], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [47, 48, 64, 65]}}}, "dist_py_module/domain/ports/ifile_writer.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 34}, "missing_lines": [], "excluded_lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82], "functions": {"IFileWriter.write_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 12}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]}, "IFileWriter.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [64, 65, 66, 67, 68, 69, 70, 71]}, "IFileWriter.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [75, 76, 77, 78, 79, 80, 81, 82]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 62, 63, 73, 74]}}, "classes": {"IFileWriter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 28}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 64, 65, 66, 67, 68, 69, 70, 71, 75, 76, 77, 78, 79, 80, 81, 82]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 62, 63, 73, 74], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 62, 63, 73, 74]}}}, "dist_py_module/domain/ports/itemplate_provider.py": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 32}, "missing_lines": [], "excluded_lines": [47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80], "functions": {"ITemplateProvider.get_template_by_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58]}, "ITemplateProvider.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [62, 63, 64, 65, 66, 67, 68, 69]}, "ITemplateProvider.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [73, 74, 75, 76, 77, 78, 79, 80]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 60, 61, 71, 72]}}, "classes": {"ITemplateProvider": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 26}, "missing_lines": [], "excluded_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 73, 74, 75, 76, 77, 78, 79, 80]}, "": {"executed_lines": [3, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 47, 48, 60, 61, 71, 72], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [47, 48, 60, 61, 71, 72]}}}, "dist_py_module/engine.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118, 120, 121, 127, 129, 130, 131, 132, 133, 135, 136, 137, 139, 140, 142, 144, 145, 146, 147], "summary": {"covered_lines": 69, "num_statements": 69, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"DistPyModule.__init__": {"executed_lines": [76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "DistPyModule.process": {"executed_lines": [127, 129, 130, 131, 132, 133, 135, 136, 137, 139, 140, 142, 144, 145, 146, 147], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 120, 121], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DistPyModule": {"executed_lines": [76, 77, 79, 80, 81, 84, 87, 90, 91, 94, 97, 100, 103, 106, 107, 110, 113, 115, 116, 117, 118, 127, 129, 130, 131, 132, 133, 135, 136, 137, 139, 140, 142, 144, 145, 146, 147], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 66, 68, 120, 121], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/__init__.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/cli.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 67, 68, 70, 71, 72, 73, 74, 76, 77, 87, 88, 90, 94, 95, 103, 105, 106, 114], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"CLI.__init__": {"executed_lines": [67, 68, 70, 71, 72, 73, 74], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.run": {"executed_lines": [87, 88, 90], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.is_initialized": {"executed_lines": [103], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLI.__str__": {"executed_lines": [114], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 76, 77, 94, 95, 105, 106], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CLI": {"executed_lines": [67, 68, 70, 71, 72, 73, 74, 87, 88, 90, 103, 114], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 58, 76, 77, 94, 95, 105, 106], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/cli_bundle.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 69, 70, 72, 73, 75, 76, 78, 86, 87, 89, 90, 92, 100], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"CLIBundle.validate": {"executed_lines": [69, 70, 72, 73, 75, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLIBundle.merge": {"executed_lines": [86, 87, 89, 90], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "CLIBundle.to_dict": {"executed_lines": [100], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 78, 92], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"CLIBundle": {"executed_lines": [69, 70, 72, 73, 75, 76, 86, 87, 89, 90, 100], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 56, 57, 58, 60, 78, 92], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/file_writer.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 65, 66, 68, 69, 71, 72, 73, 75, 77, 78, 86, 88, 89, 97], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"FileWriter.write_file": {"executed_lines": [65, 66, 68, 69, 71, 72, 73, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileWriter.is_initialized": {"executed_lines": [86], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "FileWriter.__str__": {"executed_lines": [97], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 77, 78, 88, 89], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FileWriter": {"executed_lines": [65, 66, 68, 69, 71, 72, 73, 75, 86, 97], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 51, 52, 77, 78, 88, 89], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/gen_setup_command.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 64, 66, 67, 68, 76, 78, 79, 80, 88, 126, 127, 139, 140, 142, 148, 149, 157], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"GenSetupCommand.name": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.help_text": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.options": {"executed_lines": [88], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.execute": {"executed_lines": [139, 140, 142], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GenSetupCommand.__str__": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 66, 67, 68, 78, 79, 80, 126, 127, 148, 149], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"GenSetupCommand": {"executed_lines": [64, 76, 88, 139, 140, 142, 157], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 54, 55, 56, 66, 67, 68, 78, 79, 80, 126, 127, 148, 149], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "dist_py_module/infrastructure/icli.py": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 30}, "missing_lines": [], "excluded_lines": [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "functions": {"ICLI.run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57]}, "ICLI.is_initialized": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [61, 62, 63, 64, 65, 66, 67, 68]}, "ICLI.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [72, 73, 74, 75, 76, 77, 78, 79]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 59, 60, 70, 71]}}, "classes": {"ICLI": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 24}, "missing_lines": [], "excluded_lines": [50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 72, 73, 74, 75, 76, 77, 78, 79]}, "": {"executed_lines": [3, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 48, 49, 59, 60, 70, 71], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [48, 49, 59, 60, 70, 71]}}}, "dist_py_module/infrastructure/icli_command.py": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 57}, "missing_lines": [], "excluded_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113], "functions": {"ICLICommand.name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [56, 57, 58, 59, 60, 61, 62, 63]}, "ICLICommand.help_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [68, 69, 70, 71, 72, 73, 74, 75]}, "ICLICommand.options": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [80, 81, 82, 83, 84, 85, 86, 87]}, "ICLICommand.execute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 12}, "missing_lines": [], "excluded_lines": [91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102]}, "ICLICommand.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8}, "missing_lines": [], "excluded_lines": [106, 107, 108, 109, 110, 111, 112, 113]}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13}, "missing_lines": [], "excluded_lines": [53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105]}}, "classes": {"ICLICommand": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 44}, "missing_lines": [], "excluded_lines": [56, 57, 58, 59, 60, 61, 62, 63, 68, 69, 70, 71, 72, 73, 74, 75, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 110, 111, 112, 113]}, "": {"executed_lines": [3, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 13}, "missing_lines": [], "excluded_lines": [53, 54, 55, 65, 66, 67, 77, 78, 79, 89, 90, 104, 105]}}}, "dist_py_module/infrastructure/template_provider.py": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 60, 62, 63, 64, 76, 78, 79, 81, 82, 84, 85, 93, 95, 96, 104], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"TemplateProvider.__init__": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.get_template_by_name": {"executed_lines": [76, 78, 79, 81, 82], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.is_initialized": {"executed_lines": [93], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "TemplateProvider.__str__": {"executed_lines": [104], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 62, 63, 64, 84, 85, 95, 96], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TemplateProvider": {"executed_lines": [60, 76, 78, 79, 81, 82, 93, 104], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 52, 62, 63, 64, 84, 85, 95, 96], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}}, "totals": {"covered_lines": 445, "num_statements": 445, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 179}} \ No newline at end of file diff --git a/dist_py_module.xml b/dist_py_module.xml index 426553e..84d07f4 100644 --- a/dist_py_module.xml +++ b/dist_py_module.xml @@ -1,5 +1,5 @@ - + @@ -128,12 +128,17 @@ - + - + - + + + + + + @@ -162,35 +167,30 @@ - + - - - - - + + + + + - - - - - + + + + - - - - - - - + + + @@ -200,7 +200,7 @@ - + @@ -208,23 +208,22 @@ - + - + - - + + - + - - + + - + - - - + + diff --git a/dist_py_module/__init__.py b/dist_py_module/__init__.py index 2eb2cb1..cc58feb 100644 --- a/dist_py_module/__init__.py +++ b/dist_py_module/__init__.py @@ -23,7 +23,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/application/__init__.py b/dist_py_module/application/__init__.py index 5e0c8eb..b74a1e8 100644 --- a/dist_py_module/application/__init__.py +++ b/dist_py_module/application/__init__.py @@ -23,7 +23,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/application/service.py b/dist_py_module/application/service.py index b6a022f..f153ce0 100644 --- a/dist_py_module/application/service.py +++ b/dist_py_module/application/service.py @@ -20,8 +20,6 @@ ''' from typing import Any, override -from ats_utilities.factory_class import format_instance_to_string -from ats_utilities.exceptions.ats_value_error import ATSValueError from dist_py_module.domain.ports.ifile_gen import IFileGen from dist_py_module.application.service_bundle import ServiceBundle from dist_py_module.domain.ports.itemplate_provider import ITemplateProvider @@ -32,7 +30,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -60,10 +58,10 @@ def __init__(self, component_bundle: ServiceBundle) -> None: :param component_bundle: Bundle containing template provider and file writer. :type component_bundle: :exceptions: - | ATSValueError: Component bundle (ServiceBundle) cannot be None or invalid. + | ValueError: Component bundle (ServiceBundle) cannot be None or invalid. ''' if component_bundle is None: - raise ATSValueError('component bundle (ServiceBundle) cannot be None.') + raise ValueError('component bundle (ServiceBundle) cannot be None.') component_bundle.validate() self._template_provider: ITemplateProvider = component_bundle.template_provider @@ -111,14 +109,3 @@ def is_initialized(self) -> bool: :exceptions: None. ''' return True - - @override - def __str__(self) -> str: - ''' - Returns the file generator as string representation. - - :return: The file generator as string representation. - :rtype: - :exceptions: None. - ''' - return format_instance_to_string(self) diff --git a/dist_py_module/application/service_bundle.py b/dist_py_module/application/service_bundle.py index ea75bf3..a719b43 100644 --- a/dist_py_module/application/service_bundle.py +++ b/dist_py_module/application/service_bundle.py @@ -21,7 +21,6 @@ from dataclasses import dataclass from typing import Any -from ats_utilities.exceptions.ats_value_error import ATSValueError from dist_py_module.domain.ports.itemplate_provider import ITemplateProvider from dist_py_module.domain.ports.ifile_writer import IFileWriter @@ -29,7 +28,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -59,14 +58,14 @@ def validate(self) -> None: Validates that essential components are set. :exceptions: - | ATSValueError: Template provider must be provided. - | ATSValueError: File writer must be provided. + | ValueError: Template provider must be provided. + | ValueError: File writer must be provided. ''' if self.template_provider is None: - raise ATSValueError('template provider must be provided.') + raise ValueError('template provider must be provided.') if self.file_writer is None: - raise ATSValueError("file writer must be provided.") + raise ValueError("file writer must be provided.") def merge(self, other: 'ServiceBundle') -> None: ''' diff --git a/dist_py_module/dist_py_module_bundle.py b/dist_py_module/dist_py_module_bundle.py index 9abe37a..d08e7b4 100644 --- a/dist_py_module/dist_py_module_bundle.py +++ b/dist_py_module/dist_py_module_bundle.py @@ -32,7 +32,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/domain/__init__.py b/dist_py_module/domain/__init__.py index f096b36..cbc8799 100644 --- a/dist_py_module/domain/__init__.py +++ b/dist_py_module/domain/__init__.py @@ -23,7 +23,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/domain/models.py b/dist_py_module/domain/models.py index 7bbaced..46a1b4f 100644 --- a/dist_py_module/domain/models.py +++ b/dist_py_module/domain/models.py @@ -26,7 +26,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/domain/ports/__init__.py b/dist_py_module/domain/ports/__init__.py index 70519d7..8cd3214 100644 --- a/dist_py_module/domain/ports/__init__.py +++ b/dist_py_module/domain/ports/__init__.py @@ -23,7 +23,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/domain/ports/ifile_gen.py b/dist_py_module/domain/ports/ifile_gen.py index 1508f6a..10830ba 100644 --- a/dist_py_module/domain/ports/ifile_gen.py +++ b/dist_py_module/domain/ports/ifile_gen.py @@ -26,7 +26,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -42,7 +42,6 @@ class IFileGen(ABC): :methods: | execute - Executes the file generation. | is_initialized - Checks if the file generator component is initialized. - | __str__ - Returns the file generator as string representation. ''' @abstractmethod @@ -72,14 +71,3 @@ def is_initialized(self) -> bool: :exceptions: None. ''' pass - - @abstractmethod - def __str__(self) -> str: - ''' - Returns the file generator as string representation. - - :return: The file generator as string representation. - :rtype: - :exceptions: None. - ''' - pass diff --git a/dist_py_module/domain/ports/ifile_writer.py b/dist_py_module/domain/ports/ifile_writer.py index 81af3cb..1ae5452 100644 --- a/dist_py_module/domain/ports/ifile_writer.py +++ b/dist_py_module/domain/ports/ifile_writer.py @@ -25,7 +25,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/domain/ports/itemplate_provider.py b/dist_py_module/domain/ports/itemplate_provider.py index 91829c2..98ee49b 100644 --- a/dist_py_module/domain/ports/itemplate_provider.py +++ b/dist_py_module/domain/ports/itemplate_provider.py @@ -25,7 +25,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/engine.py b/dist_py_module/engine.py index e13be29..a122069 100644 --- a/dist_py_module/engine.py +++ b/dist_py_module/engine.py @@ -43,7 +43,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -60,7 +60,7 @@ class DistPyModule(Base): | _cli - Adapter for command line user interface. :methods: | __init__ - Initializes the DistPyModule engine with adapters and services. - | run - Starts the dist_py_module. + | process - Starts DistPyModule via CLI adapter. ''' _info_file: str = 'infrastructure/config/dist_py_module.cfg' @@ -112,7 +112,7 @@ def __init__(self, component_bundle: DistPyModuleBundle | None = None) -> None: ]) self._reporter.success(["✅ dist_py_module: engine initialized successfully."]) - except ATSValueError as exc: + except (ATSValueError, ValueError) as exc: self._reporter.error([f'❌ dist_py_module: {exc}']) except Exception as exc: self._reporter.error([f'❌ dist_py_module unexpected exception: {exc}']) @@ -120,22 +120,28 @@ def __init__(self, component_bundle: DistPyModuleBundle | None = None) -> None: @override def process(self) -> None: ''' - Starts the CLI adapter to run the tool command. + Starts DistPyModule via CLI adapter. :exceptions: None. ''' result: dict[str, Any] = {} - if self.is_initialized(): - self._reporter.success(["🔥 Starting execution command..."]) - result = self._cli.run() - self._reporter.success(["✅ Execution finished!"]) - - if result.get("returncode") != 0: - self._reporter.error([f'❌ dist_py_module: {result.get("stderr")}']) - self._reporter.error([f'❌ dist_py_module: exiting with error.']) + try: + if self.is_initialized(): + self._reporter.success(["🔥 Starting execution command..."]) + result = self._cli.run() + self._reporter.success(["✅ Execution finished!"]) + + if result.get("returncode") != 0: + self._reporter.error([f'❌ dist_py_module: {result.get("stderr")}']) + self._reporter.error([f'❌ dist_py_module: exiting with error.']) + else: + self._reporter.success([f'✅ dist_py_module: {result.get("stdout") or 'done!'}']) + self._reporter.success([f'✅ dist_py_module: exiting successfully.']) else: - self._reporter.success([f'✅ dist_py_module: {result.get("stdout") or 'done!'}']) - self._reporter.success([f'✅ dist_py_module: exiting successfully.']) - else: - self._reporter.error([f'❌ dist_py_module: engine not initialized.']) + self._reporter.error([f'❌ dist_py_module: engine not initialized.']) + + except (ATSValueError, ValueError) as exc: + self._reporter.error([f'❌ dist_py_module: {exc}']) + except Exception as exc: + self._reporter.error([f'❌ dist_py_module unexpected exception: {exc}']) diff --git a/dist_py_module/infrastructure/__init__.py b/dist_py_module/infrastructure/__init__.py index 03d9e7e..4215bdf 100644 --- a/dist_py_module/infrastructure/__init__.py +++ b/dist_py_module/infrastructure/__init__.py @@ -23,7 +23,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/cli.py b/dist_py_module/infrastructure/cli.py index 00331e3..d1720f9 100644 --- a/dist_py_module/infrastructure/cli.py +++ b/dist_py_module/infrastructure/cli.py @@ -32,7 +32,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/cli_bundle.py b/dist_py_module/infrastructure/cli_bundle.py index fad1807..c72ddc0 100644 --- a/dist_py_module/infrastructure/cli_bundle.py +++ b/dist_py_module/infrastructure/cli_bundle.py @@ -30,7 +30,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/config/dist_py_module.cfg b/dist_py_module/infrastructure/config/dist_py_module.cfg index 96fb5f9..bb81295 100644 --- a/dist_py_module/infrastructure/config/dist_py_module.cfg +++ b/dist_py_module/infrastructure/config/dist_py_module.cfg @@ -1,5 +1,5 @@ ats_name = dist_py_module -ats_version = 3.1.0 +ats_version = 3.1.1 ats_build_date = 23 Jun 2026 ats_licence = https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE ats_repository = dist_py_module diff --git a/dist_py_module/infrastructure/file_writer.py b/dist_py_module/infrastructure/file_writer.py index 17821dc..16a4f56 100644 --- a/dist_py_module/infrastructure/file_writer.py +++ b/dist_py_module/infrastructure/file_writer.py @@ -29,7 +29,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/gen_setup_command.py b/dist_py_module/infrastructure/gen_setup_command.py index aea3dc0..45919cc 100644 --- a/dist_py_module/infrastructure/gen_setup_command.py +++ b/dist_py_module/infrastructure/gen_setup_command.py @@ -30,7 +30,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/icli.py b/dist_py_module/infrastructure/icli.py index 9167411..50644bc 100644 --- a/dist_py_module/infrastructure/icli.py +++ b/dist_py_module/infrastructure/icli.py @@ -26,7 +26,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/icli_command.py b/dist_py_module/infrastructure/icli_command.py index dcdeddc..5c9f5f6 100644 --- a/dist_py_module/infrastructure/icli_command.py +++ b/dist_py_module/infrastructure/icli_command.py @@ -29,7 +29,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/infrastructure/template_provider.py b/dist_py_module/infrastructure/template_provider.py index becffdf..ee86693 100644 --- a/dist_py_module/infrastructure/template_provider.py +++ b/dist_py_module/infrastructure/template_provider.py @@ -28,7 +28,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/dist_py_module/py.typed b/dist_py_module/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/docs/build/.editorconfig b/docs/build/.editorconfig deleted file mode 100644 index b92ec54..0000000 --- a/docs/build/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -[**.*] -indent_style = tab -tab_width = 4 \ No newline at end of file diff --git a/docs/build/doctrees/.editorconfig b/docs/build/doctrees/.editorconfig deleted file mode 100644 index b92ec54..0000000 --- a/docs/build/doctrees/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -[**.*] -indent_style = tab -tab_width = 4 \ No newline at end of file diff --git a/docs/build/doctrees/dist_py_module.application.service_bundle.doctree b/docs/build/doctrees/dist_py_module.application.service_bundle.doctree index 71eb16d..d3c15be 100644 Binary files a/docs/build/doctrees/dist_py_module.application.service_bundle.doctree and b/docs/build/doctrees/dist_py_module.application.service_bundle.doctree differ diff --git a/docs/build/doctrees/dist_py_module.domain.ports.ifile_gen.doctree b/docs/build/doctrees/dist_py_module.domain.ports.ifile_gen.doctree index 849cc90..45555f6 100644 Binary files a/docs/build/doctrees/dist_py_module.domain.ports.ifile_gen.doctree and b/docs/build/doctrees/dist_py_module.domain.ports.ifile_gen.doctree differ diff --git a/docs/build/doctrees/dist_py_module.engine.doctree b/docs/build/doctrees/dist_py_module.engine.doctree index d197c8a..57176de 100644 Binary files a/docs/build/doctrees/dist_py_module.engine.doctree and b/docs/build/doctrees/dist_py_module.engine.doctree differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index a9923a2..9b1793e 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index c0beca3..6c8629b 100644 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/build/html/.editorconfig b/docs/build/html/.editorconfig deleted file mode 100644 index b92ec54..0000000 --- a/docs/build/html/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -[**.*] -indent_style = tab -tab_width = 4 \ No newline at end of file diff --git a/docs/build/html/_modules/dist_py_module/application/service.html b/docs/build/html/_modules/dist_py_module/application/service.html index 8419e20..ff6b8c0 100644 --- a/docs/build/html/_modules/dist_py_module/application/service.html +++ b/docs/build/html/_modules/dist_py_module/application/service.html @@ -58,8 +58,6 @@

Source code for dist_py_module.application.service

''' from typing import Any, override -from ats_utilities.factory_class import format_instance_to_string -from ats_utilities.exceptions.ats_value_error import ATSValueError from dist_py_module.domain.ports.ifile_gen import IFileGen from dist_py_module.application.service_bundle import ServiceBundle from dist_py_module.domain.ports.itemplate_provider import ITemplateProvider @@ -70,7 +68,7 @@

Source code for dist_py_module.application.service

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -100,10 +98,10 @@

Source code for dist_py_module.application.service

:param component_bundle: Bundle containing template provider and file writer. :type component_bundle: <ServiceBundle> :exceptions: - | ATSValueError: Component bundle (ServiceBundle) cannot be None or invalid. + | ValueError: Component bundle (ServiceBundle) cannot be None or invalid. ''' if component_bundle is None: - raise ATSValueError('component bundle (ServiceBundle) cannot be None.') + raise ValueError('component bundle (ServiceBundle) cannot be None.') component_bundle.validate() self._template_provider: ITemplateProvider = component_bundle.template_provider @@ -156,18 +154,7 @@

Source code for dist_py_module.application.service

:exceptions: None. ''' return True
- - - @override - def __str__(self) -> str: - ''' - Returns the file generator as string representation. - - :return: The file generator as string representation. - :rtype: <str> - :exceptions: None. - ''' - return format_instance_to_string(self)
+
diff --git a/docs/build/html/_modules/dist_py_module/application/service_bundle.html b/docs/build/html/_modules/dist_py_module/application/service_bundle.html index 6bf20c2..194fbb2 100644 --- a/docs/build/html/_modules/dist_py_module/application/service_bundle.html +++ b/docs/build/html/_modules/dist_py_module/application/service_bundle.html @@ -59,7 +59,6 @@

Source code for dist_py_module.application.service_bundle

from dataclasses import dataclass from typing import Any -from ats_utilities.exceptions.ats_value_error import ATSValueError from dist_py_module.domain.ports.itemplate_provider import ITemplateProvider from dist_py_module.domain.ports.ifile_writer import IFileWriter @@ -67,7 +66,7 @@

Source code for dist_py_module.application.service_bundle

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -101,14 +100,14 @@

Source code for dist_py_module.application.service_bundle

Validates that essential components are set. :exceptions: - | ATSValueError: Template provider must be provided. - | ATSValueError: File writer must be provided. + | ValueError: Template provider must be provided. + | ValueError: File writer must be provided. ''' if self.template_provider is None: - raise ATSValueError('template provider must be provided.') + raise ValueError('template provider must be provided.') if self.file_writer is None: - raise ATSValueError("file writer must be provided.")
+ raise ValueError("file writer must be provided.")
diff --git a/docs/build/html/_modules/dist_py_module/dist_py_module_bundle.html b/docs/build/html/_modules/dist_py_module/dist_py_module_bundle.html index 36c561d..79cdf54 100644 --- a/docs/build/html/_modules/dist_py_module/dist_py_module_bundle.html +++ b/docs/build/html/_modules/dist_py_module/dist_py_module_bundle.html @@ -70,7 +70,7 @@

Source code for dist_py_module.dist_py_module_bundle

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/domain/models.html b/docs/build/html/_modules/dist_py_module/domain/models.html index 8d6da3c..eda5ad1 100644 --- a/docs/build/html/_modules/dist_py_module/domain/models.html +++ b/docs/build/html/_modules/dist_py_module/domain/models.html @@ -64,7 +64,7 @@

Source code for dist_py_module.domain.models

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module'
 __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE'
-__version__: str = '3.1.0'
+__version__: str = '3.1.1'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Development'
diff --git a/docs/build/html/_modules/dist_py_module/domain/ports/ifile_gen.html b/docs/build/html/_modules/dist_py_module/domain/ports/ifile_gen.html
index 10e4b39..50901de 100644
--- a/docs/build/html/_modules/dist_py_module/domain/ports/ifile_gen.html
+++ b/docs/build/html/_modules/dist_py_module/domain/ports/ifile_gen.html
@@ -64,7 +64,7 @@ 

Source code for dist_py_module.domain.ports.ifile_gen

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -82,7 +82,6 @@

Source code for dist_py_module.domain.ports.ifile_gen

:methods: | execute - Executes the file generation. | is_initialized - Checks if the file generator component is initialized. - | __str__ - Returns the file generator as string representation. '''
@@ -117,18 +116,7 @@

Source code for dist_py_module.domain.ports.ifile_gen

:exceptions: None. ''' pass
- - - @abstractmethod - def __str__(self) -> str: - ''' - Returns the file generator as string representation. - - :return: The file generator as string representation. - :rtype: <str> - :exceptions: None. - ''' - pass
+
diff --git a/docs/build/html/_modules/dist_py_module/domain/ports/ifile_writer.html b/docs/build/html/_modules/dist_py_module/domain/ports/ifile_writer.html index 8480da7..9bc4a5b 100644 --- a/docs/build/html/_modules/dist_py_module/domain/ports/ifile_writer.html +++ b/docs/build/html/_modules/dist_py_module/domain/ports/ifile_writer.html @@ -63,7 +63,7 @@

Source code for dist_py_module.domain.ports.ifile_writer

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/domain/ports/itemplate_provider.html b/docs/build/html/_modules/dist_py_module/domain/ports/itemplate_provider.html index 374b5d8..e6c45c8 100644 --- a/docs/build/html/_modules/dist_py_module/domain/ports/itemplate_provider.html +++ b/docs/build/html/_modules/dist_py_module/domain/ports/itemplate_provider.html @@ -63,7 +63,7 @@

Source code for dist_py_module.domain.ports.itemplate_provider

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/engine.html b/docs/build/html/_modules/dist_py_module/engine.html index 5e34481..ccb4253 100644 --- a/docs/build/html/_modules/dist_py_module/engine.html +++ b/docs/build/html/_modules/dist_py_module/engine.html @@ -81,7 +81,7 @@

Source code for dist_py_module.engine

 __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module'
 __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE'
-__version__: str = '3.1.0'
+__version__: str = '3.1.1'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Development'
@@ -100,7 +100,7 @@ 

Source code for dist_py_module.engine

                 | _cli - Adapter for command line user interface.
             :methods:
                 | __init__ - Initializes the DistPyModule engine with adapters and services.
-                | run - Starts the dist_py_module.
+                | process - Starts DistPyModule via CLI adapter.
     '''
 
     _info_file: str = 'infrastructure/config/dist_py_module.cfg'
@@ -152,7 +152,7 @@ 

Source code for dist_py_module.engine

             ])
             self._reporter.success(["✅ dist_py_module: engine initialized successfully."])
 
-        except ATSValueError as exc:
+        except (ATSValueError, ValueError) as exc:
             self._reporter.error([f'❌ dist_py_module: {exc}'])
         except Exception as exc:
             self._reporter.error([f'❌ dist_py_module unexpected exception: {exc}'])
@@ -162,25 +162,31 @@ 

Source code for dist_py_module.engine

     @override
     def process(self) -> None:
         '''
-            Starts the CLI adapter to run the tool command.
+            Starts DistPyModule via CLI adapter.
 
             :exceptions: None.
         '''
         result: dict[str, Any] = {}
 
-        if self.is_initialized():
-            self._reporter.success(["🔥 Starting execution command..."])
-            result = self._cli.run()
-            self._reporter.success(["✅ Execution finished!"])
-
-            if result.get("returncode") != 0:
-                self._reporter.error([f'❌ dist_py_module: {result.get("stderr")}'])
-                self._reporter.error([f'❌ dist_py_module: exiting with error.'])
+        try:
+            if self.is_initialized():
+                self._reporter.success(["🔥 Starting execution command..."])
+                result = self._cli.run()
+                self._reporter.success(["✅ Execution finished!"])
+
+                if result.get("returncode") != 0:
+                    self._reporter.error([f'❌ dist_py_module: {result.get("stderr")}'])
+                    self._reporter.error([f'❌ dist_py_module: exiting with error.'])
+                else:
+                    self._reporter.success([f'✅ dist_py_module: {result.get("stdout") or 'done!'}'])
+                    self._reporter.success([f'✅ dist_py_module: exiting successfully.'])
             else:
-                self._reporter.success([f'✅ dist_py_module: {result.get("stdout") or 'done!'}'])
-                self._reporter.success([f'✅ dist_py_module: exiting successfully.'])
-        else:
-            self._reporter.error([f'❌ dist_py_module: engine not initialized.'])
+ self._reporter.error([f'❌ dist_py_module: engine not initialized.']) + + except (ATSValueError, ValueError) as exc: + self._reporter.error([f'❌ dist_py_module: {exc}']) + except Exception as exc: + self._reporter.error([f'❌ dist_py_module unexpected exception: {exc}'])
diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/cli.html b/docs/build/html/_modules/dist_py_module/infrastructure/cli.html index 587ca56..20d2d34 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/cli.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/cli.html @@ -70,7 +70,7 @@

Source code for dist_py_module.infrastructure.cli

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/cli_bundle.html b/docs/build/html/_modules/dist_py_module/infrastructure/cli_bundle.html index 9d76bad..b23463f 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/cli_bundle.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/cli_bundle.html @@ -68,7 +68,7 @@

Source code for dist_py_module.infrastructure.cli_bundle

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/file_writer.html b/docs/build/html/_modules/dist_py_module/infrastructure/file_writer.html index 948bdb9..e7ac5bb 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/file_writer.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/file_writer.html @@ -67,7 +67,7 @@

Source code for dist_py_module.infrastructure.file_writer

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/gen_setup_command.html b/docs/build/html/_modules/dist_py_module/infrastructure/gen_setup_command.html index 7c16d3b..fb03ef2 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/gen_setup_command.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/gen_setup_command.html @@ -68,7 +68,7 @@

Source code for dist_py_module.infrastructure.gen_setup_command

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/icli.html b/docs/build/html/_modules/dist_py_module/infrastructure/icli.html index 8b2a628..165e1cf 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/icli.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/icli.html @@ -64,7 +64,7 @@

Source code for dist_py_module.infrastructure.icli

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/icli_command.html b/docs/build/html/_modules/dist_py_module/infrastructure/icli_command.html index 4f10c86..b1c8b60 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/icli_command.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/icli_command.html @@ -67,7 +67,7 @@

Source code for dist_py_module.infrastructure.icli_command

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/dist_py_module/infrastructure/template_provider.html b/docs/build/html/_modules/dist_py_module/infrastructure/template_provider.html index 38aec67..6d6e487 100644 --- a/docs/build/html/_modules/dist_py_module/infrastructure/template_provider.html +++ b/docs/build/html/_modules/dist_py_module/infrastructure/template_provider.html @@ -66,7 +66,7 @@

Source code for dist_py_module.infrastructure.template_provider

__copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/docs/build/html/_modules/main.html b/docs/build/html/_modules/main.html index bb57909..74f7aed 100644 --- a/docs/build/html/_modules/main.html +++ b/docs/build/html/_modules/main.html @@ -63,7 +63,7 @@

Source code for main

 __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module'
 __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation']
 __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE'
-__version__: str = '3.1.0'
+__version__: str = '3.1.1'
 __maintainer__: str = 'Vladimir Roncevic'
 __email__: str = 'elektron.ronca@gmail.com'
 __status__: str = 'Development'
diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt
index ec5f885..f0fd8b6 100644
--- a/docs/build/html/_sources/index.rst.txt
+++ b/docs/build/html/_sources/index.rst.txt
@@ -136,7 +136,7 @@ Running tool for creating new distributing py module
 
     mkdir -p demo/mytool/
 
-    python3 main.py setup --package-name "dist_py_module" --version "3.1.0" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True"
+    python3 main.py setup --package-name "dist_py_module" --version "3.1.1" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True"
 
 Copyright and licence
 -----------------------
diff --git a/docs/build/html/dist_py_module.application.service_bundle.html b/docs/build/html/dist_py_module.application.service_bundle.html
index c1dd20e..54995ad 100644
--- a/docs/build/html/dist_py_module.application.service_bundle.html
+++ b/docs/build/html/dist_py_module.application.service_bundle.html
@@ -137,8 +137,8 @@ 

Navigation

Exceptions:
-
ATSValueError: Template provider must be provided.
-
ATSValueError: File writer must be provided.
+
ValueError: Template provider must be provided.
+
ValueError: File writer must be provided.
diff --git a/docs/build/html/dist_py_module.domain.ports.ifile_gen.html b/docs/build/html/dist_py_module.domain.ports.ifile_gen.html index ae57866..b213817 100644 --- a/docs/build/html/dist_py_module.domain.ports.ifile_gen.html +++ b/docs/build/html/dist_py_module.domain.ports.ifile_gen.html @@ -82,7 +82,6 @@

Navigation

execute - Executes the file generation.
is_initialized - Checks if the file generator component is initialized.
-
__str__ - Returns the file generator as string representation.
diff --git a/docs/build/html/dist_py_module.engine.html b/docs/build/html/dist_py_module.engine.html index 6708fd1..1edccb7 100644 --- a/docs/build/html/dist_py_module.engine.html +++ b/docs/build/html/dist_py_module.engine.html @@ -82,7 +82,7 @@

Navigation

methods:
__init__ - Initializes the DistPyModule engine with adapters and services.
-
run - Starts the dist_py_module.
+
process - Starts DistPyModule via CLI adapter.
@@ -100,7 +100,7 @@

Navigation

process() None[source]
-

Starts the CLI adapter to run the tool command.

+

Starts DistPyModule via CLI adapter.

Exceptions:

None.

diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 3d6c8a9..f3f7d95 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -155,7 +155,7 @@

Usage

Running tool for creating new distributing py module

mkdir -p demo/mytool/
 
-python3 main.py setup --package-name "dist_py_module" --version "3.1.0" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True"
+python3 main.py setup --package-name "dist_py_module" --version "3.1.1" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True"
 
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 5ae2e54..2c7138f 100644 Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index c51ca07..fc8e489 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["dist_py_module", "dist_py_module.application", "dist_py_module.application.service", "dist_py_module.application.service_bundle", "dist_py_module.dist_py_module_bundle", "dist_py_module.domain", "dist_py_module.domain.models", "dist_py_module.domain.ports", "dist_py_module.domain.ports.ifile_gen", "dist_py_module.domain.ports.ifile_writer", "dist_py_module.domain.ports.itemplate_provider", "dist_py_module.engine", "dist_py_module.infrastructure", "dist_py_module.infrastructure.cli", "dist_py_module.infrastructure.cli_bundle", "dist_py_module.infrastructure.file_writer", "dist_py_module.infrastructure.gen_setup_command", "dist_py_module.infrastructure.icli", "dist_py_module.infrastructure.icli_command", "dist_py_module.infrastructure.template_provider", "index", "main", "modules"], "filenames": ["dist_py_module.rst", "dist_py_module.application.rst", "dist_py_module.application.service.rst", "dist_py_module.application.service_bundle.rst", "dist_py_module.dist_py_module_bundle.rst", "dist_py_module.domain.rst", "dist_py_module.domain.models.rst", "dist_py_module.domain.ports.rst", "dist_py_module.domain.ports.ifile_gen.rst", "dist_py_module.domain.ports.ifile_writer.rst", "dist_py_module.domain.ports.itemplate_provider.rst", "dist_py_module.engine.rst", "dist_py_module.infrastructure.rst", "dist_py_module.infrastructure.cli.rst", "dist_py_module.infrastructure.cli_bundle.rst", "dist_py_module.infrastructure.file_writer.rst", "dist_py_module.infrastructure.gen_setup_command.rst", "dist_py_module.infrastructure.icli.rst", "dist_py_module.infrastructure.icli_command.rst", "dist_py_module.infrastructure.template_provider.rst", "index.rst", "main.rst", "modules.rst"], "titles": ["dist_py_module package", "dist_py_module.application package", "dist_py_module.application.service module", "dist_py_module.application.service_bundle module", "dist_py_module.dist_py_module_bundle module", "dist_py_module.domain package", "dist_py_module.domain.models module", "dist_py_module.domain.ports package", "dist_py_module.domain.ports.ifile_gen module", "dist_py_module.domain.ports.ifile_writer module", "dist_py_module.domain.ports.itemplate_provider module", "dist_py_module.engine module", "dist_py_module.infrastructure package", "dist_py_module.infrastructure.cli module", "dist_py_module.infrastructure.cli_bundle module", "dist_py_module.infrastructure.file_writer module", "dist_py_module.infrastructure.gen_setup_command module", "dist_py_module.infrastructure.icli module", "dist_py_module.infrastructure.icli_command module", "dist_py_module.infrastructure.template_provider module", "Generate setup.py", "main module", "dist_py_module"], "terms": {"applic": [0, 4, 20, 21, 22], "servic": [0, 1, 3, 4, 11, 12, 13, 14, 16, 18, 20], "filegen": [0, 1, 2], "service_bundl": [0, 1, 20], "servicebundl": [0, 1, 2, 3], "domain": [0, 20, 22], "port": [0, 5, 13, 20], "model": [0, 5, 20], "generatedfil": [0, 5, 6], "infrastructur": [0, 11, 20, 22], "cli": [0, 4, 11, 12, 14, 16, 17, 18, 20, 21], "cli_bundl": [0, 12, 20], "clibundl": [0, 12, 13, 14], "file_writ": [0, 1, 3, 4, 12, 20], "filewrit": [0, 12, 15], "gen_setup_command": [0, 12, 20], "gensetupcommand": [0, 12, 16], "icli": [0, 4, 12, 13, 20], "icli_command": [0, 12, 20], "iclicommand": [0, 12, 14, 16, 18], "template_provid": [0, 1, 3, 4, 12, 20], "templateprovid": [0, 12, 19], "dist_py_module_bundl": [0, 20, 22], "distpymodulebundl": [0, 4, 11, 22], "merg": [0, 1, 3, 4, 12, 14], "parser": [0, 4, 12, 13, 14, 16, 18], "to_dict": [0, 1, 3, 4, 12, 14], "valid": [0, 1, 3, 4, 12, 14], "engin": [0, 20, 22], "distpymodul": [0, 11, 21, 22], "_abc_impl": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "_info_fil": [0, 11], "process": [0, 2, 11], "__init__": [0, 1, 5, 7, 11, 12, 13, 19, 20], "py": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "copyright": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "2026": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "vladimir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "roncev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "elektron": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ronca": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gmail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "free": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "redistribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "modifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "under": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gnu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "public": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "licens": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "publish": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "foundat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "either": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "later": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "distribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "hope": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "without": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "warranti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "impli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "merchant": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "fit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "FOR": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "particular": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "purpos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "more": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "detail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "should": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "receiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "along": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "www": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "org": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "info": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "initi": [0, 1, 2, 5, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19], "execut": [1, 2, 7, 8, 11, 12, 13, 16, 18], "is_initi": [1, 2, 7, 8, 9, 10, 12, 13, 15, 17, 19], "defin": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "file": [2, 3, 4, 6, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20], "class": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "component_bundl": [2, 11, 13], "sourc": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "base": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20], "ifilegen": [2, 4, 5, 7, 8, 14, 16, 18], "orchestr": [2, 4, 11, 13, 14, 16, 18], "It": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "attribut": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "_template_provid": 2, "adapt": [2, 3, 4, 11, 13, 14, 15, 17, 19, 21], "provid": [2, 3, 4, 10, 14, 19, 20], "raw": [2, 3, 6, 10, 20], "templat": [2, 3, 4, 6, 8, 10, 19, 20], "_file_writ": 2, "write": [2, 3, 4, 9, 15], "method": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "user": [2, 4, 11], "check": [2, 8, 9, 10, 13, 15, 17, 19], "compon": [2, 3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "__str__": [2, 8, 9, 10, 13, 15, 16, 17, 18, 19], "return": [2, 3, 4, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19], "string": [2, 6, 8, 9, 10, 13, 15, 16, 17, 18, 19], "represent": [2, 3, 4, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19], "_abc": [2, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19], "_abc_data": [2, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19], "object": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "template_nam": [2, 8], "str": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "target_filenam": [2, 8], "cli_param": [2, 8], "dict": [2, 3, 4, 6, 8, 13, 14, 16, 17, 18], "from": [2, 3, 4, 6, 14, 16, 18, 19], "target": [2, 6, 9], "path": [2, 6, 8, 9, 11, 15, 19], "paramet": [2, 3, 4, 6, 8, 9, 10, 14, 15, 16, 18, 19], "The": [2, 6, 8, 9, 10, 15, 16, 18, 19, 20], "name": [2, 5, 6, 8, 10, 12, 13, 16, 18, 19, 20], "output": [2, 8], "filenam": [2, 6, 8, 9, 15], "format": [2, 6, 8], "code": [2, 8, 11, 13, 16, 17, 18, 20, 21], "stdout": [2, 8, 13, 16, 17, 18], "stderr": [2, 8, 13, 16, 17, 18], "messag": [2, 8, 13, 16, 17, 18], "type": [2, 3, 4, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20], "except": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "filenotfounderror": [2, 19], "found": 2, "oserror": [2, 13, 15, 19], "an": [2, 15], "o": [2, 13, 15, 20], "error": [2, 13, 15], "occur": [2, 15], "while": 2, "bool": [2, 8, 9, 10, 13, 15, 17, 19], "true": [2, 8, 9, 10, 13, 15, 17, 19, 20], "success": [2, 8, 9, 10, 13, 15, 17, 19], "fals": [2, 8, 9, 10, 13, 15, 17, 19], "fail": [2, 8, 9, 10, 13, 15, 17, 19], "none": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "bundl": [3, 4, 14], "itemplateprovid": [3, 4, 5, 7, 10, 19], "ifilewrit": [3, 4, 5, 7, 9, 15], "data": [3, 14], "default": [3, 4, 14], "essenti": [3, 14], "ar": [3, 14, 19], "set": [3, 14], "non": [3, 4, 14], "valu": [3, 4, 14], "anoth": [3, 4, 14], "convert": [3, 4, 14], "dictionari": [3, 4, 14], "other": [3, 4, 14, 20], "one": [3, 4, 14], "atsvalueerror": [3, 4, 14], "must": [3, 4, 14], "writer": [3, 4, 9, 15], "ioptionmanag": [4, 14], "hold": 4, "all": 4, "read": [4, 19], "argument": [4, 13, 14, 17], "command": [4, 11, 12, 13, 14, 16, 17, 18], "line": [4, 11, 17], "interfac": [4, 8, 9, 10, 11, 17, 18], "ifile_gen": [5, 7, 20], "ifile_writ": [5, 7, 20], "itemplate_provid": [5, 7, 20], "from_templ": [5, 6], "repres": [6, 18], "content": [6, 9, 10, 15, 19, 22], "render": 6, "factori": 6, "build": 6, "classmethod": 6, "raw_templ": 6, "param": [6, 16, 18], "destin": [6, 9, 15], "fill": 6, "instanc": [6, 13, 14, 16, 18], "write_fil": [7, 9, 12, 15], "get_template_by_nam": [7, 10, 12, 19], "abstract": [8, 9, 10, 17, 18], "abc": [8, 9, 10, 17], "specifi": 9, "text": [9, 15, 16, 18], "wa": [9, 15], "written": [9, 15], "successfulli": [9, 15], "otherwis": [9, 15], "retriev": 10, "its": 10, "main": [11, 20, 22], "task": [11, 21], "_cli": 11, "run": [11, 12, 13, 17, 20, 21], "start": 11, "config": [11, 20], "cfg": [11, 20], "tool": 11, "help_text": [12, 16, 18], "implement": [13, 15, 16], "inbound": 13, "_servic": 13, "_parser": 13, "_command": 13, "map": 13, "pars": [13, 14, 17], "select": [13, 17], "systemexit": 13, "system": 13, "exit": 13, "list": [14, 16, 18], "arg": 14, "local": 15, "filesystem": [15, 19], "creat": [15, 20], "parent": 15, "directori": [15, 19, 20], "need": 15, "strategi": [16, 17, 18], "subcommand": [16, 18], "setup": 16, "kei": [16, 18], "help": [16, 18, 20], "configur": 16, "logic": [16, 18], "properti": [16, 18], "commandopt": [16, 18], "primari": 17, "commandlineinterfac": 17, "ioptioncommand": 18, "perform": 18, "action": 18, "load": 19, "templates_dir": 19, "_templates_dir": 19, "where": 19, "store": 19, "doe": 19, "exist": 19, "cannot": 19, "dist_py_modul": [20, 21], "toolset": 20, "develop": 20, "python": 20, "readm": 20, "introduc": 20, "instruct": 20, "how": 20, "machin": 20, "mai": 20, "inform": 20, "befor": 20, "packag": [20, 22], "subpackag": [20, 22], "submodul": [20, 22], "modul": [20, 22], "navig": 20, "releas": 20, "page": 20, "download": 20, "extract": 20, "archiv": 20, "To": 20, "follow": 20, "tar": 20, "xvzf": 20, "x": 20, "y": 20, "z": 20, "gz": 20, "cd": 20, "pyton3": 20, "pip3": 20, "r": 20, "requir": [20, 21], "txt": 20, "python3": 20, "install_lib": 20, "install_data": 20, "install_egg_info": 20, "docker": 20, "imag": 20, "contain": 20, "pip": 20, "dist": 20, "next": 20, "librari": 20, "ats": 20, "util": 20, "app": 20, "script": 20, "oop": 20, "logo": 20, "7": 20, "23": 20, "prepar": 20, "entri": [20, 21], "point": [20, 21], "wget": 20, "githubusercont": 20, "vroncev": 20, "master": 20, "new": 20, "mkdir": 20, "p": 20, "demo": 20, "mytool": 20, "1": 20, "0": 20, "descript": 20, "author": 20, "email": 20, "github": 20, "gpl": 20, "2017": 20, "io": 20, "same": 20, "itself": 20, "avail": 20, "let": 20, "support": 20, "psf": 20, "index": 20, "search": 20, "bootstrap": 21}, "objects": {"": [[0, 0, 0, "-", "dist_py_module"], [21, 0, 0, "-", "main"]], "dist_py_module": [[1, 0, 0, "-", "application"], [4, 0, 0, "-", "dist_py_module_bundle"], [5, 0, 0, "-", "domain"], [11, 0, 0, "-", "engine"], [12, 0, 0, "-", "infrastructure"]], "dist_py_module.application": [[2, 0, 0, "-", "service"], [3, 0, 0, "-", "service_bundle"]], "dist_py_module.application.service": [[2, 1, 1, "", "FileGen"]], "dist_py_module.application.service.FileGen": [[2, 2, 1, "", "_abc_impl"], [2, 3, 1, "", "execute"], [2, 3, 1, "", "is_initialized"]], "dist_py_module.application.service_bundle": [[3, 1, 1, "", "ServiceBundle"]], "dist_py_module.application.service_bundle.ServiceBundle": [[3, 2, 1, "", "file_writer"], [3, 3, 1, "", "merge"], [3, 2, 1, "", "template_provider"], [3, 3, 1, "", "to_dict"], [3, 3, 1, "", "validate"]], "dist_py_module.dist_py_module_bundle": [[4, 1, 1, "", "DistPyModuleBundle"]], "dist_py_module.dist_py_module_bundle.DistPyModuleBundle": [[4, 2, 1, "", "cli"], [4, 2, 1, "", "file_writer"], [4, 3, 1, "", "merge"], [4, 2, 1, "", "parser"], [4, 2, 1, "", "service"], [4, 2, 1, "", "template_provider"], [4, 3, 1, "", "to_dict"], [4, 3, 1, "", "validate"]], "dist_py_module.domain": [[6, 0, 0, "-", "models"], [7, 0, 0, "-", "ports"]], "dist_py_module.domain.models": [[6, 1, 1, "", "GeneratedFile"]], "dist_py_module.domain.models.GeneratedFile": [[6, 2, 1, "", "content"], [6, 3, 1, "", "from_template"], [6, 2, 1, "", "name"]], "dist_py_module.domain.ports": [[8, 0, 0, "-", "ifile_gen"], [9, 0, 0, "-", "ifile_writer"], [10, 0, 0, "-", "itemplate_provider"]], "dist_py_module.domain.ports.ifile_gen": [[8, 1, 1, "", "IFileGen"]], "dist_py_module.domain.ports.ifile_gen.IFileGen": [[8, 2, 1, "", "_abc_impl"], [8, 3, 1, "", "execute"], [8, 3, 1, "", "is_initialized"]], "dist_py_module.domain.ports.ifile_writer": [[9, 1, 1, "", "IFileWriter"]], "dist_py_module.domain.ports.ifile_writer.IFileWriter": [[9, 2, 1, "", "_abc_impl"], [9, 3, 1, "", "is_initialized"], [9, 3, 1, "", "write_file"]], "dist_py_module.domain.ports.itemplate_provider": [[10, 1, 1, "", "ITemplateProvider"]], "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider": [[10, 2, 1, "", "_abc_impl"], [10, 3, 1, "", "get_template_by_name"], [10, 3, 1, "", "is_initialized"]], "dist_py_module.engine": [[11, 1, 1, "", "DistPyModule"]], "dist_py_module.engine.DistPyModule": [[11, 2, 1, "", "_abc_impl"], [11, 2, 1, "", "_info_file"], [11, 3, 1, "", "process"]], "dist_py_module.infrastructure": [[13, 0, 0, "-", "cli"], [14, 0, 0, "-", "cli_bundle"], [15, 0, 0, "-", "file_writer"], [16, 0, 0, "-", "gen_setup_command"], [17, 0, 0, "-", "icli"], [18, 0, 0, "-", "icli_command"], [19, 0, 0, "-", "template_provider"]], "dist_py_module.infrastructure.cli": [[13, 1, 1, "", "CLI"]], "dist_py_module.infrastructure.cli.CLI": [[13, 2, 1, "", "_abc_impl"], [13, 3, 1, "", "is_initialized"], [13, 3, 1, "", "run"]], "dist_py_module.infrastructure.cli_bundle": [[14, 1, 1, "", "CLIBundle"]], "dist_py_module.infrastructure.cli_bundle.CLIBundle": [[14, 2, 1, "", "commands"], [14, 3, 1, "", "merge"], [14, 2, 1, "", "parser"], [14, 2, 1, "", "service"], [14, 3, 1, "", "to_dict"], [14, 3, 1, "", "validate"]], "dist_py_module.infrastructure.file_writer": [[15, 1, 1, "", "FileWriter"]], "dist_py_module.infrastructure.file_writer.FileWriter": [[15, 2, 1, "", "_abc_impl"], [15, 3, 1, "", "is_initialized"], [15, 3, 1, "", "write_file"]], "dist_py_module.infrastructure.gen_setup_command": [[16, 1, 1, "", "GenSetupCommand"]], "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand": [[16, 2, 1, "", "_abc_impl"], [16, 3, 1, "", "execute"], [16, 4, 1, "", "help_text"], [16, 4, 1, "", "name"], [16, 4, 1, "", "options"]], "dist_py_module.infrastructure.icli": [[17, 1, 1, "", "ICLI"]], "dist_py_module.infrastructure.icli.ICLI": [[17, 2, 1, "", "_abc_impl"], [17, 3, 1, "", "is_initialized"], [17, 3, 1, "", "run"]], "dist_py_module.infrastructure.icli_command": [[18, 1, 1, "", "ICLICommand"]], "dist_py_module.infrastructure.icli_command.ICLICommand": [[18, 2, 1, "", "_abc_impl"], [18, 3, 1, "", "execute"], [18, 4, 1, "", "help_text"], [18, 4, 1, "", "name"], [18, 4, 1, "", "options"]], "dist_py_module.infrastructure.template_provider": [[19, 1, 1, "", "TemplateProvider"]], "dist_py_module.infrastructure.template_provider.TemplateProvider": [[19, 2, 1, "", "_abc_impl"], [19, 3, 1, "", "get_template_by_name"], [19, 3, 1, "", "is_initialized"]], "main": [[21, 5, 1, "", "main"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"dist_py_modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "packag": [0, 1, 5, 7, 12], "subpackag": [0, 5], "submodul": [0, 1, 5, 7, 12], "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "content": [0, 1, 5, 7, 12, 20], "applic": [1, 2, 3], "servic": 2, "service_bundl": 3, "dist_py_module_bundl": 4, "domain": [5, 6, 7, 8, 9, 10], "model": 6, "port": [7, 8, 9, 10], "ifile_gen": 8, "ifile_writ": 9, "itemplate_provid": 10, "engin": 11, "infrastructur": [12, 13, 14, 15, 16, 17, 18, 19], "cli": 13, "cli_bundl": 14, "file_writ": 15, "gen_setup_command": 16, "icli": 17, "icli_command": 18, "template_provid": 19, "gener": 20, "setup": 20, "py": 20, "instal": 20, "depend": 20, "tool": 20, "structur": 20, "usag": 20, "copyright": 20, "licenc": 20, "indic": 20, "tabl": 20, "main": 21}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"dist_py_module package": [[0, "dist-py-module-package"]], "Subpackages": [[0, "subpackages"], [5, "subpackages"]], "Submodules": [[0, "submodules"], [1, "submodules"], [5, "submodules"], [7, "submodules"], [12, "submodules"]], "Module contents": [[0, "module-dist_py_module"], [1, "module-dist_py_module.application"], [5, "module-dist_py_module.domain"], [7, "module-dist_py_module.domain.ports"], [12, "module-dist_py_module.infrastructure"]], "dist_py_module.application package": [[1, "dist-py-module-application-package"]], "dist_py_module.application.service module": [[2, "module-dist_py_module.application.service"]], "dist_py_module.application.service_bundle module": [[3, "module-dist_py_module.application.service_bundle"]], "dist_py_module.dist_py_module_bundle module": [[4, "module-dist_py_module.dist_py_module_bundle"]], "dist_py_module.domain package": [[5, "dist-py-module-domain-package"]], "dist_py_module.domain.models module": [[6, "module-dist_py_module.domain.models"]], "dist_py_module.domain.ports package": [[7, "dist-py-module-domain-ports-package"]], "dist_py_module.domain.ports.ifile_gen module": [[8, "module-dist_py_module.domain.ports.ifile_gen"]], "dist_py_module.domain.ports.ifile_writer module": [[9, "module-dist_py_module.domain.ports.ifile_writer"]], "dist_py_module.domain.ports.itemplate_provider module": [[10, "module-dist_py_module.domain.ports.itemplate_provider"]], "dist_py_module.engine module": [[11, "module-dist_py_module.engine"]], "dist_py_module.infrastructure package": [[12, "dist-py-module-infrastructure-package"]], "dist_py_module.infrastructure.cli module": [[13, "module-dist_py_module.infrastructure.cli"]], "dist_py_module.infrastructure.cli_bundle module": [[14, "module-dist_py_module.infrastructure.cli_bundle"]], "dist_py_module.infrastructure.file_writer module": [[15, "module-dist_py_module.infrastructure.file_writer"]], "dist_py_module.infrastructure.gen_setup_command module": [[16, "module-dist_py_module.infrastructure.gen_setup_command"]], "dist_py_module.infrastructure.icli module": [[17, "module-dist_py_module.infrastructure.icli"]], "dist_py_module.infrastructure.icli_command module": [[18, "module-dist_py_module.infrastructure.icli_command"]], "dist_py_module.infrastructure.template_provider module": [[19, "module-dist_py_module.infrastructure.template_provider"]], "Generate setup.py": [[20, "generate-setup-py"]], "Contents": [[20, null]], "Installation": [[20, "installation"]], "Dependencies": [[20, "dependencies"]], "Tool structure": [[20, "tool-structure"]], "Usage": [[20, "usage"]], "Copyright and licence": [[20, "copyright-and-licence"]], "Indices and tables": [[20, "indices-and-tables"]], "main module": [[21, "module-main"]], "dist_py_module": [[22, "dist-py-module"]]}, "indexentries": {"dist_py_module": [[0, "module-dist_py_module"]], "module": [[0, "module-dist_py_module"], [1, "module-dist_py_module.application"], [2, "module-dist_py_module.application.service"], [3, "module-dist_py_module.application.service_bundle"], [4, "module-dist_py_module.dist_py_module_bundle"], [5, "module-dist_py_module.domain"], [6, "module-dist_py_module.domain.models"], [7, "module-dist_py_module.domain.ports"], [8, "module-dist_py_module.domain.ports.ifile_gen"], [9, "module-dist_py_module.domain.ports.ifile_writer"], [10, "module-dist_py_module.domain.ports.itemplate_provider"], [11, "module-dist_py_module.engine"], [12, "module-dist_py_module.infrastructure"], [13, "module-dist_py_module.infrastructure.cli"], [14, "module-dist_py_module.infrastructure.cli_bundle"], [15, "module-dist_py_module.infrastructure.file_writer"], [16, "module-dist_py_module.infrastructure.gen_setup_command"], [17, "module-dist_py_module.infrastructure.icli"], [18, "module-dist_py_module.infrastructure.icli_command"], [19, "module-dist_py_module.infrastructure.template_provider"], [21, "module-main"]], "dist_py_module.application": [[1, "module-dist_py_module.application"]], "filegen (class in dist_py_module.application.service)": [[2, "dist_py_module.application.service.FileGen"]], "_abc_impl (dist_py_module.application.service.filegen attribute)": [[2, "dist_py_module.application.service.FileGen._abc_impl"]], "dist_py_module.application.service": [[2, "module-dist_py_module.application.service"]], "execute() (dist_py_module.application.service.filegen method)": [[2, "dist_py_module.application.service.FileGen.execute"]], "is_initialized() (dist_py_module.application.service.filegen method)": [[2, "dist_py_module.application.service.FileGen.is_initialized"]], "servicebundle (class in dist_py_module.application.service_bundle)": [[3, "dist_py_module.application.service_bundle.ServiceBundle"]], "dist_py_module.application.service_bundle": [[3, "module-dist_py_module.application.service_bundle"]], "file_writer (dist_py_module.application.service_bundle.servicebundle attribute)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.file_writer"]], "merge() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.merge"]], "template_provider (dist_py_module.application.service_bundle.servicebundle attribute)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.template_provider"]], "to_dict() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.to_dict"]], "validate() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.validate"]], "distpymodulebundle (class in dist_py_module.dist_py_module_bundle)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle"]], "cli (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.cli"]], "dist_py_module.dist_py_module_bundle": [[4, "module-dist_py_module.dist_py_module_bundle"]], "file_writer (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.file_writer"]], "merge() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.merge"]], "parser (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.parser"]], "service (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.service"]], "template_provider (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.template_provider"]], "to_dict() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.to_dict"]], "validate() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.validate"]], "dist_py_module.domain": [[5, "module-dist_py_module.domain"]], "generatedfile (class in dist_py_module.domain.models)": [[6, "dist_py_module.domain.models.GeneratedFile"]], "content (dist_py_module.domain.models.generatedfile attribute)": [[6, "dist_py_module.domain.models.GeneratedFile.content"]], "dist_py_module.domain.models": [[6, "module-dist_py_module.domain.models"]], "from_template() (dist_py_module.domain.models.generatedfile class method)": [[6, "dist_py_module.domain.models.GeneratedFile.from_template"]], "name (dist_py_module.domain.models.generatedfile attribute)": [[6, "dist_py_module.domain.models.GeneratedFile.name"]], "dist_py_module.domain.ports": [[7, "module-dist_py_module.domain.ports"]], "ifilegen (class in dist_py_module.domain.ports.ifile_gen)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen"]], "_abc_impl (dist_py_module.domain.ports.ifile_gen.ifilegen attribute)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen._abc_impl"]], "dist_py_module.domain.ports.ifile_gen": [[8, "module-dist_py_module.domain.ports.ifile_gen"]], "execute() (dist_py_module.domain.ports.ifile_gen.ifilegen method)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen.execute"]], "is_initialized() (dist_py_module.domain.ports.ifile_gen.ifilegen method)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen.is_initialized"]], "ifilewriter (class in dist_py_module.domain.ports.ifile_writer)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter"]], "_abc_impl (dist_py_module.domain.ports.ifile_writer.ifilewriter attribute)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter._abc_impl"]], "dist_py_module.domain.ports.ifile_writer": [[9, "module-dist_py_module.domain.ports.ifile_writer"]], "is_initialized() (dist_py_module.domain.ports.ifile_writer.ifilewriter method)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter.is_initialized"]], "write_file() (dist_py_module.domain.ports.ifile_writer.ifilewriter method)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter.write_file"]], "itemplateprovider (class in dist_py_module.domain.ports.itemplate_provider)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider"]], "_abc_impl (dist_py_module.domain.ports.itemplate_provider.itemplateprovider attribute)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider._abc_impl"]], "dist_py_module.domain.ports.itemplate_provider": [[10, "module-dist_py_module.domain.ports.itemplate_provider"]], "get_template_by_name() (dist_py_module.domain.ports.itemplate_provider.itemplateprovider method)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider.get_template_by_name"]], "is_initialized() (dist_py_module.domain.ports.itemplate_provider.itemplateprovider method)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider.is_initialized"]], "distpymodule (class in dist_py_module.engine)": [[11, "dist_py_module.engine.DistPyModule"]], "_abc_impl (dist_py_module.engine.distpymodule attribute)": [[11, "dist_py_module.engine.DistPyModule._abc_impl"]], "_info_file (dist_py_module.engine.distpymodule attribute)": [[11, "dist_py_module.engine.DistPyModule._info_file"]], "dist_py_module.engine": [[11, "module-dist_py_module.engine"]], "process() (dist_py_module.engine.distpymodule method)": [[11, "dist_py_module.engine.DistPyModule.process"]], "dist_py_module.infrastructure": [[12, "module-dist_py_module.infrastructure"]], "cli (class in dist_py_module.infrastructure.cli)": [[13, "dist_py_module.infrastructure.cli.CLI"]], "_abc_impl (dist_py_module.infrastructure.cli.cli attribute)": [[13, "dist_py_module.infrastructure.cli.CLI._abc_impl"]], "dist_py_module.infrastructure.cli": [[13, "module-dist_py_module.infrastructure.cli"]], "is_initialized() (dist_py_module.infrastructure.cli.cli method)": [[13, "dist_py_module.infrastructure.cli.CLI.is_initialized"]], "run() (dist_py_module.infrastructure.cli.cli method)": [[13, "dist_py_module.infrastructure.cli.CLI.run"]], "clibundle (class in dist_py_module.infrastructure.cli_bundle)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle"]], "commands (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.commands"]], "dist_py_module.infrastructure.cli_bundle": [[14, "module-dist_py_module.infrastructure.cli_bundle"]], "merge() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.merge"]], "parser (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.parser"]], "service (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.service"]], "to_dict() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.to_dict"]], "validate() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.validate"]], "filewriter (class in dist_py_module.infrastructure.file_writer)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter"]], "_abc_impl (dist_py_module.infrastructure.file_writer.filewriter attribute)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter._abc_impl"]], "dist_py_module.infrastructure.file_writer": [[15, "module-dist_py_module.infrastructure.file_writer"]], "is_initialized() (dist_py_module.infrastructure.file_writer.filewriter method)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter.is_initialized"]], "write_file() (dist_py_module.infrastructure.file_writer.filewriter method)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter.write_file"]], "gensetupcommand (class in dist_py_module.infrastructure.gen_setup_command)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand"]], "_abc_impl (dist_py_module.infrastructure.gen_setup_command.gensetupcommand attribute)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand._abc_impl"]], "dist_py_module.infrastructure.gen_setup_command": [[16, "module-dist_py_module.infrastructure.gen_setup_command"]], "execute() (dist_py_module.infrastructure.gen_setup_command.gensetupcommand method)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.execute"]], "help_text (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.help_text"]], "name (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.name"]], "options (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.options"]], "icli (class in dist_py_module.infrastructure.icli)": [[17, "dist_py_module.infrastructure.icli.ICLI"]], "_abc_impl (dist_py_module.infrastructure.icli.icli attribute)": [[17, "dist_py_module.infrastructure.icli.ICLI._abc_impl"]], "dist_py_module.infrastructure.icli": [[17, "module-dist_py_module.infrastructure.icli"]], "is_initialized() (dist_py_module.infrastructure.icli.icli method)": [[17, "dist_py_module.infrastructure.icli.ICLI.is_initialized"]], "run() (dist_py_module.infrastructure.icli.icli method)": [[17, "dist_py_module.infrastructure.icli.ICLI.run"]], "iclicommand (class in dist_py_module.infrastructure.icli_command)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand"]], "_abc_impl (dist_py_module.infrastructure.icli_command.iclicommand attribute)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand._abc_impl"]], "dist_py_module.infrastructure.icli_command": [[18, "module-dist_py_module.infrastructure.icli_command"]], "execute() (dist_py_module.infrastructure.icli_command.iclicommand method)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.execute"]], "help_text (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.help_text"]], "name (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.name"]], "options (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.options"]], "templateprovider (class in dist_py_module.infrastructure.template_provider)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider"]], "_abc_impl (dist_py_module.infrastructure.template_provider.templateprovider attribute)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider._abc_impl"]], "dist_py_module.infrastructure.template_provider": [[19, "module-dist_py_module.infrastructure.template_provider"]], "get_template_by_name() (dist_py_module.infrastructure.template_provider.templateprovider method)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider.get_template_by_name"]], "is_initialized() (dist_py_module.infrastructure.template_provider.templateprovider method)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider.is_initialized"]], "main": [[21, "module-main"]], "main() (in module main)": [[21, "main.main"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["dist_py_module", "dist_py_module.application", "dist_py_module.application.service", "dist_py_module.application.service_bundle", "dist_py_module.dist_py_module_bundle", "dist_py_module.domain", "dist_py_module.domain.models", "dist_py_module.domain.ports", "dist_py_module.domain.ports.ifile_gen", "dist_py_module.domain.ports.ifile_writer", "dist_py_module.domain.ports.itemplate_provider", "dist_py_module.engine", "dist_py_module.infrastructure", "dist_py_module.infrastructure.cli", "dist_py_module.infrastructure.cli_bundle", "dist_py_module.infrastructure.file_writer", "dist_py_module.infrastructure.gen_setup_command", "dist_py_module.infrastructure.icli", "dist_py_module.infrastructure.icli_command", "dist_py_module.infrastructure.template_provider", "index", "main", "modules"], "filenames": ["dist_py_module.rst", "dist_py_module.application.rst", "dist_py_module.application.service.rst", "dist_py_module.application.service_bundle.rst", "dist_py_module.dist_py_module_bundle.rst", "dist_py_module.domain.rst", "dist_py_module.domain.models.rst", "dist_py_module.domain.ports.rst", "dist_py_module.domain.ports.ifile_gen.rst", "dist_py_module.domain.ports.ifile_writer.rst", "dist_py_module.domain.ports.itemplate_provider.rst", "dist_py_module.engine.rst", "dist_py_module.infrastructure.rst", "dist_py_module.infrastructure.cli.rst", "dist_py_module.infrastructure.cli_bundle.rst", "dist_py_module.infrastructure.file_writer.rst", "dist_py_module.infrastructure.gen_setup_command.rst", "dist_py_module.infrastructure.icli.rst", "dist_py_module.infrastructure.icli_command.rst", "dist_py_module.infrastructure.template_provider.rst", "index.rst", "main.rst", "modules.rst"], "titles": ["dist_py_module package", "dist_py_module.application package", "dist_py_module.application.service module", "dist_py_module.application.service_bundle module", "dist_py_module.dist_py_module_bundle module", "dist_py_module.domain package", "dist_py_module.domain.models module", "dist_py_module.domain.ports package", "dist_py_module.domain.ports.ifile_gen module", "dist_py_module.domain.ports.ifile_writer module", "dist_py_module.domain.ports.itemplate_provider module", "dist_py_module.engine module", "dist_py_module.infrastructure package", "dist_py_module.infrastructure.cli module", "dist_py_module.infrastructure.cli_bundle module", "dist_py_module.infrastructure.file_writer module", "dist_py_module.infrastructure.gen_setup_command module", "dist_py_module.infrastructure.icli module", "dist_py_module.infrastructure.icli_command module", "dist_py_module.infrastructure.template_provider module", "Generate setup.py", "main module", "dist_py_module"], "terms": {"applic": [0, 4, 20, 21, 22], "servic": [0, 1, 3, 4, 11, 12, 13, 14, 16, 18, 20], "filegen": [0, 1, 2], "service_bundl": [0, 1, 20], "servicebundl": [0, 1, 2, 3], "domain": [0, 20, 22], "port": [0, 5, 13, 20], "model": [0, 5, 20], "generatedfil": [0, 5, 6], "infrastructur": [0, 11, 20, 22], "cli": [0, 4, 11, 12, 14, 16, 17, 18, 20, 21], "cli_bundl": [0, 12, 20], "clibundl": [0, 12, 13, 14], "file_writ": [0, 1, 3, 4, 12, 20], "filewrit": [0, 12, 15], "gen_setup_command": [0, 12, 20], "gensetupcommand": [0, 12, 16], "icli": [0, 4, 12, 13, 20], "icli_command": [0, 12, 20], "iclicommand": [0, 12, 14, 16, 18], "template_provid": [0, 1, 3, 4, 12, 20], "templateprovid": [0, 12, 19], "dist_py_module_bundl": [0, 20, 22], "distpymodulebundl": [0, 4, 11, 22], "merg": [0, 1, 3, 4, 12, 14], "parser": [0, 4, 12, 13, 14, 16, 18], "to_dict": [0, 1, 3, 4, 12, 14], "valid": [0, 1, 3, 4, 12, 14], "engin": [0, 20, 22], "distpymodul": [0, 11, 21, 22], "_abc_impl": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19], "_info_fil": [0, 11], "process": [0, 2, 11], "__init__": [0, 1, 5, 7, 11, 12, 13, 19, 20], "py": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "copyright": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "2026": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "vladimir": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "roncev": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "elektron": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ronca": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gmail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "com": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "free": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "softwar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "redistribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "modifi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "under": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "term": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gnu": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "gener": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "public": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "licens": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "publish": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "foundat": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "either": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "version": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "your": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "option": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "ani": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "later": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "distribut": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "hope": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "without": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "warranti": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "even": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "impli": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "merchant": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "fit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "FOR": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "particular": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "purpos": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "see": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "more": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "detail": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "should": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "receiv": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "copi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "along": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "program": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "If": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "http": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21], "www": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "org": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "info": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "initi": [0, 1, 2, 5, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19], "execut": [1, 2, 7, 8, 11, 12, 13, 16, 18], "is_initi": [1, 2, 7, 8, 9, 10, 12, 13, 15, 17, 19], "defin": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "file": [2, 3, 4, 6, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20], "class": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "component_bundl": [2, 11, 13], "sourc": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "base": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20], "ifilegen": [2, 4, 5, 7, 8, 14, 16, 18], "orchestr": [2, 4, 11, 13, 14, 16, 18], "It": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "attribut": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "_template_provid": 2, "adapt": [2, 3, 4, 11, 13, 14, 15, 17, 19, 21], "provid": [2, 3, 4, 10, 14, 19, 20], "raw": [2, 3, 6, 10, 20], "templat": [2, 3, 4, 6, 8, 10, 19, 20], "_file_writ": 2, "write": [2, 3, 4, 9, 15], "method": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "user": [2, 4, 11], "check": [2, 8, 9, 10, 13, 15, 17, 19], "compon": [2, 3, 4, 8, 9, 10, 13, 14, 15, 17, 19], "__str__": [2, 9, 10, 13, 15, 16, 17, 18, 19], "return": [2, 3, 4, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19], "string": [2, 6, 9, 10, 13, 15, 16, 17, 18, 19], "represent": [2, 3, 4, 9, 10, 13, 14, 15, 16, 17, 18, 19], "_abc": [2, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19], "_abc_data": [2, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19], "object": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "template_nam": [2, 8], "str": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19], "target_filenam": [2, 8], "cli_param": [2, 8], "dict": [2, 3, 4, 6, 8, 13, 14, 16, 17, 18], "from": [2, 3, 4, 6, 14, 16, 18, 19], "target": [2, 6, 9], "path": [2, 6, 8, 9, 11, 15, 19], "paramet": [2, 3, 4, 6, 8, 9, 10, 14, 15, 16, 18, 19], "The": [2, 6, 8, 9, 10, 15, 16, 18, 19, 20], "name": [2, 5, 6, 8, 10, 12, 13, 16, 18, 19, 20], "output": [2, 8], "filenam": [2, 6, 8, 9, 15], "format": [2, 6, 8], "code": [2, 8, 11, 13, 16, 17, 18, 20, 21], "stdout": [2, 8, 13, 16, 17, 18], "stderr": [2, 8, 13, 16, 17, 18], "messag": [2, 8, 13, 16, 17, 18], "type": [2, 3, 4, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20], "except": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "filenotfounderror": [2, 19], "found": 2, "oserror": [2, 13, 15, 19], "an": [2, 15], "o": [2, 13, 15, 20], "error": [2, 13, 15], "occur": [2, 15], "while": 2, "bool": [2, 8, 9, 10, 13, 15, 17, 19], "true": [2, 8, 9, 10, 13, 15, 17, 19, 20], "success": [2, 8, 9, 10, 13, 15, 17, 19], "fals": [2, 8, 9, 10, 13, 15, 17, 19], "fail": [2, 8, 9, 10, 13, 15, 17, 19], "none": [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21], "bundl": [3, 4, 14], "itemplateprovid": [3, 4, 5, 7, 10, 19], "ifilewrit": [3, 4, 5, 7, 9, 15], "data": [3, 14], "default": [3, 4, 14], "essenti": [3, 14], "ar": [3, 14, 19], "set": [3, 14], "non": [3, 4, 14], "valu": [3, 4, 14], "anoth": [3, 4, 14], "convert": [3, 4, 14], "dictionari": [3, 4, 14], "other": [3, 4, 14, 20], "one": [3, 4, 14], "valueerror": 3, "must": [3, 4, 14], "writer": [3, 4, 9, 15], "ioptionmanag": [4, 14], "hold": 4, "all": 4, "read": [4, 19], "argument": [4, 13, 14, 17], "command": [4, 11, 12, 13, 14, 16, 17, 18], "line": [4, 11, 17], "interfac": [4, 8, 9, 10, 11, 17, 18], "atsvalueerror": [4, 14], "ifile_gen": [5, 7, 20], "ifile_writ": [5, 7, 20], "itemplate_provid": [5, 7, 20], "from_templ": [5, 6], "repres": [6, 18], "content": [6, 9, 10, 15, 19, 22], "render": 6, "factori": 6, "build": 6, "classmethod": 6, "raw_templ": 6, "param": [6, 16, 18], "destin": [6, 9, 15], "fill": 6, "instanc": [6, 13, 14, 16, 18], "write_fil": [7, 9, 12, 15], "get_template_by_nam": [7, 10, 12, 19], "abstract": [8, 9, 10, 17, 18], "abc": [8, 9, 10, 17], "specifi": 9, "text": [9, 15, 16, 18], "wa": [9, 15], "written": [9, 15], "successfulli": [9, 15], "otherwis": [9, 15], "retriev": 10, "its": 10, "main": [11, 20, 22], "task": [11, 21], "_cli": 11, "start": 11, "via": 11, "config": [11, 20], "cfg": [11, 20], "run": [12, 13, 17, 20, 21], "help_text": [12, 16, 18], "implement": [13, 15, 16], "inbound": 13, "_servic": 13, "_parser": 13, "_command": 13, "map": 13, "pars": [13, 14, 17], "select": [13, 17], "systemexit": 13, "system": 13, "exit": 13, "list": [14, 16, 18], "arg": 14, "local": 15, "filesystem": [15, 19], "creat": [15, 20], "parent": 15, "directori": [15, 19, 20], "need": 15, "strategi": [16, 17, 18], "subcommand": [16, 18], "setup": 16, "kei": [16, 18], "help": [16, 18, 20], "configur": 16, "logic": [16, 18], "properti": [16, 18], "commandopt": [16, 18], "primari": 17, "commandlineinterfac": 17, "ioptioncommand": 18, "perform": 18, "action": 18, "load": 19, "templates_dir": 19, "_templates_dir": 19, "where": 19, "store": 19, "doe": 19, "exist": 19, "cannot": 19, "dist_py_modul": [20, 21], "toolset": 20, "develop": 20, "python": 20, "readm": 20, "introduc": 20, "instruct": 20, "how": 20, "machin": 20, "mai": 20, "inform": 20, "befor": 20, "packag": [20, 22], "subpackag": [20, 22], "submodul": [20, 22], "modul": [20, 22], "navig": 20, "releas": 20, "page": 20, "download": 20, "extract": 20, "archiv": 20, "To": 20, "follow": 20, "tar": 20, "xvzf": 20, "x": 20, "y": 20, "z": 20, "gz": 20, "cd": 20, "pyton3": 20, "pip3": 20, "r": 20, "requir": [20, 21], "txt": 20, "python3": 20, "install_lib": 20, "install_data": 20, "install_egg_info": 20, "docker": 20, "imag": 20, "contain": 20, "pip": 20, "dist": 20, "next": 20, "librari": 20, "ats": 20, "util": 20, "app": 20, "script": 20, "oop": 20, "logo": 20, "7": 20, "23": 20, "prepar": 20, "entri": [20, 21], "point": [20, 21], "wget": 20, "githubusercont": 20, "vroncev": 20, "master": 20, "new": 20, "mkdir": 20, "p": 20, "demo": 20, "mytool": 20, "1": 20, "descript": 20, "author": 20, "email": 20, "github": 20, "gpl": 20, "2017": 20, "io": 20, "same": 20, "itself": 20, "avail": 20, "let": 20, "support": 20, "psf": 20, "index": 20, "search": 20, "bootstrap": 21}, "objects": {"": [[0, 0, 0, "-", "dist_py_module"], [21, 0, 0, "-", "main"]], "dist_py_module": [[1, 0, 0, "-", "application"], [4, 0, 0, "-", "dist_py_module_bundle"], [5, 0, 0, "-", "domain"], [11, 0, 0, "-", "engine"], [12, 0, 0, "-", "infrastructure"]], "dist_py_module.application": [[2, 0, 0, "-", "service"], [3, 0, 0, "-", "service_bundle"]], "dist_py_module.application.service": [[2, 1, 1, "", "FileGen"]], "dist_py_module.application.service.FileGen": [[2, 2, 1, "", "_abc_impl"], [2, 3, 1, "", "execute"], [2, 3, 1, "", "is_initialized"]], "dist_py_module.application.service_bundle": [[3, 1, 1, "", "ServiceBundle"]], "dist_py_module.application.service_bundle.ServiceBundle": [[3, 2, 1, "", "file_writer"], [3, 3, 1, "", "merge"], [3, 2, 1, "", "template_provider"], [3, 3, 1, "", "to_dict"], [3, 3, 1, "", "validate"]], "dist_py_module.dist_py_module_bundle": [[4, 1, 1, "", "DistPyModuleBundle"]], "dist_py_module.dist_py_module_bundle.DistPyModuleBundle": [[4, 2, 1, "", "cli"], [4, 2, 1, "", "file_writer"], [4, 3, 1, "", "merge"], [4, 2, 1, "", "parser"], [4, 2, 1, "", "service"], [4, 2, 1, "", "template_provider"], [4, 3, 1, "", "to_dict"], [4, 3, 1, "", "validate"]], "dist_py_module.domain": [[6, 0, 0, "-", "models"], [7, 0, 0, "-", "ports"]], "dist_py_module.domain.models": [[6, 1, 1, "", "GeneratedFile"]], "dist_py_module.domain.models.GeneratedFile": [[6, 2, 1, "", "content"], [6, 3, 1, "", "from_template"], [6, 2, 1, "", "name"]], "dist_py_module.domain.ports": [[8, 0, 0, "-", "ifile_gen"], [9, 0, 0, "-", "ifile_writer"], [10, 0, 0, "-", "itemplate_provider"]], "dist_py_module.domain.ports.ifile_gen": [[8, 1, 1, "", "IFileGen"]], "dist_py_module.domain.ports.ifile_gen.IFileGen": [[8, 2, 1, "", "_abc_impl"], [8, 3, 1, "", "execute"], [8, 3, 1, "", "is_initialized"]], "dist_py_module.domain.ports.ifile_writer": [[9, 1, 1, "", "IFileWriter"]], "dist_py_module.domain.ports.ifile_writer.IFileWriter": [[9, 2, 1, "", "_abc_impl"], [9, 3, 1, "", "is_initialized"], [9, 3, 1, "", "write_file"]], "dist_py_module.domain.ports.itemplate_provider": [[10, 1, 1, "", "ITemplateProvider"]], "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider": [[10, 2, 1, "", "_abc_impl"], [10, 3, 1, "", "get_template_by_name"], [10, 3, 1, "", "is_initialized"]], "dist_py_module.engine": [[11, 1, 1, "", "DistPyModule"]], "dist_py_module.engine.DistPyModule": [[11, 2, 1, "", "_abc_impl"], [11, 2, 1, "", "_info_file"], [11, 3, 1, "", "process"]], "dist_py_module.infrastructure": [[13, 0, 0, "-", "cli"], [14, 0, 0, "-", "cli_bundle"], [15, 0, 0, "-", "file_writer"], [16, 0, 0, "-", "gen_setup_command"], [17, 0, 0, "-", "icli"], [18, 0, 0, "-", "icli_command"], [19, 0, 0, "-", "template_provider"]], "dist_py_module.infrastructure.cli": [[13, 1, 1, "", "CLI"]], "dist_py_module.infrastructure.cli.CLI": [[13, 2, 1, "", "_abc_impl"], [13, 3, 1, "", "is_initialized"], [13, 3, 1, "", "run"]], "dist_py_module.infrastructure.cli_bundle": [[14, 1, 1, "", "CLIBundle"]], "dist_py_module.infrastructure.cli_bundle.CLIBundle": [[14, 2, 1, "", "commands"], [14, 3, 1, "", "merge"], [14, 2, 1, "", "parser"], [14, 2, 1, "", "service"], [14, 3, 1, "", "to_dict"], [14, 3, 1, "", "validate"]], "dist_py_module.infrastructure.file_writer": [[15, 1, 1, "", "FileWriter"]], "dist_py_module.infrastructure.file_writer.FileWriter": [[15, 2, 1, "", "_abc_impl"], [15, 3, 1, "", "is_initialized"], [15, 3, 1, "", "write_file"]], "dist_py_module.infrastructure.gen_setup_command": [[16, 1, 1, "", "GenSetupCommand"]], "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand": [[16, 2, 1, "", "_abc_impl"], [16, 3, 1, "", "execute"], [16, 4, 1, "", "help_text"], [16, 4, 1, "", "name"], [16, 4, 1, "", "options"]], "dist_py_module.infrastructure.icli": [[17, 1, 1, "", "ICLI"]], "dist_py_module.infrastructure.icli.ICLI": [[17, 2, 1, "", "_abc_impl"], [17, 3, 1, "", "is_initialized"], [17, 3, 1, "", "run"]], "dist_py_module.infrastructure.icli_command": [[18, 1, 1, "", "ICLICommand"]], "dist_py_module.infrastructure.icli_command.ICLICommand": [[18, 2, 1, "", "_abc_impl"], [18, 3, 1, "", "execute"], [18, 4, 1, "", "help_text"], [18, 4, 1, "", "name"], [18, 4, 1, "", "options"]], "dist_py_module.infrastructure.template_provider": [[19, 1, 1, "", "TemplateProvider"]], "dist_py_module.infrastructure.template_provider.TemplateProvider": [[19, 2, 1, "", "_abc_impl"], [19, 3, 1, "", "get_template_by_name"], [19, 3, 1, "", "is_initialized"]], "main": [[21, 5, 1, "", "main"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"dist_py_modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22], "packag": [0, 1, 5, 7, 12], "subpackag": [0, 5], "submodul": [0, 1, 5, 7, 12], "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "content": [0, 1, 5, 7, 12, 20], "applic": [1, 2, 3], "servic": 2, "service_bundl": 3, "dist_py_module_bundl": 4, "domain": [5, 6, 7, 8, 9, 10], "model": 6, "port": [7, 8, 9, 10], "ifile_gen": 8, "ifile_writ": 9, "itemplate_provid": 10, "engin": 11, "infrastructur": [12, 13, 14, 15, 16, 17, 18, 19], "cli": 13, "cli_bundl": 14, "file_writ": 15, "gen_setup_command": 16, "icli": 17, "icli_command": 18, "template_provid": 19, "gener": 20, "setup": 20, "py": 20, "instal": 20, "depend": 20, "tool": 20, "structur": 20, "usag": 20, "copyright": 20, "licenc": 20, "indic": 20, "tabl": 20, "main": 21}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"dist_py_module package": [[0, "dist-py-module-package"]], "Subpackages": [[0, "subpackages"], [5, "subpackages"]], "Submodules": [[0, "submodules"], [1, "submodules"], [5, "submodules"], [7, "submodules"], [12, "submodules"]], "Module contents": [[0, "module-dist_py_module"], [1, "module-dist_py_module.application"], [5, "module-dist_py_module.domain"], [7, "module-dist_py_module.domain.ports"], [12, "module-dist_py_module.infrastructure"]], "dist_py_module.application package": [[1, "dist-py-module-application-package"]], "dist_py_module.application.service module": [[2, "module-dist_py_module.application.service"]], "dist_py_module.application.service_bundle module": [[3, "module-dist_py_module.application.service_bundle"]], "dist_py_module.dist_py_module_bundle module": [[4, "module-dist_py_module.dist_py_module_bundle"]], "dist_py_module.domain package": [[5, "dist-py-module-domain-package"]], "dist_py_module.domain.models module": [[6, "module-dist_py_module.domain.models"]], "dist_py_module.domain.ports package": [[7, "dist-py-module-domain-ports-package"]], "dist_py_module.domain.ports.ifile_gen module": [[8, "module-dist_py_module.domain.ports.ifile_gen"]], "dist_py_module.domain.ports.ifile_writer module": [[9, "module-dist_py_module.domain.ports.ifile_writer"]], "dist_py_module.domain.ports.itemplate_provider module": [[10, "module-dist_py_module.domain.ports.itemplate_provider"]], "dist_py_module.engine module": [[11, "module-dist_py_module.engine"]], "dist_py_module.infrastructure package": [[12, "dist-py-module-infrastructure-package"]], "dist_py_module.infrastructure.cli module": [[13, "module-dist_py_module.infrastructure.cli"]], "dist_py_module.infrastructure.cli_bundle module": [[14, "module-dist_py_module.infrastructure.cli_bundle"]], "dist_py_module.infrastructure.file_writer module": [[15, "module-dist_py_module.infrastructure.file_writer"]], "dist_py_module.infrastructure.gen_setup_command module": [[16, "module-dist_py_module.infrastructure.gen_setup_command"]], "dist_py_module.infrastructure.icli module": [[17, "module-dist_py_module.infrastructure.icli"]], "dist_py_module.infrastructure.icli_command module": [[18, "module-dist_py_module.infrastructure.icli_command"]], "dist_py_module.infrastructure.template_provider module": [[19, "module-dist_py_module.infrastructure.template_provider"]], "Generate setup.py": [[20, "generate-setup-py"]], "Contents": [[20, null]], "Installation": [[20, "installation"]], "Dependencies": [[20, "dependencies"]], "Tool structure": [[20, "tool-structure"]], "Usage": [[20, "usage"]], "Copyright and licence": [[20, "copyright-and-licence"]], "Indices and tables": [[20, "indices-and-tables"]], "main module": [[21, "module-main"]], "dist_py_module": [[22, "dist-py-module"]]}, "indexentries": {"dist_py_module": [[0, "module-dist_py_module"]], "module": [[0, "module-dist_py_module"], [1, "module-dist_py_module.application"], [2, "module-dist_py_module.application.service"], [3, "module-dist_py_module.application.service_bundle"], [4, "module-dist_py_module.dist_py_module_bundle"], [5, "module-dist_py_module.domain"], [6, "module-dist_py_module.domain.models"], [7, "module-dist_py_module.domain.ports"], [8, "module-dist_py_module.domain.ports.ifile_gen"], [9, "module-dist_py_module.domain.ports.ifile_writer"], [10, "module-dist_py_module.domain.ports.itemplate_provider"], [11, "module-dist_py_module.engine"], [12, "module-dist_py_module.infrastructure"], [13, "module-dist_py_module.infrastructure.cli"], [14, "module-dist_py_module.infrastructure.cli_bundle"], [15, "module-dist_py_module.infrastructure.file_writer"], [16, "module-dist_py_module.infrastructure.gen_setup_command"], [17, "module-dist_py_module.infrastructure.icli"], [18, "module-dist_py_module.infrastructure.icli_command"], [19, "module-dist_py_module.infrastructure.template_provider"], [21, "module-main"]], "dist_py_module.application": [[1, "module-dist_py_module.application"]], "filegen (class in dist_py_module.application.service)": [[2, "dist_py_module.application.service.FileGen"]], "_abc_impl (dist_py_module.application.service.filegen attribute)": [[2, "dist_py_module.application.service.FileGen._abc_impl"]], "dist_py_module.application.service": [[2, "module-dist_py_module.application.service"]], "execute() (dist_py_module.application.service.filegen method)": [[2, "dist_py_module.application.service.FileGen.execute"]], "is_initialized() (dist_py_module.application.service.filegen method)": [[2, "dist_py_module.application.service.FileGen.is_initialized"]], "servicebundle (class in dist_py_module.application.service_bundle)": [[3, "dist_py_module.application.service_bundle.ServiceBundle"]], "dist_py_module.application.service_bundle": [[3, "module-dist_py_module.application.service_bundle"]], "file_writer (dist_py_module.application.service_bundle.servicebundle attribute)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.file_writer"]], "merge() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.merge"]], "template_provider (dist_py_module.application.service_bundle.servicebundle attribute)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.template_provider"]], "to_dict() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.to_dict"]], "validate() (dist_py_module.application.service_bundle.servicebundle method)": [[3, "dist_py_module.application.service_bundle.ServiceBundle.validate"]], "distpymodulebundle (class in dist_py_module.dist_py_module_bundle)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle"]], "cli (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.cli"]], "dist_py_module.dist_py_module_bundle": [[4, "module-dist_py_module.dist_py_module_bundle"]], "file_writer (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.file_writer"]], "merge() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.merge"]], "parser (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.parser"]], "service (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.service"]], "template_provider (dist_py_module.dist_py_module_bundle.distpymodulebundle attribute)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.template_provider"]], "to_dict() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.to_dict"]], "validate() (dist_py_module.dist_py_module_bundle.distpymodulebundle method)": [[4, "dist_py_module.dist_py_module_bundle.DistPyModuleBundle.validate"]], "dist_py_module.domain": [[5, "module-dist_py_module.domain"]], "generatedfile (class in dist_py_module.domain.models)": [[6, "dist_py_module.domain.models.GeneratedFile"]], "content (dist_py_module.domain.models.generatedfile attribute)": [[6, "dist_py_module.domain.models.GeneratedFile.content"]], "dist_py_module.domain.models": [[6, "module-dist_py_module.domain.models"]], "from_template() (dist_py_module.domain.models.generatedfile class method)": [[6, "dist_py_module.domain.models.GeneratedFile.from_template"]], "name (dist_py_module.domain.models.generatedfile attribute)": [[6, "dist_py_module.domain.models.GeneratedFile.name"]], "dist_py_module.domain.ports": [[7, "module-dist_py_module.domain.ports"]], "ifilegen (class in dist_py_module.domain.ports.ifile_gen)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen"]], "_abc_impl (dist_py_module.domain.ports.ifile_gen.ifilegen attribute)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen._abc_impl"]], "dist_py_module.domain.ports.ifile_gen": [[8, "module-dist_py_module.domain.ports.ifile_gen"]], "execute() (dist_py_module.domain.ports.ifile_gen.ifilegen method)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen.execute"]], "is_initialized() (dist_py_module.domain.ports.ifile_gen.ifilegen method)": [[8, "dist_py_module.domain.ports.ifile_gen.IFileGen.is_initialized"]], "ifilewriter (class in dist_py_module.domain.ports.ifile_writer)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter"]], "_abc_impl (dist_py_module.domain.ports.ifile_writer.ifilewriter attribute)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter._abc_impl"]], "dist_py_module.domain.ports.ifile_writer": [[9, "module-dist_py_module.domain.ports.ifile_writer"]], "is_initialized() (dist_py_module.domain.ports.ifile_writer.ifilewriter method)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter.is_initialized"]], "write_file() (dist_py_module.domain.ports.ifile_writer.ifilewriter method)": [[9, "dist_py_module.domain.ports.ifile_writer.IFileWriter.write_file"]], "itemplateprovider (class in dist_py_module.domain.ports.itemplate_provider)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider"]], "_abc_impl (dist_py_module.domain.ports.itemplate_provider.itemplateprovider attribute)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider._abc_impl"]], "dist_py_module.domain.ports.itemplate_provider": [[10, "module-dist_py_module.domain.ports.itemplate_provider"]], "get_template_by_name() (dist_py_module.domain.ports.itemplate_provider.itemplateprovider method)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider.get_template_by_name"]], "is_initialized() (dist_py_module.domain.ports.itemplate_provider.itemplateprovider method)": [[10, "dist_py_module.domain.ports.itemplate_provider.ITemplateProvider.is_initialized"]], "distpymodule (class in dist_py_module.engine)": [[11, "dist_py_module.engine.DistPyModule"]], "_abc_impl (dist_py_module.engine.distpymodule attribute)": [[11, "dist_py_module.engine.DistPyModule._abc_impl"]], "_info_file (dist_py_module.engine.distpymodule attribute)": [[11, "dist_py_module.engine.DistPyModule._info_file"]], "dist_py_module.engine": [[11, "module-dist_py_module.engine"]], "process() (dist_py_module.engine.distpymodule method)": [[11, "dist_py_module.engine.DistPyModule.process"]], "dist_py_module.infrastructure": [[12, "module-dist_py_module.infrastructure"]], "cli (class in dist_py_module.infrastructure.cli)": [[13, "dist_py_module.infrastructure.cli.CLI"]], "_abc_impl (dist_py_module.infrastructure.cli.cli attribute)": [[13, "dist_py_module.infrastructure.cli.CLI._abc_impl"]], "dist_py_module.infrastructure.cli": [[13, "module-dist_py_module.infrastructure.cli"]], "is_initialized() (dist_py_module.infrastructure.cli.cli method)": [[13, "dist_py_module.infrastructure.cli.CLI.is_initialized"]], "run() (dist_py_module.infrastructure.cli.cli method)": [[13, "dist_py_module.infrastructure.cli.CLI.run"]], "clibundle (class in dist_py_module.infrastructure.cli_bundle)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle"]], "commands (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.commands"]], "dist_py_module.infrastructure.cli_bundle": [[14, "module-dist_py_module.infrastructure.cli_bundle"]], "merge() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.merge"]], "parser (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.parser"]], "service (dist_py_module.infrastructure.cli_bundle.clibundle attribute)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.service"]], "to_dict() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.to_dict"]], "validate() (dist_py_module.infrastructure.cli_bundle.clibundle method)": [[14, "dist_py_module.infrastructure.cli_bundle.CLIBundle.validate"]], "filewriter (class in dist_py_module.infrastructure.file_writer)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter"]], "_abc_impl (dist_py_module.infrastructure.file_writer.filewriter attribute)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter._abc_impl"]], "dist_py_module.infrastructure.file_writer": [[15, "module-dist_py_module.infrastructure.file_writer"]], "is_initialized() (dist_py_module.infrastructure.file_writer.filewriter method)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter.is_initialized"]], "write_file() (dist_py_module.infrastructure.file_writer.filewriter method)": [[15, "dist_py_module.infrastructure.file_writer.FileWriter.write_file"]], "gensetupcommand (class in dist_py_module.infrastructure.gen_setup_command)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand"]], "_abc_impl (dist_py_module.infrastructure.gen_setup_command.gensetupcommand attribute)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand._abc_impl"]], "dist_py_module.infrastructure.gen_setup_command": [[16, "module-dist_py_module.infrastructure.gen_setup_command"]], "execute() (dist_py_module.infrastructure.gen_setup_command.gensetupcommand method)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.execute"]], "help_text (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.help_text"]], "name (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.name"]], "options (dist_py_module.infrastructure.gen_setup_command.gensetupcommand property)": [[16, "dist_py_module.infrastructure.gen_setup_command.GenSetupCommand.options"]], "icli (class in dist_py_module.infrastructure.icli)": [[17, "dist_py_module.infrastructure.icli.ICLI"]], "_abc_impl (dist_py_module.infrastructure.icli.icli attribute)": [[17, "dist_py_module.infrastructure.icli.ICLI._abc_impl"]], "dist_py_module.infrastructure.icli": [[17, "module-dist_py_module.infrastructure.icli"]], "is_initialized() (dist_py_module.infrastructure.icli.icli method)": [[17, "dist_py_module.infrastructure.icli.ICLI.is_initialized"]], "run() (dist_py_module.infrastructure.icli.icli method)": [[17, "dist_py_module.infrastructure.icli.ICLI.run"]], "iclicommand (class in dist_py_module.infrastructure.icli_command)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand"]], "_abc_impl (dist_py_module.infrastructure.icli_command.iclicommand attribute)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand._abc_impl"]], "dist_py_module.infrastructure.icli_command": [[18, "module-dist_py_module.infrastructure.icli_command"]], "execute() (dist_py_module.infrastructure.icli_command.iclicommand method)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.execute"]], "help_text (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.help_text"]], "name (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.name"]], "options (dist_py_module.infrastructure.icli_command.iclicommand property)": [[18, "dist_py_module.infrastructure.icli_command.ICLICommand.options"]], "templateprovider (class in dist_py_module.infrastructure.template_provider)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider"]], "_abc_impl (dist_py_module.infrastructure.template_provider.templateprovider attribute)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider._abc_impl"]], "dist_py_module.infrastructure.template_provider": [[19, "module-dist_py_module.infrastructure.template_provider"]], "get_template_by_name() (dist_py_module.infrastructure.template_provider.templateprovider method)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider.get_template_by_name"]], "is_initialized() (dist_py_module.infrastructure.template_provider.templateprovider method)": [[19, "dist_py_module.infrastructure.template_provider.TemplateProvider.is_initialized"]], "main": [[21, "module-main"]], "main() (in module main)": [[21, "main.main"]]}}) \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index d6dfab8..1b707d1 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -29,7 +29,7 @@ project: str = 'dist_py_module' project_copyright: str = '2026, Vladimir Roncevic ' author: str = 'Vladimir Roncevic ' -version: str = '3.1.0' +version: str = '3.1.1' release: str = 'https://github.com/vroncevic/dist_py_module/releases' extensions: List[str] = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode'] templates_path: List[str] = ['_templates'] diff --git a/docs/source/index.rst b/docs/source/index.rst index ec5f885..f0fd8b6 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -136,7 +136,7 @@ Running tool for creating new distributing py module mkdir -p demo/mytool/ - python3 main.py setup --package-name "dist_py_module" --version "3.1.0" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True" + python3 main.py setup --package-name "dist_py_module" --version "3.1.1" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" --with-readme "True" Copyright and licence ----------------------- diff --git a/main.py b/main.py index e252745..7d78e2a 100644 --- a/main.py +++ b/main.py @@ -25,7 +25,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/run.sh b/run.sh index b098276..83c713b 100755 --- a/run.sh +++ b/run.sh @@ -1,2 +1,2 @@ -python3 main.py setup --package-name "dist_py_module" --version "3.1.0" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" +python3 main.py setup --package-name "dist_py_module" --version "3.1.1" --description "Package for distributing Python packages." --author "Vladimir Roncevic" --email "elektron.ronca@gmail.com" --github "vroncevic" --license "GNU General Public License (GPL)" diff --git a/run_coverage.py b/run_coverage.py index 2a14000..513d752 100644 --- a/run_coverage.py +++ b/run_coverage.py @@ -26,7 +26,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/run_coverage.sh b/run_coverage.sh index 9af6771..24006b6 100755 --- a/run_coverage.sh +++ b/run_coverage.sh @@ -1,7 +1,7 @@ #!/bin/bash # # @brief dist_py_module -# @version v3.1.0 +# @version v3.1.1 # @date Sun Jun 30 09:25:12 2026 # @company None, free software to use 2026 # @author Vladimir Roncevic diff --git a/setup.py b/setup.py index 69d0447..d79fe81 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'GNU General Public License (GPL)' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Updated' @@ -67,7 +67,7 @@ def find_package_data(pkg: str) -> list[str]: setup( name='dist_py_module', - version='3.1.0', + version='3.1.1', description='Package for distributing Python packages.', author='Vladimir Roncevic', author_email='elektron.ronca@gmail.com', @@ -75,7 +75,7 @@ def find_package_data(pkg: str) -> list[str]: license='GNU General Public License (GPL) 2026 Free software to use and distributed it.', long_description=long_description, long_description_content_type='text/markdown', - keywords='dist_py_module, TODO', + keywords='dist_py_module, distribute python package', platforms='POSIX', classifiers=PYP_CLASSIFIERS, packages=find_packages(exclude=['tests', 'tests.*', '*.*.pyc', '*.pyo']), diff --git a/tests/test_domain.py b/tests/test_domain.py index efe27a0..713c3ea 100644 --- a/tests/test_domain.py +++ b/tests/test_domain.py @@ -27,7 +27,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' diff --git a/tests/test_engine.py b/tests/test_engine.py index 70bdbe4..8190287 100644 --- a/tests/test_engine.py +++ b/tests/test_engine.py @@ -34,7 +34,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -185,6 +185,37 @@ def test_process_failure_with_unexpected_error(self) -> None: engine.process() mock_print.assert_called_with('\x1b[31m❌ dist_py_module: engine not initialized.\x1b[0m') + def test_process_expected_exception(self) -> None: + ''' + Tests engine process catches expected exception. + ''' + mock_cli: MagicMock = MagicMock(spec=ICLI) + mock_cli.is_initialized.return_value = True + mock_cli.run.side_effect = ValueError("Expected error") + + bundle: DistPyModuleBundle = DistPyModuleBundle(cli=mock_cli) + engine: DistPyModule = DistPyModule(bundle) + self.assertTrue(engine.is_initialized()) + + engine.process() + mock_cli.run.assert_called_once() + + def test_process_unexpected_exception(self) -> None: + ''' + Tests engine process catches unexpected exception. + ''' + mock_cli: MagicMock = MagicMock(spec=ICLI) + mock_cli.is_initialized.return_value = True + mock_cli.run.side_effect = Exception("Unexpected error") + + bundle: DistPyModuleBundle = DistPyModuleBundle(cli=mock_cli) + engine: DistPyModule = DistPyModule(bundle) + self.assertTrue(engine.is_initialized()) + + engine.process() + mock_cli.run.assert_called_once() + + def test_dist_py_module_bundle_helpers(self) -> None: ''' Tests DistPyModuleBundle merge and to_dict helpers. diff --git a/tests/test_infrastructure.py b/tests/test_infrastructure.py index a5ce160..d9a3668 100644 --- a/tests/test_infrastructure.py +++ b/tests/test_infrastructure.py @@ -44,7 +44,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -159,7 +159,7 @@ def test_arg_parser_success(self) -> None: context: ContextBundle = ContextBundle(checker=Checker(), reporter=Reporter(), verbose=False) params: dict[str, str] = { 'ats_name': 'test_cli', - 'ats_version': '3.1.0', + 'ats_version': '3.1.1', 'ats_licence': 'MIT', 'ats_build_date': '2026-06-22' } @@ -241,7 +241,7 @@ def test_gen_setup_command_metadata(self) -> None: mock_service: MagicMock = MagicMock(spec=IFileGen) params: dict[str, str] = { "package_name": "test_pkg", - "version": "3.1.0", + "version": "3.1.1", "description": "test_desc", "author": "test_author", "email": "test_email", @@ -255,7 +255,7 @@ def test_gen_setup_command_metadata(self) -> None: target_filename="setup.py", cli_params={ "package_name": "test_pkg", - "version": "3.1.0", + "version": "3.1.1", "description": "test_desc", "author": "test_author", "email": "test_email", diff --git a/tests/test_service.py b/tests/test_service.py index 62df55a..6fad1d1 100644 --- a/tests/test_service.py +++ b/tests/test_service.py @@ -20,7 +20,6 @@ ''' import unittest -from typing import Dict from dist_py_module.domain.ports.itemplate_provider import ITemplateProvider from dist_py_module.domain.ports.ifile_writer import IFileWriter from dist_py_module.application.service_bundle import ServiceBundle @@ -30,7 +29,7 @@ __copyright__: str = '(C) 2026, https://vroncevic.github.io/dist_py_module' __credits__: list[str] = ['Vladimir Roncevic', 'Python Software Foundation'] __license__: str = 'https://github.com/vroncevic/dist_py_module/blob/dev/LICENSE' -__version__: str = '3.1.0' +__version__: str = '3.1.1' __maintainer__: str = 'Vladimir Roncevic' __email__: str = 'elektron.ronca@gmail.com' __status__: str = 'Development' @@ -48,7 +47,7 @@ class MockTemplateProvider(ITemplateProvider): | get_template_by_name - Retrieves raw template. ''' - def __init__(self, templates: Dict[str, str]): + def __init__(self, templates: dict[str, str]): ''' Initializes MockTemplateProvider. @@ -112,7 +111,7 @@ def __init__(self) -> None: :exceptions: None. ''' - self.written_files: Dict[str, str] = {} + self.written_files: dict[str, str] = {} def write_file(self, filepath: str, content: str) -> None: ''' @@ -245,7 +244,7 @@ def test_service_bundle_helpers(self) -> None: self.assertEqual(bundle1.template_provider, provider1) self.assertEqual(bundle1.file_writer, writer1) - d: Dict[str, MockTemplateProvider | MockFileWriter] = bundle1.to_dict() + d: dict[str, MockTemplateProvider | MockFileWriter] = bundle1.to_dict() self.assertEqual(d["template_provider"], provider1) self.assertEqual(d["file_writer"], writer1)