python / importlib_metadata

Library to access metadata for Python packages
https://importlib-metadata.readthedocs.io
Apache License 2.0
122 stars 79 forks source link

Change build backend to flit-core? #470

Closed fourtysixand2 closed 4 months ago

fourtysixand2 commented 10 months ago

With importlib_metadata and zipp now being deps of build will the backend for both change to flit-core?

Thanks

jaraco commented 7 months ago

This project shares a skeleton with hundreds of other projects I maintain. These projects use setuptools because it provides the best feature set for a build backend. I explored using flit at one point and flit was uninterested in supporting key features that skeleton-based projects rely on, namely re-use of VCS metadata for file manifests and versioning details. I'm absolutely uninterested in using a backend that adds more manual processes to a technique that's demonstrably mechanizable.

I'd be very much interested in seeing an analysis (demonstration) of this project (or another skeleton-based project) on flit-core. I'd be particularly interested to see if it retains the features/behaviors that I appreciate:

If you think these conditions can be met, please feel encouraged to experiment with a demo, perhaps in a PR, and let me know what you find. If flit is viable for this project, it may be viable for other projects, including setuptools itself.

jaraco commented 3 weeks ago

I recently was reminded that flit requires boilerplate for basic behavior, so flit is out of the question.

I'm inclined to learn more about hatch and hatchling, which does seem to promise some of the good best practices that I desire from a build backend.

I've also recently embarked on building the Coherent System, which not only provides a lot of the ergonomics of hatchling, it also requires dramatically less boilerplate (none) and has the added benefit of the essential layout, which would make it much easier to integrate the behavior into a downstream project (like CPython).