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