# any kind of "*" pulls in __init__.pyc files,
# so all extensions are explicit.

recursive-include doc *.html *.css *.txt *.js *.png *.py Makefile *.rst *.mako
recursive-include examples *.py *.xml *.mako *.myt *.kid *.tmpl
recursive-include test *.py *.html *.mako

include README* AUTHORS LICENSE distribute_setup.py ez_setup.py CHANGES*

prune doc/build/output

