In the past week I’ve started using Gerrit for all development on SQLAlchemy, including for pull requests, feature branch development, and bug fixes across maintenance branches. I was first introduced to Gerrit through my involvement in the Openstack project, where initially I was completely bewildered by it. Eventually, I figured out roughly enough what was […]
Author: Mike Bayer
Asynchronous Python and Databases
The asynchronous programming topic is difficult to cover. These days, it’s not just about one thing, and I’m mostly an outsider to it. However, because I deal a lot with relational databases and the Python stack’s interaction with them, I have to field a lot of questions and issues regarding asynchronous IO and database programming, […]
Introduction to SQLAlchemy – Pycon 2013 – Wrapup
Video is up for my Pycon 2013 tutorial Introduction to SQLAlchemy. For those who want to follow along at home, the full code and prerequisite material is available here: Prerequisite code Slides on Speakerdeck
Introduction to SQLAlchemy – Pycon 2013
Preparations are just about complete for my upcoming tutorial Introduction to SQLAlchemy. There’s a good crowd of people already attending, and I think registration is still open in case more people want to sign up. But in any case, if you are coming, this year there is prerequisite material, including the software installs as well […]
Pycon Canada – the SQLAlchemy Session In Depth
Video is up for my Pycon.ca talk, The SQLAlchemy Session – In Depth. In this talk, I delve into the key philosophies behind the design of SQLAlchemy’s Session system. Starting with a brief review of the ACID model, I contrast the approach of the so-called “active record” pattern to that of the more explicit Session […]
The Absolutely Simplest Consistent Hashing Example
Lately I’ve been studying Redis a lot. When using key/value databases like Redis, as well as caches like Memcached, if you want to scale keys across multiple nodes, you need a consistent hashing algorithm. Consistent hashing is what we use when we want to distribute a set of keys along a span of key/value servers […]
Server Side Templates and API Centric Development
We’re here to talk about the rise of the API-focused application, and how it interacts with templates for rendering HTML for web browsers. The simple point I hope to make is: you don’t necessarily need to use all client side templates in order to write an effective API-centric web application. I’ll do this by illustrating […]
Using Beaker for Caching? Why You’ll Want to Switch to dogpile.cache
Continuing on where I left off regarding Beaker in October (see Thoughts on Beaker), my new replacement for Beaker caching, dogpile.cache, has had a bunch of early releases. While I’m still considering it “alpha” until I know a few people have taken it around the block, it should be pretty much set for early testing […]
Pycon 2012 : Hand Coded Applications with SQLAlchemy
Here’s the slides from my Pycon 2012 talk, “Hand Coded Applications with SQLAlchemy”. I had a great time with this talk and thanks all for coming ! Update: Here’s the video!
Patterns Implemented by SQLAlchemy
When I first created SQLAlchemy, I knew I wanted to create something significant. It was by no means the first ORM or database abstraction layer I’d written; by 2005, I’d probably written about a dozen abstraction layers in several languages, including in Java, Perl, C and C++ (really bad C and even worse C++, one […]
Django-style Database Routers in SQLAlchemy
Updated August, 2014 – the approach here really won’t work very well if you are using transactions! See the notes inline. As luck would have it, I’m currently assigned to work with some existing Django code. It’s been quite a long time I’ve gone without needing to do so, but now that I’m there, I […]