A quick note on what all the files here are, currently (16-7-95),
and whether they really are source or generated.

aegen.py		Generated by aescan, temporary file
AEModule.c		Generated by aescan, from AppleEvents.h
AEObjects.py	Generated by aescan, from AEObjects.h
aepack.py		Routines to convert python objects <-> AEDesc record
				(formerly part of aetools, now imported there)
AERegistry.py	Generated by aescan, from AERegistry.h
aescan.py		Program to scan headers and generate AE modules
aesupport.py	Helper code for aescan
aetools.py		Routines/classes to create and send appleevents
aetypes.py		Classes for python objects corresponding to AEDesc types
				(formerly part of aetools, now imported there)
AppleEvents.py	Generated by aescan, from AppleEvents.h
AppleScript_Suite.py	Generated by gensuitemodule
echo.py			Old test program (may still work) to echo events back to sender
gensuitemodule.py	Program to scan aete/aeut resources and generate python
				interface modules
Required_Suite.py	Generated by gensuitemodule
Standard_Suite.py	Generated by gensuitemodule
tae.py			Old test program (may still work) to send an appleevent
tell.py			Old test program (may still work) to send an appleevent
test_suite.py	Test program to test bits of the _Suite modules and aetools/etc
