Re: About the psycopg2 name - Mailing list psycopg
From | Federico Di Gregorio |
---|---|
Subject | Re: About the psycopg2 name |
Date | |
Msg-id | 36cffb61-3912-915c-4933-3bcd9cac063a@dndg.it Whole thread Raw |
In response to | Re: About the psycopg2 name (Joe Abbate <jma@freedomcircle.com>) |
Responses |
Re: About the psycopg2 name
|
List | psycopg |
On 24/02/18 18:20, Joe Abbate wrote: > On 24/02/18 11:29, Karsten Hilbert wrote: >> On Sat, Feb 24, 2018 at 11:27:22AM -0500, Reuben Rissler wrote: >> >>> Does anybody know the history behind the psycopg2 name? >> >> The 2 was added after a major rewrite, for what that's worth :-) > > IIRC Federico Di Gregorio (who should know the story behind the name) > was a psychology major (just kidding :-). Ah ah, no. At the time I was just fresh out of university (biophysics) and working for a "free software" company during the dot.com bubble. Like always, the name was a joke, and a badly worded one. At the time, all PostgreSQL Python drivers were pure s**t and my company gave to two interns the job to write a new driver. They produced s**t^2 by writing first a server that connected to PostgreSQL using libpq and then a Python client that was supposed to connect to the server and pass through it all the SQL for the backend. After a couple of month the whole thing still didn't work: the worse bug was that for apparently no reason it opened connections to the backend like _crazy_. So, in about a weekend I wrote the core of psycopg 1, just to demonstrate that you can write something that works without over-engineering it. I wanted to call it psychopg (a reference to their psychotic driver) but I typed the name wrong. Fast forward a couple of week: psycopg 1 is much better than anything else (that says a lot about the state of the other drivers) and we have our first adopter outside the company[1] :) And the name just stuck. To be honest, we later decided that the name was ok, given that, at the time, psycopg was the only driver able to support multi-threaded Python applications without dying an horrible death. Something along the lines that the driver should be a bit "psycho" to manage all the threads. Or something like that. federico [1] If you're curious about that, just have a look at the docs/SUCCESS file in the source distribution. Is a gathering of the email we received after checking with the users if a particularly nasty bug was gone and asking for success stories while preparing the 1.0 release back in 2001. -- Federico Di Gregorio federico.digregorio@dndg.it DNDG srl http://dndg.it I porcellini di terra sono davvero Crostacei! Non lo sapevo! Certo che sono crostacei, hanno la crosta! Allora la pizza è un crostaceo?! -- discorso all'ESC2k07