Manifest.yml
A Skill's `manifest.yml` file is the default method for defining the dependencies of a Mycroft Skill.
Last updated
Was this helpful?
A Skill's `manifest.yml` file is the default method for defining the dependencies of a Mycroft Skill.
Last updated
Was this helpful?
In this file we can include Python packages, Linux applications or other Mycroft skills that are required for our own Skill to function properly.
We start the manifest.yml
by defining a top-level key of dependencies
and the type of dependency we want to include.
Here we can see a simple example that defines the requests
and gensim
Python packages as required dependencies.
When a Skill with this manifest.yml
file is being installed, Mycroft would check for, and if required install, both packages from using the PIP installer.
There is no limit to the number of packages you can install, however these are reviewed during the to ensure they are appropriate for the Skill being installed.
Linux packages are defined under the system
key. As Mycroft can be installed on many different Linux distributions, support is provided for a range of package managers.
For packages that have consistent naming across package managers, we can use all
.
If the package has a different name on specific platforms, we can define that using the name of the package manager as a key. In the following example, we want to use the libpiano-dev
package when using the APT
package manager on Debian, Ubuntu and other related distributions.
Here we have installed a number of pianobar
packages, and then verify that the pianobar
executable is available for our Skill.
A Skill may even require that other Mycroft Skills are installed rather than duplicate functionality. Here we can see that the Cocktails Skill and the Mozilla Webthings Gateway are listed as dependencies.
Finally we can check that certain executables are available for the install to succeed. This is done by checking the .
Anything listed in this section will be passed to the for installation. A feature of MSM is that it will search for Skills that most closely match the given string. So even though the mozilla-webthings-gateway
Skill has not been perfectly entered, it will still match with a high enough confidence to install the Skill.
A complete manifest.yml
example can be found in the .
A simple example from a real Skill can be found in the .