Included wheel as the first dependency in setup.py because there are some other dependencies that are throwing errors if it is not there. most of the time it does not seem to make any difference but with some of Louis' deployments it's causing problems.
There is now a new `temporary_table` parameter to the `write_df` function.
`write_df` was using the sqlalchemy engine before when it should have been using the connection. this is what was causing at least some of the rollback problems.