[Distutils] Exclusionary list of files/dirs in my TG-app's setup.py

Phillip J. Eby pje at telecommunity.com
Sat Mar 31 04:57:58 CEST 2007

At 07:09 PM 3/30/2007 -0700, Venkat Bommakanti wrote:
>Hi folks,
>(Please ignore my previous req on the same topic
>  Got sent out by mistake... Thanks.)
>'am using setup tools to build and package a TG 1.0.1
>app. After deployment, I'm seeing a few entries in
>SOURCES.txt despite specifying related wildcards in
>the exclusion list.

May I suggest that instead of using a custom find_package_data function, 
that you simply set "include_package_data=True" and add any files you want 
to include to your version control system (CVS or SVN)?  Or, if you aren't 
using a supported version control system (and don't want to write a plugin 
for it), use the MANIFEST.in file to select what files to include or 
exclude.  See e.g.:


When you simply use "include_package_data=True" instead of specifying 
individual files or wildcards, setuptools begins by using the distutils 
defaults, plus anything listed in revision control that's inside a package 
directory and isn't a .py* file.  Then, it applies the rules listed in 
MANIFEST.in, which means that you can use it to add things that aren't 
under revision control, OR to exclude things that *are* in revision control.

Anyway, this will give you fine-grained control over what you want to 
include in your source and egg distributions, without needing to cram a 
bunch of extras into your setup script.  As far as I know, TG's 
find_package_data function was created before setuptools supported the 
include_package_data option.  I don't think it's been necessary for quite a 
while now.

More information about the Distutils-SIG mailing list