loading...

Why is it called `psycopg2`?

glasnt profile image Katie McLaughlin ・2 min read

To use PostgreSQL in Python you have to use psycopg2, or often psycopg2-binary.

What does psycopg2 mean, anyway? Furthermore, how do you pronounce it?

I didn't know before writing this article, so I looked it up, and documented my research.


As per initd.org:

Psycopg is the most popular PostgreSQL adapter for the Python programming language. At its core it fully implements the Python DB API 2.0 specifications.

Well, that explains the pg2 part -- postgres (db api) 2.

But what about "psyco"?


Reddit points out that Psyco is a now unmaintained project.

As per wikipedia's entry in Pysco:

Psyco was a specializing just-in-time compiler for Python.

Not to be confused with "Psycho", the 1960 movie (the one with the knife in the shower scene). Also not to be confused with 'psycho', the shortened term for 'psychopath', often used as a derogatory term.


But why is it called 'psyco'?


This I could not find the answer for.


So how do you pronounce it?

I am personally extremely reluctant to pronounce it "saɪˈkɑ-p-ɡ-to͞o", so at the moment I'm thinking of calling it "the postgres wrapper" or "postgres helper".


I took the time to write this up because the words we use to name things are important, but also words change over time. So when we have terms for packages that are named a term that then has connotations, it's important to reflect and think about our actions.

Discussion

pic
Editor guide
Collapse
di profile image