Installing and uninstallingπŸ”—

A component package may contain an arbitrary number of components and licenses. When you create one using va-pkg or Builder, it contains exactly one component, but the Store may include all dependencies and their licenses in a single package, making it self-contained.

Component packages can be installed and uninstalled graphically through the Engine’s management interface. Another option is to use the va-pkg command-line tool, which we’ll be using here.

SetupπŸ”—

On Windows, va-pkg is in the bin directory of the VisionAppster installation. In a user-scope Linux installation, it will be placed in $HOME/bin or $HOME/.local/bin. If this directory is in your PATH, this command will give you basic usage instructions:

va-pkg

If you installed the Flatpak version to the system scope on Linux, you may want to set up an alias first:

alias va-pkg="flatpak run --command=va-pkg com.visionappster.Builder"

Usage examplesπŸ”—

Install all components and/or licenses in a package file:

va-pkg install com.example.component-1.2.3.vapkg

Install external dependencies:

va-pkg install python:numpy python:opencv-python

NOTE! You need to install the `com.visionappster.extensions.python <>`__ component to enable Python support.

Uninstall the only installed version of a component:

va-pkg uninstall com.example.component

Uninstall a specific major version of a component:

va-pkg uninstall com.example.component/1

Uninstall an external component:

va-pkg uninstall python:opencv-python

Install all components and/or licenses in a package file to a remote computer running an VisionAppster Engine instance:

va-pkg install --remote 192.168.1.23 com.example.component-1.2.3.vapkg

CaveatsπŸ”—

va-pkg cannot make changes that would cross a container border. Practical consequences:

  • When va-pkg is run inside Flatpak, it cannot make changes to the system scope (--system command-line flag).

  • If the VisionAppster Engine service runs in a container, va-pkg run in the same machine but outside of the container may not be able to make changes to the component database used by the container. This depends on the way you mounted volumes to the container. In this case, the preferred way is to manage the component database in the container through its HTTP interface using the --remote flag.

Raw HTTP APIπŸ”—

Using va-pkg requires installing the VisionAppster runtime. Sometimes, this is not feasible. Luckily, using the HTTP interface of the Engine is simple enough to be used from the command line:

# Address of remote host
remote=localhost:2015
# Name of package file
package_file="com.example.component-1.2.3.vapkg"
# Upload file using HTTP PUT
curl -T "$package_file" "http://$remote/packages/$package_file"
# Install
curl "http://$remote/componentdb/functions/installUploadedPackage?$package_file"
# Uninstall
curl "http://$remote/componentdb/functions/uninstallComponent?com.example.component/1"