Open haunma opened 1 week ago
Thank you for your thoughtful feedback.
We understand the challenge of managing numerous package dependencies, especially specific versions. To address this, we recommend using virtual environments, which can help avoid dependencies and ensure compatibility. https://pyppg.readthedocs.io/en/latest/tutorials/pyPPG_example.html
We're continuously working to improve usability, and your insights are crucial to that process.
Thank you again for your support and for sharing your experience.
Thanks for your reply. I also use python virtual environments for separate projects, but I create them with the --system-site-packages
option so that common dependencies like numpy, scipy, and matplotlib need not be reinstalled a dozen times on my system. IMO this is best practice, but I concede that with virtually unlimited disk space we are heading toward a "containers for everything" model (witness the popularity of appimage and flatpack). Unfortunately, again IMO.
I guess it depends if your goal is merely to provide a demonstration of methods from your paper, or if you would like to promote these algorithms to more widespread use.
I appreciate the spirit in which this has been written and given away to the community; however, requiring a whole slew of packages at specific [old] versions (numpy must be 1.23.2, matplotlib must be 3.6.1, and so on) makes this software almost impossible to use outside of a container, and therefore unsuitable for building into anyone else's work.
I was able to get the parts I wanted to test (the fiducial point algorithms) working by completely ignoring the dependencies and then resolving them one by one based on the errors generated. This is of course imperfect, e.g. modern versions of pandas are throwing a lot of dire warnings...
The effort required to fix this would be substantially reduced if the number of dependencies could be trimmed, perhaps through a partitioning of the "meat" and "visualization" parts of the library. Do you really need soundfile, scikit-learn, websockets, ...? Even pandas is a debatable requirement.