nmk_python.build ================ .. py:module:: nmk_python.build .. autoapi-nested-parse:: Python package build module Classes ------- .. autoapisummary:: nmk_python.build.PackageBuilder nmk_python.build.PythonModuleResolver nmk_python.build.Installer nmk_python.build.Uninstaller nmk_python.build.EditableBuilder nmk_python.build.PythonOptionalDepsResolver Module Contents --------------- .. py:class:: PackageBuilder(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.builder.NmkTaskBuilder` Python package builder .. py:method:: build(project_file: str, version_file: str, source_dirs: list[str], artifacts_dir: str, build_dir: str, extra_resources: dict[str, str]) Delegate to python build module, from a temporary build folder :param project_file: path to python project file :param version_file: path to generated version file :param source_dirs: list of source folders for this wheel :param artifacts_dir: output folder for built wheel :param build_dir: temporary build folder :param extra_resources: dictionary of extra resources mapping (original path -> target path) .. py:class:: PythonModuleResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.resolver.NmkStrConfigResolver` Python module name resolver .. py:method:: get_value(name: str) -> str Return module name from package (i.e. wheel) name .. py:class:: Installer(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk_base.venvbuilder.VenvUpdateBuilder` Install built wheel in venv .. py:method:: build(name: str, pip_args: list[str], to_remove: str) Install wheel in venv :param name: wheel name to be installed :param pip_args: pip command line arguments :param to_remove: stamp file to be removed .. py:class:: Uninstaller(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.builder.NmkTaskBuilder` Uninstall current project wheel from venv .. py:method:: build(name: str) Uninstall wheel from venv Note that task won't fail if the wheel is not installed :param name: wheel name to be uninstalled .. py:class:: EditableBuilder(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.builder.NmkTaskBuilder` Install python project in editable mode .. py:method:: build(pip_args: list[str]) Install project in venv as editable package :param pip_args: pip command line arguments .. py:class:: PythonOptionalDepsResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.resolver.NmkListConfigResolver` Python optional deps resolver .. py:method:: get_value(name: str, groups: dict[str, list[str]]) -> list[str] Turn dependency options deps dict into a merged list of dependencies