Return-Path: Delivered-To: apmail-incubator-libcloud-archive@minotaur.apache.org Received: (qmail 57795 invoked from network); 4 Nov 2010 22:41:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 4 Nov 2010 22:41:26 -0000 Received: (qmail 37704 invoked by uid 500); 4 Nov 2010 22:41:57 -0000 Delivered-To: apmail-incubator-libcloud-archive@incubator.apache.org Received: (qmail 37548 invoked by uid 500); 4 Nov 2010 22:41:56 -0000 Mailing-List: contact libcloud-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: libcloud@incubator.apache.org Delivered-To: mailing list libcloud@incubator.apache.org Received: (qmail 37538 invoked by uid 99); 4 Nov 2010 22:41:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Nov 2010 22:41:56 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of paul@querna.org designates 74.125.82.41 as permitted sender) Received: from [74.125.82.41] (HELO mail-ww0-f41.google.com) (74.125.82.41) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Nov 2010 22:41:50 +0000 Received: by wwi18 with SMTP id 18so1007479wwi.0 for ; Thu, 04 Nov 2010 15:41:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.217.6.134 with SMTP id y6mr12520wes.66.1288910489493; Thu, 04 Nov 2010 15:41:29 -0700 (PDT) Received: by 10.216.236.142 with HTTP; Thu, 4 Nov 2010 15:41:29 -0700 (PDT) In-Reply-To: References: <5DCD0C08-5890-4FBA-A507-B7168C510856@gmail.com> Date: Thu, 4 Nov 2010 18:41:29 -0400 Message-ID: From: Paul Querna To: libcloud@incubator.apache.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Subject: Re: [libcloud] Cloud storage providers/drivers 2010/11/4 Toma=C5=BE Muraus : > I envision splitting it into two parts - "compute" and "storage". > > So something like this: > > libcloud/ > =C2=A0 =C2=A0libcloud/ > =C2=A0 =C2=A0 =C2=A0 =C2=A0__init__.py > =C2=A0 =C2=A0 =C2=A0 =C2=A0... > =C2=A0 =C2=A0 =C2=A0 =C2=A0compute/ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0base.py > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0providers.py > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0drivers/ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0... > =C2=A0 =C2=A0 =C2=A0 =C2=A0storage/ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0base.py > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0providers.py > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0drivers/ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0... > > Also another question about implementation arises here. > > Imo, it would be useful if we can implement the Python "File object" > interface, because then the storage backends could also be used with Djan= go > and other libraries which rely that the "file like objects" implement the > File object interface. > > What do others think? I think providing a File object interface is useful, I'm not sure if the 'default' mode should be that, maybe a asFileObject method? But basically, +1.