What People are Saying about SQLAlchemy

A really solid, perhaps unique, library that, as far as i can tell, completely addresses the "impedence mismatch" argument. If you're directly using a database api in a structured way, you've probably already reimplemented the sqlalchemy core, and refactoring your program to use sqlalchemy will give you an orm, should you want one, and make your code portable across database implementations even if you don't. If you're already using an orm, refactoring to use sqlalchemy will allow you to to start optimizing the low-level database operations in a coherent way (i.e. not just sprinkling SQL throughout the models).

- auvrw, Hacker News User

I'm the biggest proponent of correct, thought-of, and performant SQL where I work, and I have to say that one ORM/database driver combination shifted my opinions towards ORMs.

When you use SQLAlchemy (an ORM for python), you feel in complete control of what is done for you behind the scenes.

First of all, they had the brilliant idea to build an abstraction over sql BEFORE building an ORM, so that if you do not want to work with objects mapped to your table, you can work with dictionaries directly, using a nice sql-generation api which allows you to refactor/check your sql code in a breeze.

Second, the ORM itself is fantastic. I don't really know how to explain it, but you always feel in control of what happens. And if anything does not work like you expect it to, you can always extend the framework. It is extremely well suited for that.

- Rolegros, Reddit User

I demand SQLAlchemy to be renamed to SQLAwesome. No particular reason.

- Armin Ronacher, author of the Flask web framework, Jinja templates

SQLAlchemy is one of the best designed libraries I have ever used for any software task, period. I've done all sorts of crazy reflexive joins with it, used the meta programming capabilities to bootstrap my ORM from nothing, added my own rails like scope features to the session maker, etc. SQLAlchemy just plain works(TM). If you're a Python guy, learning it is one of the best things you can do.

- francoisdevlin, Hacker News User

...it's the kind of library that not only solves the need it addresses but recommends the language it's written in--when I think about a language other than Python for some project involving a database my first thought is always, 'but what would replace SQLAlchemy?'

- sisyphus, Reddit User

Lost faith in ORMs after many battles with Hibernate/Entity Framework/whatnot. SQLAlchemy restores it. ORM done right.

- Jan-Erik Strøm

There’s a lot of Python libraries/frameworks out there we can use, and some of them are a big advantage to write web services. SQLAlchemy is one that comes in mind, that is one of the best ORM/DB tool out there, all languages included, to my knowledge.

- Tarek Ziadé, core Firefox Sync developer

Loving #SQLAlchemy for #Python right now. It just did 95% of the heavy lifting for me. "Lazy" programming is the best!

- Christian Witts

Then realized I have schema defined in SQLAlchemy. Used it to recreate my schema in PostgreSQL. Booyah. Best ORM I've seen. In any language.

- Simon Yun

#sqlalchemy is seriously the best ORM. No other ORM in any other language even comes close.

- frostiebot / Chris Goodnight

The only toolkit that's even better? SQLAlchemy. It's pretty much the only way I'll interact with RDBMS systems in Python from this point out. And I don't mean I'll be writing every RDBMS interaction as an object-relational mapping. SQLAlchemy is great because it provides a good connection / pooling infrastructure; a good Pythonic query building infrastructure; and then a good ORM infrastructure that is capable of complex queries and mappings (as well as some pretty stone-simple ones).

- Jeff Shell, Zope Wizard

SQLAlchemy is a pretty amazing design...In SQLAlchemy, you need to explicitly start a session. What's amazing is that all the changes you make during that session are kept in some kind of parse tree, and then when the session ends SQL is created on-the-fly to produce a single, optimal SQL statement for that particular sequence of changes. I found this idea pretty mind-blowing.

- Bruce Eckel, Author of Thinking in Java

I've been using SQLAlchemy for about two days now and I can tell you, it's without compare. The ORM is the most flexible I've ever seen. It's freaking magic.

- Daniel Lyons

Just for a moment, I thought I'd found something SQLAlchemy doesn't do perfectly.

- S. Lott

As a user of all kinds of ORMs and a write of plenty of my own, I've got to say I am extremely impressed by SQLAlchemy...It is wonderfully documented, and has a great philosophy. If you are using anything else, you should definitely try this.

- Andy Smith

Very sweet, and very quick to get going on my Mac development and Linux deployment environments. I'm currently collecting data from three different databases (SQLite, PostgreSQL, and MySql) on five different servers. This is a killer app for me. I'll be exploring its object-relational capabilities soon, but I am already very fond of the framework, and how lightweight it feels.

- Bruce Kroeze

Using SQLAlchemy has certainly changed the way I think about database access when I'm designing an application.

- Michael Carter