News

SQLAlchemy 0.6 Released

Sun, 18 Apr 2010

SQLAlchemy 0.6 is now released. This release is the culmination of well over a year of effort towards restructuring and enhancements. Highlights of SQLAlchemy 0.6 include:

  • Support for Python 2.4+, Python 3, and Jython
  • Decouping of DBAPI adapters and database dialects allow any number of DBAPIs to be cleanly supported.
  • Support for Sybase, mxODBC, pg8000, py-postgresql, OurSQL, MySQL-Connector-Python, zxjdbc is added, including new options and capabilities for many dialects (see the compatibility chart).
  • Enhancements to "eager loading", including a new "subquery" eagerload that loads all collections using a maximally efficient query-per-relationship scheme.
  • An entirely new unit of work system which runs more effectively and simply, using less memory and CPU.
  • A flexible SQL compiler and execution system, now supporting RETURNING clauses when available, clause constructs for DDL elements (i.e. CREATE TABLE) and type objects, stricter SQL standard compliance where needed, and an extension system allowing the creation of new SQL constructs and open-ended extension to those provided.
  • Query result caching capability, including an example illustrating integration with Beaker.

SQLAlchemy 0.6 has already been in production usage for several months and has been tested by hundreds. Be sure to review the full list of whats new at 06Migration.

Pycon 2010 Sprints the Biggest Ever

Thu, 25 Feb 2010

The sprinting continues today in Atlanta after a week where at least a dozen people got involved, some new to SQLAlchemy, some veterans. New things coming out include our all-new buildbot, as well as several new dialects which are Python 3 compatible - PyPostgreql, OurSQL, MySQL-connector-Python. Python 3 tests are passing 100% for pg8000 and OurSQL, so Postgresql and MySQL are now covered for Python 3. We also have mxODBC for MSSQL in the works and have made a great leap forward in getting real Sybase support. Plus documentation updates galore, new declarative features, and a whole host of fixes and enhancements elsewhere. We'll soon be posting links to SQLAlchemy related talks and tutorials from Pycon 2010 as they become available. Thanks to everyone for the huge amount of involvement and stay tuned for SQLAlchemy 0.6 !

SQLAlchemy 0.6 On Its Way

Fri, 07 Aug 2009

SQLAlchemy 0.6 is now on trunk, with release candidates to come soon. Jython compatibility is near 100% for MySQL and Postgresql, with work being done for Oracle + JDBC as well. Oracle tests using cPython pass at 100% and compatibility is also introduced for MSSQL via PyODBC with FreeTDS, allowing any unix platform to access MSSQL (one user is testing it against Sybase ASE as well with a good deal of success). INSERT RETURNING support is also implemented natively for Postgresql, Oracle, MSSQL and Firebird and is used when available to fetch newly generated primary key identifiers.

The release of 0.6 will solidify the best architecture yet for maximum Python platform, DBAPI, and database backend compatibility, allowing new DBAPIs and architectures to be plugged in with minimal hacking.

The in-progress documentation of what's new is at 06Migration.

Python 3K, pg8000 Support in SQLAlchemy 0.6

Tue, 02 Jun 2009
As of this past weekend, 100% of tests pass on Python 3000 using the up-and-coming 0.6 series of SQLAlchemy, while running on sqlite via the sqlite3 adapter as well as Postgresql via the pg8000 DBAPI. Jython compatibility is largely present as well. The 0.6 series has a special focus on environment and dialect compatibility, as well as on schema construct and DDL improvements. Developers will have full access to new expression constructs such as CREATE TABLE and ADD CONSTRAINT, with the ability to define new ones. It is now possible to construct custom create/drop sequences which add constraints, triggers and other DDL using rules that are sensitive to the underlying database in use - and will allow smoother integration with sqlalchemy-migrate too. 0.6 should be merged to trunk soon with alpha releases by mid-summer.

SQLAlchemy 0.5.0 Released

Tue, 06 Jan 2009
In progress since Pycon 2008, the first official release of the 0.5 series is now available. This version packs a huge amount of change since 0.4 including multiple paradigm shifts in usage as well as countless bugfixes and behavioral and speed improvements. Through a series of prereleases, 0.5 is already on production systems and has been extensively tested by dozens of users. With the first 0.5 release, 0.6 is underway as well and will be where Py3k support is targeted. SQLAlchemy 0.5 is available for download on the download page. A comprehensive migration document is at 05Migration.

