SAContext is a SQLAlchemy front end that organizes your engines, metadatas, and sessions into one convenient object, while still allowing access to the underlying objects for advanced use.
Version 0.3.0 attempts to handle and document all the use cases that have been thrown at it: one database, multiple databases permanently connected to tables, one engine per session, multiple engines per session. There are several backward-incompatible changes and undoubtedly some new bugs. Get it now at: http://sluggo.scrapping.cc/python/sacontext/ http://cheeseshop.python.org/pypi/sacontext The biggest change is that .__init__ no longer configures a default engine, so you'll have to call .add_engine where you previously didn't. Likewise, PylonsSAContext.add_engine no longer reads the Pylons config file; you'll have to call the new method PylonsSAContext.add_engine_from_config for that. Explicit is better than implicit. The default engine is keyed under None, so adding engines is: sac.add_engine(None, uri="...") # default engine from explicit args # The first arg is the engine key: None or a string sac.add_engine_from_config(None) # "sqlalchemy.default.uri" -> default engine # The first arg is the same as above sac.add_engine_from_config("logs") # "sqlalchemy.logs.uri" -> "logs" engine sac.add_engine_from_config("logs", config_key="db2") # "sqlalchemy.db2.uri" -> "logs" engine sac.add_engine_from_config(None, "verde") # "sqlalchemy.verde.uri" -> default engine The module docstring is expanded to explain the various use cases. SAContext._get_session_scope now returns the thread ident. The previous implementation was wrong and thread unsafe. PylonsSAcontext._get_session_scope is unchanged; it uses the same methodology as pylons.database.app_scope. I haven't used Exilir or Tesla so I don't know how compatible SAContext is with them. A couple people have said they're trying it but none have given me feedback yet. (Hint) SAContext is no longer supported under Pylons 0.9.5. Pylons had some internal changes I didn't realize, and I think our time would be better spent preparing for 0.9.6. So use PylonsSAContext with a recent development version of Pylons. SAContext will soon get an update soon for SQLAlchemy 0.4; in particular the new 'bind' attributes/arguments. I don't know if it will remain compatible with SQLAlchemy 0.3.x after that. We are discussing ways to incorporate SAContext into Pylons, possibly for 0.9.6, but nothing is finalized yet. It may be under pylons.database or it may be in a separate distribution. -- Mike Orr <[EMAIL PROTECTED]> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---