Re: About the psycopg2 name - Mailing list psycopg
From | Mike Bayer |
---|---|
Subject | Re: About the psycopg2 name |
Date | |
Msg-id | CA+RjkXFL6Jy7actUy+S=dGfjpuD_jpUYYofGpON+1Nq9S2Y75w@mail.gmail.com Whole thread Raw |
In response to | Re: About the psycopg2 name (Federico Di Gregorio <fog@dndg.it>) |
List | psycopg |
On Tue, Feb 27, 2018 at 8:44 AM, Federico Di Gregorio <fog@dndg.it> wrote: > 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_. today we call this PGBouncer :) > > 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. I always thought it was related to Psyco (http://psyco.sourceforge.net/), like you tried using that at first or something like that. > > 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 >