Checkout Now Available at the Apple Store

Mon, 02 Jun 2008
Checkout 2.0 is now available from every Apple store as well straight from Madebysofa; it's the software that turns any Mac into an event-driven networked cash register and inventory system. Version 2.0 is built entirely on SQLAlchemy interfacing with SQLite. The guys from Madebysofa just shipped me a free boxed copy (shown at left). SQLAlchemy however has no plans to start charging ;) .

Essential SQLAlchemy Available in June

Mon, 26 May 2008
O'Reilly's new book Essential SQLAlchemy, written by Rick Copeland, will be available in June, 2008. This is one of two current book projects for SQLAlchemy, the other being Database Access with SQLAlchemy, in the works by several authors including Mark Ramm, author of Rapid Web Applications with Turbogears. Early reviews of Essential look promising, and it will most likely cover through the 0.4 series of SQLA.

Pycon 2008 Wrapup

Thu, 27 Mar 2008
This year's Pycon had a lot of SQLA activity. There was a full day of tutorials as well as a conference talk, and a good deal of cross-project pollination, including sprint activity with members of the Jython, Django, and Zope communities. There's two new development branches underway which both got a lot of attention at the sprints, both of which will be merged to trunk in the near future. Read more about this year's event and download presentations at Pycon Wrapup.

IBM Produces DB2 Driver for SQLAlchemy

Fri, 15 Feb 2008
Antonio Cangiano has announced that IBM's SQLAlchemy dialect for DB2 is finally a reality. A driver for Informix IDS is also in the works. The project is hosted on Google Code and the mailing list has already started buzzing. Thanks much to IBM for their contribution to the Python community !

SQLAlchemy 0.4.0 Released

Wed, 17 Oct 2007

The first production release of 0.4 is now available. After six separate beta releases, the final 0.4 represents the hard work of many contributors with over a hundred new fixes and improvements after the the initial 0.4 beta1 release. 0.4 overall represents the largest overhaul SQLAlchemy has had yet, with its most refined and feature-filled ORM, SQL expression, and transactional APIs ever, all new documentation, a rewritten compiler, massive refactorings and speed refinements to the execution system and ORM, and more support for more databases, including experimental support for Sybase and MS Access.

Dozens of users have already upgraded their SQLAlchemy 0.3 applications to 0.4, and the upgrade path has been carefully tailored to be as painless as possible. Typical performance increases are between 30% and 50% depending on usage. To get started, visit the docs and download.

First Beta of SQLAlchemy 0.4 Released

Sun, 12 Aug 2007

The first beta release of SQLAlchemy's 0.4 series is released. Version 0.4 is the biggest new version of SA ever, featuring a huge list of new capabilities and features. SQLAlchemy is now very community owned with more developers, users and contributors then ever; and we've responded to user needs across a wide number of areas and rolled out new capabilities far beyond SA's original scope.

Check out the rewritten docs and 0.3 migration guide then download !

SQLAlchemy: The Book

Thu, 21 Jun 2007

Due for publishing by Pycon 2008, Database Access with SQLAlchemy is being written for Prentice Hall by Mark Ramm and Michael Bayer. The book will feature front-to-back coverage of SQLAlchemy's full list of capabilities, including in-depth studies of engine/metadata configuration strategies, advanced mapping scenarios, and case histories. Code examples and concepts will be against the upcoming 0.4 release of SQLAlchemy, which includes lots of new features such as configuration-free polymorphic loading and a simplified, all generative Query interface.

Chapters will be available for PDF download via Rough Cuts within the coming months.

Upcoming SQLAlchemy Talks

Sun, 27 May 2007

SQLAlchemy's significant community in Italy (seriously, I've debugged more scripts in Italian than I ever thought I would) will come together at Pycon Uno, which will include SqlAlchemy: Mapping tra Python e database, senza scontentare nessuno on June 9th, presented by Daniele Varrazzo.

Jonathan Ellis will be presenting the tutorial SQLAlchemy: Taming ORM with Python at this year's Oscon on Tuesday, July 24.

