nmk_base.venvbuilder¶
Python module for nmk-base venv tasks.
Classes¶
Resolver class for venvPython config item |
|
Resolver class for venvBin config item |
|
Resolver class for venvFileDepsContent config item |
|
Builder for py.venv task |
Module Contents¶
- class nmk_base.venvbuilder.ExeResolver(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.resolver.NmkStrConfigResolverResolver class for venvPython config item
- get_value(name: str) str¶
Resolution logic: returns sys.executable
- class nmk_base.venvbuilder.BinResolver(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.resolver.NmkStrConfigResolverResolver class for venvBin config item
- get_value(name: str) str¶
Resolution logic: returns sys.executable parent folder
- class nmk_base.venvbuilder.FileDepsContentResolver(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.resolver.NmkListConfigResolverResolver class for venvFileDepsContent config item
- get_value(name: str) list[str]¶
Resolution logic: merge content from files listed in venvFileDeps config item
- class nmk_base.venvbuilder.VenvUpdateBuilder(model: nmk.model.model.NmkModel)¶
Bases:
nmk.model.builder.NmkTaskBuilderBuilder for py.venv task
- build(pip_args: str = '', requirements_updated: bool = False, is_ci: bool = False)¶
Build logic for py.venv task
This logic depends on the backend used: - if the backend is not mutable, it just warns the user that requirements have been updated (+exit properly) - if the backend is mutable, it simply calls backend upgrade logic to apply changes, In all cases, all dependencies are listed in secondary output file.
- Parameters:
pip_args – Extra arguments to be used when invoking pip install; deprecated, not used anymore
requirements_updated – State if requirements file content was actually updated