<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Aug 21, 2013, at 11:05 AM, Jonathan Vanasco <<a href="mailto:twisted-python@2xlp.com">twisted-python@2xlp.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">Having a great ORM for twisted is wonderful , but its way less exciting and attractive if it's only for twisted.</span><br style="font-family: Menlo-Regular; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></blockquote></div><br><div>Doing this is simple, although probably not easy: you just need to convince the SQLAlchemy folks to separate the process of generating SQL and executing SQL, and expose hooks for event-driven frameworks (which is an ever-expanding circle now, encompassing Twisted, Tornado, Pulsar, and Tulip) to schedule SQL execution with an event-driven backend rather than assuming it can block.</div><div><br></div><div>When I faced this problem, I wanted to use SQLAlchemy rather than write my own ORM, but I was unable to due the lack of a public API for generating cross-database SQL.</div><div><br></div><div>-glyph</div><div><br></div></body></html>