Migrate dependency management and packaging to poetry
+ dependencies version bumps
#79
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This migration is motivated by recent breaking changes in how
setuptools
handle editable installs (seesetuptools
issues #3557, #3548).These changes broke our workflow for projects depending on
vital
(i.e. shadowing of installedvital
package by folder of the same name for the git submodule, install ofhydra_plugins
namespace package to make Hydra configs discoverable, etc.) , so investing the effort to migrate to a new packaging tool became worth it.I like
poetry
personally because it centralizes the definition of dependencies, and it provides a good workflow for installing projects locally for development purposes (by default, package installed in editable mode with dev dependencies, etc.). At the same time,poetry
also works with the intuitivepip install .
when users just want to install the package as-is and are less interested by development concerns. This is just a quick overview, so I would suggest to either give a look atpoetry
's documentation or to message me directly if you have specific questions/concerns about how the workflows you're used to can be supported.So, in the end, I would mostly ask you to review the setup instructions to make sure you're comfortable with them. You can also checkout the twin branch on the
castor
repo to see what changes the switch topoetry
means for a project depending onvital
.