nmk_proto.python
Python related resolvers and builders sub-module
Classes
Generated python module folders resolver |
|
Generated python files resolver |
|
Copied proto files resolver |
|
Generated python module wildcards resolver |
|
proto.link silent task builder |
|
proto.gen.py task builder |
|
proto.check.py task builder |
Module Contents
- class nmk_proto.python.OutputFoldersFinder(model: nmk.model.model.NmkModel)
Bases:
nmk.model.resolver.NmkListConfigResolverGenerated python module folders resolver
- get_value(name: str, input_subdirs: list[str]) list[str]
List all generated python module folders
- Parameters:
name – config item name
input_subdirs – list of unique input subdirs
- Returns:
list of generated python module folders
- class nmk_proto.python.OutputPythonFilesFinder(model: nmk.model.model.NmkModel)
Bases:
nmk.model.resolver.NmkListConfigResolverGenerated python files resolver
- get_value(name: str, folder: str, input_files: list[str], src_folders: list[str]) list[str]
List all generated python files names
- Parameters:
name – config item name
folder – root proto folder
input_files – list of all input proto files
src_folders – list of python generated source folders
- Returns:
list of generated files names
- class nmk_proto.python.OutputProtoFilesFinder(model: nmk.model.model.NmkModel)
Bases:
nmk.model.resolver.NmkListConfigResolverCopied proto files resolver
- get_value(name: str, folder: str, input_files: list[str], src_folders: list[str]) list[str]
List all names of proto files copied in python source directory
- Parameters:
name – config item name
folder – root proto folder
input_files – list of all input proto files
src_folders – list of python generated source folders
- Returns:
list of copied proto files names
- class nmk_proto.python.OutputFoldersFinderWithWildcard(model: nmk.model.model.NmkModel)
Bases:
OutputFoldersFinderGenerated python module wildcards resolver
- get_value(name: str, input_subdirs: list[str]) list[str]
List all generated python module folders, with appended ‘/.’ wildcard
- Parameters:
name – config item name
input_subdirs – list of unique input subdirs
- Returns:
list of generated python module wildcards
- class nmk_proto.python.ProtoLinkBuilder(model: nmk.model.model.NmkModel)
Bases:
nmk.model.builder.NmkTaskBuilderproto.link silent task builder
- build()
Create local project symbolic link to venv root
- class nmk_proto.python.ProtoPythonBuilder(model: nmk.model.model.NmkModel)
Bases:
nmk_base.common.TemplateBuilderproto.gen.py task builder
- build(init_template: str, all_input_subdirs: list[str], options: list[str], src_folders: list[str], extra_args: list[str])
Generate python files from input proto ones
Iterates on input proto files, and call protoc tool to generate python files. Also generate __init__.py files for all generated modules, from provided template.
- Parameters:
init_template – path to __init__.py file template
all_input_subdirs – list of all input subdirs (one per found proto file)
options – list of proto paths options
src_folders – list of python generated source folders
extra_args – list of extra arguments for protoc command
- class nmk_proto.python.ProtoPythonChecker(model: nmk.model.model.NmkModel)
Bases:
nmk.model.builder.NmkTaskBuilderproto.check.py task builder
- build(src_folders: list[str])
Check generated python files import
Verifies (for all generated python modules folders) that importing all generated files at once works well (typically to make sure there are no enum naming conflicts).
- Parameters:
src_folders – list of python module folders to be checked