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


psycopg by date:

Previous
From: Joe Abbate
Date:
Subject: Re: About the psycopg2 name
Next
From: Mike Bayer
Date:
Subject: Re: About the psycopg2 name