Re: About the psycopg2 name

From: Federico Di Gregorio <fog(at)dndg(dot)it>
To: psycopg(at)lists(dot)postgresql(dot)org
Subject: Re: About the psycopg2 name
Date: 2018-02-27 13:44:29
Message-ID: 36cffb61-3912-915c-4933-3bcd9cac063a@dndg.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)digregorio(at)dndg(dot)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

In response to

Responses

Browse psycopg by date

  From Date Subject
Next Message Mike Bayer 2018-02-27 19:44:24 Re: About the psycopg2 name
Previous Message Joe Abbate 2018-02-24 17:20:36 Re: About the psycopg2 name