Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.005 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'wiki': 0.03; 'configure': 0.05; 'subject:Python': 0.06; 'mysql,': 0.07; 'postgresql': 0.07; 'utf-8': 0.07; 'arrays': 0.09; 'bindings': 0.09; 'mess': 0.09; 'moreover,': 0.09; 'mysql.': 0.09; 'postgres': 0.09; '\xe2\x80\x94': 0.09; 'cc:addr:python-list': 0.11; 'python': 0.11; '(use': 0.16; 'binding,': 0.16; 'fixes.': 0.16; 'googling': 0.16; 'messy': 0.16; 'nudge': 0.16; 'subject: \n ': 0.16; 'such,': 0.16; 'subject:python': 0.16; 'wrote:': 0.18; 'differ': 0.19; 'work,': 0.20; 'cc:addr:python.org': 0.22; '(or': 0.24; 'cc:2**0': 0.24; 'cc:no real name:2**0': 0.24; 'least': 0.26; 'gets': 0.27; 'header :In-Reply-To:1': 0.27; 'chris': 0.29; 'am,': 0.29; '(like': 0.30; 'especially': 0.30; 'message-id:@mail.gmail.com': 0.30; 'getting': 0.31; 'towards': 0.31; 'subject:Database': 0.31; 'ago': 0.33; 'sense': 0.34; 'maybe': 0.34; 'could': 0.34; 'problem': 0.35; 'subject: (': 0.35; 'something': 0.35; 'received:google.com': 0.35; 'there': 0.35; 'really': 0.36; 'licensed': 0.36; 'doing': 0.36; 'should': 0.36; 'so,': 0.37; 'others.': 0.38; 'little': 0.38; 'how': 0.40; 'even': 0.60; 'read': 0.60; 'most': 0.60; 'from:charset:utf-8': 0.61; 'such': 0.63; 'field': 0.63; 'more': 0.64; '(that': 0.65; 'skip:\xe2 10': 0.65; 'between': 0.67; 'incorporate': 0.68; 'nobody': 0.68; 'reads': 0.68; 'marketing': 0.70; '8bit%:43': 0.74; 'asshole': 0.84; 'batchelder': 0.84; 'here)': 0.84; 'nice,': 0.84; 'stronger': 0.84; 'subject:via': 0.84; 'url:tk': 0.95; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=vHNwzT5k1Z6PFmuBUgduHmOfS1XOooUFAUdO2YlaRL0=; b=cI1A8lpWpmXsh+/XYPRuopC+OmNWAjOpmXal3zoqfheNJ9B8R2cK64w/1mbCCOSWwt 7Nd8va56Rb05FA5jnhGm/fsncqO0ccs/5Js8ZaBIBEuB05nmPRxVTwJhPTMwaV7RHBke ZoHdgpekEaPedNqtphK6atKyIMqQW86LqdTionvL/nDAF0Gtm8Gu+bumCGUCqB2tjrWo ZzR1bJ9ODAzGuq4pKkrXWeQN3Vj72vNZmbXMq/l38U8F5eaJoSxqThramUtEQXwcdTOA Tdtqb7DGsb/sDmGffIrHO+OAcVwLNTNqUKf04GcdrLkZKm0RWONESVzldimOXXlaeCsU Wn5A== MIME-Version: 1.0 X-Received: by 10.42.146.1 with SMTP id h1mr667270icv.38.1381050653166; Sun, 06 Oct 2013 02:10:53 -0700 (PDT) In-Reply-To: References: Date: Sun, 6 Oct 2013 11:10:53 +0200 Subject: Re: Database engine bindings for Python (was: Database statements via python but database left intact) From: =?UTF-8?B?Q2hyaXMg4oCcS3dwb2xza2HigJ0gV2Fycmljaw==?= To: Dan Sommers Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 41 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1381050655 news.xs4all.nl 15981 [2001:888:2000:d::a6]:43652 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:56243 Reposting what I said in the other thread: On Sun, Oct 6, 2013 at 12:51 AM, Chris Angelico wrote: > On Sun, Oct 6, 2013 at 8:39 AM, Ned Batchelder wr= ote: >> Now is a good time to go read about transactions, and committing, and th= e >> difference between MyISAM and InnoDB. Please don't ask more about it he= re. > > It's because of threads like this that I would really like Python to > nudge people towards something stronger than MySQL. Would it kill > Python to incorporate PostgreSQL bindings automatically? It would require Postgres around people=E2=80=99s (or at least packagers=E2= =80=99) systems, and it often gets messy when we have such requirements. Psycopg2, the most popular binding, is licensed under LGPL3 + Zope (or such, there is a little mess here) which MAY pose a problem (IANAL though). Also, Postgres is much harder to configure than MySQL, especially if you have no experience or an asshole OS. Moreover, the stdlib is where packages come to die. So, instead of this, maybe we should work on getting psycopg2 to the top result on Googling =E2=80=9Cpython sql=E2=80=9D, or even =E2=80=9Cpytho= n mysql=E2=80=9D with an anti-MySQL ad? (like vim was doing some time ago on Googling =E2=80=9Cemacs= =E2=80=9D) We should also educate people on how PostgreSQL works with a nice, human-friendly tutorial. Especially in some non-standard things and things that differ between PostgreSQL and MySQL =E2=80=94 like how to make = an auto-incrementing ID field (use sequences), or how PostgreSQL arrays work, among others. The wiki (that nobody reads anyways) could also use some marketing fixes. --=20 Chris =E2=80=9CKwpolska=E2=80=9D Warrick PGP: 5EAAEA16 stop html mail | always bottom-post | only UTF-8 makes sense