Hi! I've been working on some Python libraries recently and was excited to dig a little deeper into using Poetry as my project package manager. I discovered that, by default, Poetry adds upper bounds to all dependencies that you add. There are a lot of people that think this doesn't make sense for publishing libraries in the Python ecosystem (I provide links in the README if you want additional context), and I happen to agree after seeing first-hand how many dependency resolution issues this causes.It looks like the Poetry project isn't planning on adding configuration for this any time soon, so I've written a plugin that can be used to remove the upper bound constraints from dependencies specified with carets (^, the Poetry default).
It's my first plugin for the Poetry ecosystem, I hope it's straight-forward to use! It supports dry runs, updating your pyproject.toml, checking for solvable dependencies, upgrading your dependencies, and updating your lock file. Any feedback is welcome.