Skip to content

Ignoring package_data when include_package_data is True #1461

@Tobotimus

Description

@Tobotimus

Hi, firstly, thanks for the work you maintainers do on this library :)

I could be incorrect in saying this, but it's come to my understanding that setting include_package_data=True in setup includes data files specified by MANIFEST.in and only in MANIFEST.in. At the very least, this behaviour is not clearly explained in the docs, and at the worst it is unexpected and implicit behaviour.

Here is a sentence from the docs which seems to be trying to say the above, although elsewhere in the docs include_package_data is not explained in this way:

If using the setuptools-specific include_package_data argument, files specified by package_data will not be automatically added to the manifest unless they are listed in the MANIFEST.in file.

Doesn't this make package_data redundant when include_package_data is True? Does it really make sense to have a param called include_package_data which implicitly ignores package_data?

In summary, this is the behaviour I seem to have come across when using these options in various combinations:

  1. Including files in package_data with include_package_data=False:
    • Files specified by package_data are included as well as everything in MANIFEST.in.
  2. Including files in package_data with include_package_data=True:
    • Only the files specified by MANIFEST.in are included, files in package_data not specified by MANIFEST.in are excluded.
  3. Omitting package_data with include_package_data=True:
    • Same result as point 2.

I'm sorry if I've got this wrong, any correspondence is much appreciated :)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions