On 04. 06. 23 1:54, Sandro wrote:
Hi,
Hey.
I ran into a build failure for a Python package that dropped setup.py in the latest update and uses pyproject.toml for metadata and setuptools.
The build failed due to 'error: Installed (but unpackaged) file(s) found' [1]. However, all the erroneously installed modules should be excluded by default, if I understand the setuptools automatic discovery documentation [2] correctly. They are listed in 'FlatLayoutPackageFinder.DEFAULT_EXCLUDE'. In this case 'docs', 'scripts' and 'test'.
Since this is still beta when using pyproject.toml, I was wondering if someone else has come across this misbehavior. Or, maybe, it's something I failed to spot in pyproject.toml, that's causing it.
I can make it work by adding a 'include = ["palettable"]' in the tool.setuptools.packages.find table [3]. But I'd like a second opinion before submitting a PR upstream.
First of all, upstream wheel downloaded from https://pypi.org/project/palettable/3.3.3/#files includes build, docs and test as well.
I think the elicit exclude configured at https://github.com/jiffyclub/palettable/blob/v3.3.3/pyproject.toml#L35 migth override the DEFAULT_EXCLUDE value.
I don't know how tool.setuptools.packages.find.exclude behaves, but I have seen this behavior with pytest, where the default was to exclude a bunch of directories including ".*", but projects that set their own excludes (without ".*") suddenly started to collect tests from our .pyproject-* folders.