papaemmelab / toil_container

:whale: Toil + Docker and Singularity.
MIT License
9 stars 6 forks source link

Unpin dependencies #27

Closed multimeric closed 3 years ago

multimeric commented 3 years ago

Versions

Description

Currently all the versions of all dependencies are pinned: https://github.com/papaemmelab/toil_container/blob/2afa80080fc83a34491cd80efe05159ddc386729/setup.json#L18-L24

This is unfortunate, as it means that it forces me to downgrade toil, docker etc just to install this library.

Good packaging practise [1], [2] dictates that library requirements should be as permissive/abstract as possible, to allow compatibility with other libraries. This can include an upper and lower bound, but pinning a specific version, and possibly even using ~=some_patch_version are problematic because they severely restrict the dependencies.

Do you think it might be possible to convert these pins to lower bounds? It may be necessary to also add upper bounds for things like Toil, but I'm willing to help fix this library to make it compatible if this is the case.

juanesarango commented 3 years ago

Hi @multimeric, thanks for pointing this out. I agree with your suggestion.

Im happy to accept your contributions, of setting the current versions as lower bounds, and testing with newer versions to check if there are any breaking changes with newer ones.

We haven't properly tested with the latest version of toil, so your help would be greatly appreciated.

jsmedmar commented 3 years ago

Agree, fixed versions could be pinned in downstream packages that use Toil Container. We originally pinned them down because Toil was going through a lot of development.

jsmedmar commented 3 years ago

Just curious, what scheduler are you using?

multimeric commented 3 years ago

I'm just using the local executor for now.

multimeric commented 3 years ago

Fixed by #29.