NaomiProject / Naomi

The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
https://projectnaomi.com/
MIT License
266 stars 61 forks source link

Remove profile value passing #279

Open aaronchantrill opened 4 years ago

aaronchantrill commented 4 years ago

Detailed Description

There are a lot of places that expect the configuration to be passed in as a structure. Now that the configuration is stored in a public static module, it is no longer necessary to pass the values from module to module, but a lot of modules expect a copy of the config/profile to be passed in. This adds extra complexity to the code and confusion about the "proper" way to access profile values.

Context

This change is just to reduce complexity and increase readability.

Possible Implementation

The implementation is simple. Simply remove every reference to config. from the existing codebase and replace them with profile.get(, default), then remove every place that a module is specifically waiting for or passing a config.

This is pretty simple and would be a good way for someone to learn something about the structure of the code base. I am happy to provide additional support. Unfortunately, this is one of those projects that makes minor changes to a lot of files in this project.

Pratikdate commented 1 year ago

Assign me i will work on it

sank8-2 commented 4 weeks ago

Hi, I would love to work on it, just want to know how do I start.

aaronchantrill commented 3 weeks ago

@sank8-2 Sorry it's taken me so long to get back to you. I think a lot of this was done in the https://github.com/NaomiProject/Naomi/pull/402 pull request, but I appreciate you taking a look at it. Please start by installing Naomi. Let me know if you experience any issues with this. You will need a Debian type linux system to install it on (it also works with WSL or VirtualBox).

After that, let's take a look at local_mic.py, mic,py, mic_asynchronous.py and mic_synchronous.py and see if we can get the parameters standardized between them. I have other projects I would love to have your help with also.

Thank you, Aaron

sank8-2 commented 3 weeks ago

Hey @aaronchantrill its alright. I have Ubuntu, to run it on.

Which parameters to get standardised and how would be a lot of help. I'll check out the #402 PR also