-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
extend skill.json spec #31
Conversation
} | ||
}, | ||
"requirements": { | ||
"qt_version": "5", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be possible we need other optional qt components? We also have python and other dependencies here, so maybe:
requirements:
python: []
system: {}
skill: []
plugins: [] # Or dict of plugin type to entrypoint?
qt:
version: '5' # Or maybe separate min_version and max_version?
packages: [] # Or plugins? Not sure the terminology here or if this would ever vary from defaults?
I might be missing it, but is there much information on folder/foldername? This is unclear when writing a skill with the class in a subfolder instead of the root of the repository. |
original SPEC was from https://plasma-bigscreen.org/docs/develop/ and we just adopted and extended it (mycroft-core never did) |
Is |
skills classes are defined in setup.py entrypoints and can live anywhere, as long as OSM/mycroft compat is not important, thats how you specify other locations the folder param will be fully removed from the spec, that was a "download folder" and now unused. it's intended usage in Pling marketplace was to specify a skill_id (same as folder name) in order to override uninstallable skills. It will be dropped from the spec |
spec now lives in https://openvoiceos.github.io/ovos-technical-manual/skill_json/ |
extend skill.json spec to allow specifying more complex requirements
requirements
is a dict specifying other ovos platform requirements, in distributed setups such as docker plugins live in different services and can not be specified as regular python packagesexample usages are bandcamp/deezer/news needing their respective OCP extractors, skills that need Oauth will require the companion PHAL plugin, hardware control skills will also require phal or possibly admin plugins. some skills such as spotify (WIP) and peerflix (WIP) may also require dedicated audio service players
this also accounts for OpenVoiceOS/ovos-core#163 where skills may start depending on message.context from those plugins