lxm3.xm_cluster.UniversalPackage

class lxm3.xm_cluster.UniversalPackage(entrypoint: List[str], build_script: str, build_args=NOTHING, path: str = '.')

Universal package describes a package that can be built by a custom build script.

Compared to PythonPackage, UniversalPackage is more flexible, as it can be used for any language and build system not supported natived by LXM3. However, it requires more work to set up.

Parameters:
  • entrypoint – Entrypoint for the built executable.

  • build_script – Path to the build script. If it’s a relative path, this will be resolved relative to path. The build script should be an executable that can be used to produce a directory containing files that will be packaged into a zip archive. During packaging. The build script put the files into the directory specified by the BUILDDIR environment variable.

  • build_args – Additional arguments that will be passed to the build script. path: Path to the project.

  • path – Path to the project. If it’s a relative path, this will be resolved relative to the launcher’s working directory.

Examples

See examples/universal_package for an example.

Raises:

ValueError – If the build script is not executable.

__init__(entrypoint: List[str], build_script: str, build_args=NOTHING, path: str = '.') None

Method generated by attrs for class UniversalPackage.

Methods

__init__(entrypoint, build_script[, ...])

Method generated by attrs for class UniversalPackage.

Attributes

name

entrypoint

build_script

build_args

path