Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

11.0.0 build fails if trove-classifiers is present #8470

Closed
sthen opened this issue Oct 16, 2024 · 3 comments
Closed

11.0.0 build fails if trove-classifiers is present #8470

sthen opened this issue Oct 16, 2024 · 3 comments

Comments

@sthen
Copy link

sthen commented Oct 16, 2024

I'm attempting to build Pillow 11.0.0 to update our packages and it fails if trove-classifiers is also installed. Pillow 10.4.0 is ok in the same situation. Do you have any suggestions please - is this a problem with the new Pillow release or am I doing something wrong? Thanks.

Tested on OpenBSD -current with python 3.11.10, tried both setuptools 68.0.0 and 69.5.1, trove-classifiers 2024.4.10 and 2024.10.13.

* Getting build dependencies for wheel...
WARNING setuptools_scm._integration.setuptools pyproject.toml does not contain a tool.setuptools_scm section
/usr/local/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py:66: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  config = read_configuration(filepath, True, ignore_option_errors, dist)
configuration error: `project.classifiers[1]` must be trove-classifier
DESCRIPTION:
    `PyPI classifier <https://pypi.org/classifiers/>`_.

GIVEN VALUE:
    "License :: OSI Approved :: CMU License (MIT-CMU)"

OFFENDING RULE: 'format'

DEFINITION:
    {
        "type": "string",
        "format": "trove-classifier"
    }
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=['wheel'])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
    self.run_setup()
  File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
    exec(code, locals())
  File "<string>", line 1034, in <module>
  File "/usr/local/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 159, in setup
    dist.parse_config_files()
  File "/usr/local/lib/python3.11/site-packages/setuptools/dist.py", line 898, in parse_config_files
    pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
  File "/usr/local/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 66, in apply_configuration
    config = read_configuration(filepath, True, ignore_option_errors, dist)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 128, in read_configuration
    validate(subset, filepath)
  File "/usr/local/lib/python3.11/site-packages/setuptools/config/pyprojecttoml.py", line 55, in validate
    raise ValueError(f"{error}\n{summary}") from None
ValueError: invalid pyproject.toml config: `project.classifiers[1]`.
configuration error: `project.classifiers[1]` must be trove-classifier

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
@aclark4life
Copy link
Member

The trove classifier is new, if that helps, as of #7942

@sthen
Copy link
Author

sthen commented Oct 16, 2024

oops, sorry - I was mistaken with my testing. It is indeed only seen with the older trove-classifiers version; updating to 2024.10.13 did fix it. I suppose not a bug then.

@hugovk hugovk closed this as not planned Won't fix, can't repro, duplicate, stale Oct 16, 2024
@hugovk
Copy link
Member

hugovk commented Oct 16, 2024

Good to hear :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants