Closed NicolasMICAUX closed 1 year ago
Hey @NicolasMICAUX! Thanks for giving this little library a go. I think outside of myself, you are the first person to have done so.
On to the question: I have tried to be really strict with dependencies already. I have thought about it a bit and if anything can be dropped it might be matplotlib
since it is only used in eval_model
iirc. In comparison to everything else however, matplotlib
isn't a really heavy dependency.
I completely understand the desire to have less dependencies, installing this package alone inflates an environment quite a bit.
What I have thought about previously is splitting it into different portions:
pip install speakerbox[diarize]
for the diarization portionspip install speakerbox[train]
for the training and eval portionspip install speakerbox[apply]
for the application of the model portionspip install speakerbox[diarize,train,apply]
but this would at least allow users to be selective in their choices. It would also make the package a bit smaller when you are just applying the trained model I think?Even with those splits however, a lot of dependencies are shared between those three categories.
Ok, nice that you've already thought about it.
Thanks for giving this little library a go. I think outside of myself, you are the first person to have done so.
Side question, but do you think you're going to somewhat maintain it in the near future (1-2 years)? I really want to use speakerbox as I found it well made and very useful, but I don't wan't to raise issues and PR often if you had not planned to maintain this lib outside of your own use.
Side question, but do you think you're going to somewhat maintain it in the near future (1-2 years)? I really want to use speakerbox as I found it well made and very useful, but I don't wan't to raise issues and PR often if you had not planned to maintain this lib outside of your own use.
That is generally the plan! It depends on how much time it takes to support it. Council Data Project (the org this project was developed in use for) is relying on it for both future development and research so it will be maintained at least for our own use cases. As per usual with an open-source project, if others want to help maintain or add features, I'm happy to accept PRs.
(First, let's me tell you that i found your library superb! very nice work, thanks for sharing!)
Feature Description
Decrease the number of dependancies of dependancies: while the nb of depandancies in
pyproject.toml
is quite low, some of your dependencies probably have themselves a lot of (unusual) dependencies, which means that pip will install a lot of dependencies.Dependencies bring issues with time, compatibility issues etc.
Solution
If it's possible for you, i think it would be a good idea to identify the dependencies that have the most dependencies themselves and try to see if you can bypass their use.
The list of dependencies that were installed with speakerbox: