Closed ethanaward closed 3 years ago
I don't have any issues with upgrading, but I personally prefer fixed versions (as much as possible), so there's less variation between installs.
According to the latest python packaging guidelines the setup.py install_requires should list all the direct dependencies, with wide version ranges preferably, to minimize conflicts with other packages that break installations. On the other hand the requirements.txt file should list all direct and indirect dependencies with pinned versions to provide a reproducible development environment for everyone.
The problem with pinning fixed versions is that there easily are version conflicts when multiple packages are used. A packaging system that does not allow multiple versions of the same package installed simultaneously and has packages with pinned fixed versions is a hell of incompatibilities in my opinion
But hey, I am just passing by so my opinion is totally irrelevant here 😅
We good to go ahead and merge this for now? I don't want this to be mired too much in a debate if there are any strong feelings.
Assuming that pyee is hodling to semantic versioning, we should not assume that a >=1.0.1 dependency will be api compatible indefinitely. If we know that 3.0.3 is compatible (and probably 5.0.0, the latest), we should allow for a closed range from 1.0.0 to 5.0.0. I'm not comfortable packaging a release that doesn't hold to a known compatible dependency.
This can probably be closed now.
This changes the requirements to allow any version of pyee greater than 1.0.1. I've been working on creating a debian package for mycroft, and in order to do so I need to use pyee 3.0.3. I've tested both adapt and mycroft with 3.0.3, and both work fine. I'm also fine with pinning this to something like >=1.0.1 and <= 3.0.3 in case you're concerned about future pyee changes breaking current adapt functionality.