Help testing experimental features in setuptools

I’ve tried out getting my minesweeper project to work with your setuptools branch (see here).

I came across a few issues:

  • setuptools._vendor._validate_pyproject.fastjsonschema_exceptions.JsonSchemaValueException: data.urls.homepage must be url - my URL field did not start with ‘https://’, but the example in PEP 621 suggested this should work
  • setuptools._vendor._validate_pyproject.fastjsonschema_exceptions.JsonSchemaValueException: data.minegauler-bot must be python-entrypoint-reference - I was specifying "minegauler.cli" as an entrypoint, expecting it to do the equivalent of python -m minegauler.cli, but it seems I needed to use "minegauler.cli.__main__:main", is this expected?
  • I hit an issue with optional dependencies that I haven’t diagnosed yet, I may report back later
  • When building sdist I see “warning: check: missing meta-data: either (author and author_email) or (maintainer and maintainer_email) should be supplied” - this is despite the fact I have both authors and maintainers, e.g. authors = [{name = "Lewis Gaul", email = "minegauler@gmail.com"}]
  • I was hoping packages and package_data would still be possible to specify in setup.py rather than figuring out the tool.setuptools section or adding a setup.cfg, but these seem to be ignored

Other questions/thoughts:

  • I’m seeing “Install trove-classifiers to ensure validation.” - is this something that should be included in build-system: requires?
  • One other thought: when hitting these backend errors a pretty big setuptools traceback is output, which doesn’t feel very user-friendly (I only needed the exception message).

Looking forward to this functionality getting released, thanks for your work on this!

2 Likes