Package data

In most cases you probably won't have to include the package data, but in the cases where you do need data to go with your package, there are a few different options. First, it is important to know which files are included in your package by default:

  • Python source files in the package directories recursively
  • The setup.py and setup.cfg files
  • Tests: test/test*.py
  • All *.txt and *.py files in the examples directory
  • All *.txt files in the root directory

So after the defaults, we have the first solution: the package_data argument to the setup function. The syntax for that is simple enough, a dictionary where the keys are the packages and the values are the patterns to include:

package_data = {
    'docs': ['*.rst'],
}

The second solution is using a ...

Get Mastering Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.