How could I make my setup.py
pre-delete and post-delete the build directory?
For pre-deletion, just delete it with distutils.dir_util.remove_tree
before calling setup.
For post-delete, I assume you only want to post-delete after selected commands. Subclass the respective command, override its run method (to invoke remove_tree after calling the base run), and pass the new command into the cmdclass dictionary of setup.