MycroftAI / adapt

Adapt Intent Parser
Apache License 2.0
712 stars 154 forks source link

Update requirements.txt #62

Closed ethanaward closed 3 years ago

ethanaward commented 7 years ago

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.

clusterfudge commented 7 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.

zeehio commented 6 years ago

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 😅

penrods commented 6 years ago

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.

clusterfudge commented 6 years ago

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.

forslund commented 3 years ago

This can probably be closed now.