mako icon indicating copy to clipboard operation
mako copied to clipboard

SetuptoolsDeprecationWarning: License classifiers are deprecated

Open heitbaum opened this issue 8 months ago • 3 comments

Warning whilst building

https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license

Executing (host): python3 -m build -n -w -x 
* Building wheel...
/var/media/DATA/home-rudi/LibreELEC.tv/build.LibreELEC-Generic.x86_64-13.0-devel/toolchain/lib/python3.13/site-packages/setuptools/
dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: MIT License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()

https://github.com/sqlalchemy/mako/blob/3fb893ef80e5e262d75997ed500000b9c2f587e4/setup.cfg#L14

heitbaum avatar Apr 24 '25 12:04 heitbaum

this is epidemic through all python packaging right now. mako needs to be on pep 621 however the specific warnings for licensing e.g. pep 639 will still persist , as setuptools only supports the new format as of 77.0.3 , which was only released a single month ago. These warnings are unreasonably loud and not-easily-actionable as it means we'd have to force users onto an extremely new setuptools. so I think these warnings will persist for many more months.

zzzeek avatar Apr 24 '25 12:04 zzzeek

OK been playing around with dogpile.cache here to see how this works. the setuptools requirement is not going to impact users that are installing the package as far as I can tell, when pip consults these requirements it is installing the build tools in a temporary virtualenv of its own. so this is isolated from everyone else. too bad they can't clarify this.

going to play with pyproject stuff in the coming days

zzzeek avatar Apr 26 '25 13:04 zzzeek

wow. scratch that, when I put dogpile.cache into tox on CI, the setuptools 77.0.3 requirement means older Python version support (3.8) need to be dropped. Using an older setuptools requirement in pyproject.toml indeed causes builds to fail on newer pythons that nonetheless aren't using this setuptools. so this needs the whole thing done and we need to drop python 3.8 support. that becomes major release

zzzeek avatar Apr 26 '25 14:04 zzzeek