OpenVoiceOS / ovos_skill_manager

skill installer for OVOS
Apache License 2.0
5 stars 6 forks source link

Support for setup.py or Poetry-based installations #112

Open mikejgray opened 1 year ago

mikejgray commented 1 year ago

Currently, OSM has inherited the requirement from MSM that the skill class be in the root of the repository to be installed from Git. It would be nice to have support for a repository following a different structure, such as having a setup.py that points to a subfolder with the module code, or any PEP 621 compliant pyproject.toml options such as Poetry.

This came up on the neon-homeassistant-skill when trying to install from the Neon skill loader, which calls OSM, or installing from OSM directly.

JarbasAl commented 1 year ago

OSM should check for setup.py files (and other packaging formats we can handle) and if available install from there, from OSM POV all it needs to do is call pip install git+{url} instead of doing the download if support is detected

NeonDaniel commented 1 year ago

We should also consider adding a PyPI spec to skill.json to support installation without git

NeonDaniel commented 1 year ago

Related skill.json spec update: https://github.com/OpenVoiceOS/community-docs/pull/31

NeonDaniel commented 1 year ago

Relevant matrix discussion also indicates we can plan on deprecating git cloned installation, so consider a completely separate install path for pip installation and then we can cleanly drop "legacy installation" that includes extra repository parsing