Sorry to bring back a dead thread, but assume others like myself may stumble here for help with this issue.
I added a hack to make sqlalchemy backwards with regards to the transactional keyword and thought it may be useful for future releases. While upgrading a project to avoid deprecated calls is ideal, my personal case involved porting an unfamiliar codebase to a new platform, with library dependencies that used the old methologies which couldn't be upgraded easily. The following code may be added to the beginning of the __init__ method in the Sess class which resides in lib/sqlalchemy/orm/session.py:
""" Allows sqlalchemy be backwards compatible wrt 'transactional' keyword.
Removes transactional and sets autocommit based on documentation at
"""
if ('transactional' in kwargs):
if (not('autocommit' in kwargs)): #overwrite if not already set
kwargs['autocommit'] = not (kwargs['transactional'])
del kwargs['transactional']
Apologies in advance if this topic has already been vetted and I missed it, or for any inefficiencies with my code, as I only started looking at SQLAlchemy (and Python for that matter) yesterday. Please feel free to modify and distribute as you see fit.
Cheers,
Bala