prithviulm / qudi-core

A framework for modular measurement applications.
https://qudi-core-testing.readthedocs.io/en/latest/
GNU General Public License v3.0
0 stars 2 forks source link

Should we move to Poetry? [New Feature] #2

Open prithviulm opened 6 months ago

prithviulm commented 6 months ago

Feature Description

Poetry would be an awesome inclusion for Qudi. We should consider switching over to it though that might encounter a lot of friction.

Related Problem

The learning curve isn't much more than conda, especially if you're just a user. For developers, it offers a neat way to fix dependencies across devs which is helpful for the it-does-not-work-for-me-but-it-works-for-everyone-else cases. Also it oversees the entire build, test, deploy process and works well with the tools that are used for those processes.

Considered Alternatives

PDM is another option but it is even newer than Poetry.

Hatch is another option that seems to be about as popular as Poetry.

Also cue XKCD 927...

Additional Context

No response

Contact Details

No response

prithviulm commented 6 months ago

The other minor issue is with labelling versions. Poetry handles this natively. Alternatively we can use versioneer and just label releases with git tags. Either way, having a VERSION file doesn't work with pyproject.toml. The version number must either be written in pyproject.toml or a build tool must provide it to pyproject.toml.

prithviulm commented 6 months ago

Also, for unknown reasons, pyproject.toml cannot be used to install projects in editable mode so a one-liner setup.py is still needed. Poetry natively allows installation in editable mode AFAIK.

prithviulm commented 2 weeks ago

Need to figure out a good way to pin dependencies if the tests fail. Dependabot does not natively support this. There could be a custom script using poetry or tox or so to help with this.