nmk_base.venvbuilder

Python module for nmk-base venv tasks.

Classes

ExeResolver

Resolver class for venvPython config item

BinResolver

Resolver class for venvBin config item

FileDepsContentResolver

Resolver class for venvFileDepsContent config item

VenvUpdateBuilder

Builder for py.venv task

Module Contents

class nmk_base.venvbuilder.ExeResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkStrConfigResolver

Resolver class for venvPython config item

get_value(name: str) List[str]

Resolution logic: returns sys.executable

class nmk_base.venvbuilder.BinResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkStrConfigResolver

Resolver class for venvBin config item

get_value(name: str) List[str]

Resolution logic: returns sys.executable parent folder

class nmk_base.venvbuilder.FileDepsContentResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Resolver 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.NmkTaskBuilder

Builder for py.venv task

build(pip_args: str = '')

Build logic for py.venv task: calls pip install with generated requirements file, then pip freeze to list all dependencies in secondary output file.

Parameters:

pip_args – Extra arguments to be used when invoking pip install