Packaging: Use of pyproject.toml and move to minimal setup.py for modernization#159
Conversation
romanc
left a comment
There was a problem hiding this comment.
Two questions:
- Is there a way to move the non-optional dependencies also to the
pyproject.tomland get rid ofsetup.py? - Did you test local developer workflows, e.g. installing NDSL (and gt4py/dace) editable?
|
|
Thanks Frank, that sounds good. Another question: what do you think about moving the configuration from |
@romanc, given the current issues between |
I'm unaware about problems between flake8 and reading the configfile. That sounds weird to me given that pyproject.toml is the new standard. But yeah, if there are issues, we can iterate and do follow-up PRs. Is this ready to be merged/reviewed? Asking because the PR is still marked as draft... |
|
Two more comments:
|
I will continue to dig on this, my focus is currently on finishing out the analogous changes in pace. Once I am ready for review I will change the status of this PR, I apologize for the confusion. |
romanc
left a comment
There was a problem hiding this comment.
I've been reading up on python packing and I agree, this is the most standard way add local package dependencies. It will support all current workflows and prep us for the future to come.
This is starting to look nice. To be clear, can we get rid of setup.cfg now? Otherwise just some minor suggestions inline.
(And sorry for the un-asked review. I was just monitoring activity and thought I'd share my thoughts / endorsement for this move to pyproject.toml.
romanc
left a comment
There was a problem hiding this comment.
Nice! Thanks for bringing us up to speed with recent python config developments 🚀
…ernization (NOAA-GFDL#159) * Moving to pyproject.toml and minimal setup.py * Linting * Fixing setup.py syntax * Moving setup.cfg contents to pyproject.toml * Adding license information for ndsl/viz/fv3/README.md * Adding private classifier to pyproject.toml * Removing setup.cfg * Fixing unit test workflow * Changing install option from 'develop' to 'dev' * Adding linting for yamls * Adding Flake8-pyproject as additional dependency in pre-commit-config.yaml
Description
This PR moves the metadata and configuration for the package to a
pyproject.tomlfile, as is prescribed by Deprecate legacy setup.py develop mechanism for pip install --editable #11457. The previoussetup.pyfile is now minimal. `How Has This Been Tested?
Tested using the current CI workflow
Checklist: