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.
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 !
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.
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.
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.
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 ;) .
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.
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.
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 !
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.
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
!
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.
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.
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.
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 !
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.
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.
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.
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 !
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.
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.
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.
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.
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.
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
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 !
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.
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.
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)
Wed, 12 Apr 2006
Support for MS-SQL has been added to SVN courtesy Rick Morrison, Runar Petursson.
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...
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.