-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Move requirements.txt to a new requirements folder and add optional deps #2575
Conversation
Voight Kampff Integration Test Failed (Results) |
Thanks! |
Voight Kampff Integration Test Failed (Results) |
2 similar comments
Voight Kampff Integration Test Failed (Results) |
Voight Kampff Integration Test Failed (Results) |
Voight Kampff Integration Test Succeeded (Results) |
1 similar comment
Voight Kampff Integration Test Succeeded (Results) |
Voight Kampff Integration Test Failed (Results) |
I did some testing with using the setup.py and it seems like the extras_require needs to be a dict specifying the different groups of extras that could be installed. for now I think we can just use an "all" group. See here for my test.
|
Well if I'm going to do it, I'm going to do it right. Instead of an "all" group, I divided them into the "stt", "audio-backend" and "mark1" group. I removed the |
Voight Kampff Integration Test Failed (Results) |
1 similar comment
Voight Kampff Integration Test Failed (Results) |
I don't know how to read that Voight Kampff thing at all. If I check the results, I see no failures? |
Voight Kampff Integration Test Failed (Results) |
The results seem to link to be the last successful results for the PR, see the details for the CI:s at the bottom of this page for more details. Seem to be an error in L507 on dev_setup.sh |
The VK stage fails during setup of the Docker for the test:
|
Voight Kampff Integration Test Failed (Results) |
Some dependencies aren't actually required but can be optionally installed for extra functionality. The Chromecast is an optional audio backend VLC is an optional audio backend pyalsaaudio is only used by the mark1 enclosure google-api-python-client is an optional STT backend, by default Mycroft uses the Mycroft servers
Voight Kampff Integration Test Succeeded (Results) |
@krisgesling could you also take a look at this approach and see if it makes sense to you from a user and maintenance perspective. I think this can be pretty good for a dev-setup perspective where y/n questions could be added to enable certain features by installing the specific requirements files. I've updated the Mark-1 packaging rules to include the required extras and it seems to be working as previously. |
if we are doing this, could we add all optional dependencies? specifically for TTS/STT/AudioBackend engines |
@JarbasAI in a new PR please but yes, that's doable then! I didn't even realize there were any more optional dependencies 🤔 |
@@ -7,3 +7,5 @@ sphinx==2.2.1 | |||
sphinx-rtd-theme==0.4.3 | |||
git+https://github.com/behave/behave@v1.2.7.dev1 | |||
allure-behave==2.8.10 | |||
|
|||
python-vlc==1.1.2 |
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.
Was this meant to be added to the tests requirements?
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.
Yup. One of the tests actually uses it, I had it fail when it wasn't installed. Since it's an optional dependency at runtime, it has to be specified here.
Yeah I like it! Easier to track the growing list of dependencies and know what they're for. As Jarbas mentioned it will also be great for things like Polly STT which requires an extra package. There's no need to install it on every device just in case some users want to try that STT service out. But for less technical users it's also harder to get started if they've never heard of PIP or package management in general. |
I hope that eventually less technical users will just get mycroft from their distribution repositories 😉 |
haha yeah, I meant this is a good step toward automating that process for them. |
Description
Some dependencies aren't actually required but can be optionally
installed for extra functionality, e.g. the Chromecast audio backend, so
let's move those to an extra requirements file.
There are probably more deps that are optional but I don't know them, so please list them if so.
How to test
Install Mycroft with and without optional deps and see if the functionality still works as expected.
Contributor license agreement signed?
CLA [x] (Whether you have signed a CLA - Contributor Licensing Agreement