SQLAlchemy - #6 at Pycon

Sat, 14 Apr 2007
Mark Ramm's SQLAlchemy talk was rated the sixth favorite talk at Pycon 2007. Which isn't bad considering Guido's keynote was number four.

SQLAlchemy at Pycon

Wed, 06 Dec 2006

SA will be featured at several events at the upcoming PyCon. Jonathan Ellis will be presenting Advanced Databases with SQLAlchemy and Mark Ramm will present SQLAlchemy - the Front-to-Back database toolkit (item #47 on that page). Hope to see you there !

SQLAlchemy in Print

Thu, 19 Oct 2006
The second edition of Core Python is now available, and chapter 21 features discussion and sample applications for "the two most well-known Object-Relational Mappers for Python", SQLAlchemy and SQLObject, less than a year after SQLAlchemy's first release. The example actually uses only SA's SQL expression capabilities and doesn't get into mapper creation, but its a simple example that's sure to lead more developers into the community. Also coming soon is Rapid Web Applications with Turbogears, which features an entire section on SQLAlchemy.

Django to Integrate SQLAlchemy

Wed, 30 Aug 2006
Python megaframework Django has decided to take the plunge and create a port of its ORM based on SQLAlchemy. Adrian Holovaty has skillfully led Django from an in-house project to Guido's favorite choice in a short time, and the move to allow full SQLAlchemy integration will help Django grow beyond its roots into a more broadly scoped system. It will be interesting to see how the move comes to fruition. Adrian says Django's ORM interface will remain, and the SQLAlchemy API will be exposable for the purposes of doing something "truly complicated". But SA fans know its not really about "complexity", its about embracing the idea of "rows and relations" instead of just tables. Should Django's ORM layer itself start to adopt more of SA's style of thinking, Django users might decide that SA's view of databases works just great for everyday tasks as well.

Zope Guru Jeff Shell on SQLAlchemy

Mon, 14 Aug 2006
The Zope community has shown a great interest in SQLAlchemy ever since SA's early releases. Zope's focus on in-depth architecture and open-ended design is a great match with SQLAlchemy, which shares a lot of the same values. Notable Zoper Jeff Shell engages in an interesting thread about his experiences blending SQLAlchemy and Zope, touching upon Zalchemy, Jürgen Kartnaller's Zope/SQLAlchemy integration project, and how his own contrasting approach worked out in a recent in-house project.

Frameworks, Frameworks, Frameworks

Wed, 09 Aug 2006
In the news lately are a bunch of new (and not-so-new) frameworks that build upon or strongly support SQLAlchemy. Closest to the SQLAlchemy family is Pylons, the Myghty-inspired framework that builds on WSGI and Paste, which has just released version 0.9. Also new in the WSGI/Paste camp is Clever Harold, which encourages the usage of SQLAlchemy and includes adapters for SA both with and without the ActiveMapper extension. Prolific SQLAlchemy advocate Jonathan Ellis has just released Spyce 2.1 (an early inspiration for Myghty), which introduces new tags interfacing directly to database tables via Jonathan's own SqlSoup extension to SQLAlchemy. Over at Adminspotting.net, a long series of articles on how to build a dynamic website using SQLAlchemy, the Jinja template system, and Colubrid, yet-another-WSGI frontend (originating from the Pocoo project, which has its *own* SQLAlchemy integration layer). Finally, just dipping its toe in the water is the new Skeletonz CMS system, which has integrated SQLAlchemy's connection pooling facilities with its own homegrown ORM layer.
Update: and dont forget Turbogears !

Trac to Integrate SQLAlchemy

Tue, 25 Jul 2006
Trac, arguably the most popular open source wiki/source code tracker suite, has finally put its SQLAlchemy integration branch officially on the development roadmap for version 0.11, which will allow Trac to seamlessly integrate with a variety of database backends including Oracle. The move by the Trac team to embrace SQLAlchemy highlights SA's effectiveness for applications that go beyond straight content delivery, allowing the flexibility required to implement highly public and collaborative applications.

MyDrawings.com Runs SQLAlchemy

Sun, 02 Jul 2006
Dennis Muhlestein's new site mydrawings.com is a collaborative "doodling" site, where users can navigate a vast Google-Maps-like "world canvas", drop down and create their very own online sketch. Users can browse other sketches, rate each other, and cross-contribute to each other's content. Its a highly interactive site and it runs on SQLAlchemy.

SQLAlchemy 0.2.4 Released

Tue, 27 Jun 2006
Release 0.2.4 fixes bugs in the new deferred mapper compilation feature introduced in 0.2.3. Now you can define mappers in any order, and their relationships to each other are compiled when the mappers are first used. Numerous fixes have been made with regards to transaction operation, connection pooling, inheritance mapping, and more. Check out CHANGES for full details.

SQLAlchemy 0.2.2 Released

Mon, 05 Jun 2006
Release 0.2.2 fixes some small but critical bugs, and includes much enhanced support for structures that are both recursive and polymorphic at the same time. Get it on the download page.

SQLAlchemy Tutorial Updated

Tue, 30 May 2006

Robin Munn's SQLAlchemy Tutorial has been updated for version 0.2. While SA has a tutorial of its own in the documentation, Robin's takes a more in-depth take on things and is well worth checking out.

SQLAlchemy Releases Version 0.2.0

Sat, 27 May 2006

The first release of the anticipated 0.2 series is finally out. 0.2, whose primary goals were to remove all threadlocal behavior from the core (but keeping it all available as extensions), and to completely decouple all connection-aware state from schema, SQL and mapping objects, is an overhaul of virtually every aspect of SQLAlchemy. Simpler and finer-grained APIs have been created for the engine/SQL execution system, the mapper/query system and the unit of work/session system. Full support for inheritance as well as polymorphic loading and saving has been implemented. The schema package gets a new MetaData object which can manage entire groups of tables in one pass. The documentation has been updated and largely rewritten, adding a new tutorial section.

Information on the changes is described in the changelog, and a high level overview of API changes is available on the wiki.

Download SQLAlchemy 0.2
Read SQLAlchemy 0.2 Documentation

SQLAlchemy-Based Project Approved for Google's Summer of Code

Tue, 23 May 2006
Evan Rosson's Schema Migration project is among those picked to be mentored by the Python Software Foundation in Google's Summer of Code. This tool will borrow from popular schema management tools such as Rails Migrations. Jonathan LaCour, contributor of ActiveMapper, will be mentoring. Congratulations to Evan !

SQLAlchemy Tutorial Tops del.icio.us Python Popular List

Wed, 03 May 2006
Robin Munn's excellent SQLAlchemy 0.1 Tutorial comes in at number two under the "Python Popular" tag at del.icio.us at the time of this writing, adding about 100 new links in the span of a week.

SA 0.1.7 Released

Fri, 05 May 2006
As Mr. Ellis so aptly reminded me that the post 0.1.6 bugfixes were piling up, I have recorded them in the changelog and released. Includes topological sort fixes and many fixes to SQL construction and compilation. See the changelog for details.

Upcoming Changes in SA 0.2

Thu, 20 Apr 2006
I have committed my work on the 0.2 series so far to a branch in SVN. this branch is available at: (link no longer available) It's not all working yet. SQLite is up, Postgres is sort of up, the rest still need some conversion. unittests are 50/50. At the end of the day, there will be a few changes for everyone. I would encourage everyone to check it out, particularly those who:
  • do stuff with explicit transactions
  • have written wrappers around SQLEngine, etc.
  • want to get into explicit connections and Sessions (the whole reason for the branch)

Now in SVN: Support for MS-SQL

Wed, 12 Apr 2006
Support for MS-SQL has been added to SVN courtesy Rick Morrison, Runar Petursson.

SA 0.1.6 Released

Wed, 12 Apr 2006
Support for MS-SQL added courtesy Rick Morrison, Runar Petursson, the latest SQLSoup from J. Ellis, ActiveMapper has preliminary support for inheritance (Jeff Watkins), added a "mods" system which allows pluggable modules that modify/augment core functionality, and more...

Bittorrent.com Running Myghty

Thu, 23 Mar 2006
SQLAlchemy's cousin project Myghty, now at revision 1.0, has been rolled out as the full implementation behind Bittorrent.com, an extremely popular and large scale website ranked in the mid thousands by Alexa.