You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Could you please consider switching the build system from setuptools to flit_core? This would help Linux distributions such as Gentoo avoid cyclic dependencies that cause bootstrapping unbundled setuptools a real pain. If you agree, I can submit a pull request doing the conversion.
The problem is that the most recent release of setuptools (66.0.0) started using platformdirs. platformdirs use the hatchling build backend which in turn requires this package. This creates a dependency cycle that we can't install setuptools before installing platformdirs, and we can't build platformdirs before all of hatchling's dependencies are installed, and we effectively end up needing setuptools to build them.
flit_core is a "no dependencies [except for tomli, on Python < 3.11]" by design, so it makes bootstrapping packages much easier.
Unfortunately, I don't think it's possible to retain setuptools_scm-style logic then. While there's a flit_scm package providing equivalent functionality, it depends on setuptools_scm which invariably means a cyclic dependency with setuptools.
The text was updated successfully, but these errors were encountered:
@RonnyPfannschmidt since hatchling depends on pluggy, it does sounds like a good idea to avoid pluggy depending on hatchling. How do we expect distributions to package pluggy with a cyclic dependency like this?
Exactly. Hatchling's author actually pointed out that it does not introduce bootstrap problems because it depends on packages that don't use hatchling…
Could you please consider switching the build system from setuptools to flit_core? This would help Linux distributions such as Gentoo avoid cyclic dependencies that cause bootstrapping unbundled setuptools a real pain. If you agree, I can submit a pull request doing the conversion.
The problem is that the most recent release of setuptools (66.0.0) started using platformdirs. platformdirs use the hatchling build backend which in turn requires this package. This creates a dependency cycle that we can't install setuptools before installing platformdirs, and we can't build platformdirs before all of hatchling's dependencies are installed, and we effectively end up needing setuptools to build them.
flit_core is a "no dependencies [except for tomli, on Python < 3.11]" by design, so it makes bootstrapping packages much easier.
Unfortunately, I don't think it's possible to retain setuptools_scm-style logic then. While there's a flit_scm package providing equivalent functionality, it depends on setuptools_scm which invariably means a cyclic dependency with setuptools.
The text was updated successfully, but these errors were encountered: