Closed faroit closed 3 years ago
Hi faroit,
thanks for raising this issue! We will update the Sync Toolbox to depend on the updated libfmp once that pypi package has been created. Regarding the problems faced by lutzhamel, I think this was rather caused by a missing libsndfile installation, see #3
Also, to me, it looks like dependency ranges are based on guesses, assuming that only the next major point release could potentially break the software.
setup.py states:
install_requires=['ipython >= 7.8.0, < 8.0.0',
'librosa >= 0.8.0, < 1.0.0',
'matplotlib >= 3.1.0, < 4.0.0',
'music21 >= 5.7.0, < 6.0.0',
'numba >= 0.51.0, < 1.0.0',
'numpy >= 1.17.0, < 2.0.0',
'pandas >= 1.0.0, < 2.0.0',
'pretty_midi >= 0.2.0, < 1.0.0',
'pysoundfile >= 0.9.0, < 1.0.0',
'scipy >= 1.3.0, < 2.0.0',
'libfmp >= 1.1.0, < 2.0.0'],
potential problems with these dependencies include:
<1.0.0
still allows beta versions such as 1.0.0a0
which might potentially break the softwareI would suggest to relax the upper range of the dependencies and update the package dependencies as needed and instead rely on unit testing and continuous integration (for example adding https://dependabot.com)
I've updated the minimum required libfmp version. Now, no more conflicts are arising during installation of this package.
Regarding the upper version limits: This choice was inspired by semantic versioning, where we expect that only major updates will introduce breaking changes. We are aware that this assumption is violated very often but felt that this was a good compromise.
Thanks for your suggestion to use dependabot etc. We can discuss this in issue #5
installation on google colab requires a certain amounts of uninstalls to meet the requirements by the synctoolbox dependencies:
this is mainly caused by the frozen requirements of libfmp. To address this, a new release of libfmp on pypi should be issued (see https://github.com/meinardmueller/libfmp/issues/4) and synctoolbox should dependent only on that version (v1.1.3?)