Return-Path: X-Original-To: apmail-accumulo-dev-archive@www.apache.org Delivered-To: apmail-accumulo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 36BB4D785 for ; Fri, 27 Jul 2012 13:07:38 +0000 (UTC) Received: (qmail 20639 invoked by uid 500); 27 Jul 2012 13:07:38 -0000 Delivered-To: apmail-accumulo-dev-archive@accumulo.apache.org Received: (qmail 20611 invoked by uid 500); 27 Jul 2012 13:07:38 -0000 Mailing-List: contact dev-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list dev@accumulo.apache.org Received: (qmail 20603 invoked by uid 99); 27 Jul 2012 13:07:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Jul 2012 13:07:38 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ebegoli@gmail.com designates 209.85.220.169 as permitted sender) Received: from [209.85.220.169] (HELO mail-vc0-f169.google.com) (209.85.220.169) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Jul 2012 13:07:31 +0000 Received: by vcbfl10 with SMTP id fl10so3093122vcb.0 for ; Fri, 27 Jul 2012 06:07:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=dpAFPdA0UwvNgzbvk2hnwlU6M6CEp2U2aQZVIQlA8vU=; b=BulDvm4miKkfFyXmU7yE02yehPrpFoGkeiHzNOQOv920hYSbg0RKs+Jnp2qZuHvsMd HhPlV/LyIvuMlpypgjfsjipjUXBmHl8/2cDRlpRKUPjVz1J8f8LSYcr4sH/5JsO4iMlo G/hjWMDwnNHNVcSCZzL28fVxptkcQSfHVEikUPrA8m9QIz9atNthXij/SAEVYOgUYdDl /lpl1BT1qjNPdPhMB4Gfgi7JqodtU6McN/dRJ6nqq6LwR6pKoo9OWIfX0rMfAPZIMwBu BbXjRo7QecPyuuLhibHYTxyf9h50IDGvJnH1fciX3TCW8VPAlSOnmBinDomt3MJaIwUS QT1w== Received: by 10.52.68.165 with SMTP id x5mr2145564vdt.2.1343394430711; Fri, 27 Jul 2012 06:07:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.106.193 with HTTP; Fri, 27 Jul 2012 06:06:50 -0700 (PDT) In-Reply-To: References: <-3652101023413683974@unknownmsgid> From: Edmon Begoli Date: Fri, 27 Jul 2012 09:06:50 -0400 Message-ID: Subject: Re: Python client lib for Accumulo? To: dev@accumulo.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Just let me know how and if we want to collaborate on this. As for RESTful API and paging, I think we could also look into OData-like protocol conventions that specify an API to scroll through the result set using 'skip' and 'top' in addition to opening the stream. Edmon On Fri, Jul 27, 2012 at 9:01 AM, Jim Klucar wrote: > I have a small proof of concept going. I'm still not sure what the > best way to do results paging is (i.e. your scan has a billion results > and won't fit in memory) My initial work is moving towards opening up > a HTTP/1.1 chunked-encoded stream like Twitter does for its streaming > API. The other thing I've been playing with are using websockets, but > that may restrict you to using JavaScript but I'm sure more client > side websocket libraries are coming. > > On Fri, Jul 27, 2012 at 8:50 AM, David Medinets > wrote: >> Which reminds me. There was a discussion of using a REST interface on >> this list. Several people liked that approach because it would provide >> loose coupling between client and server. Also the client could use >> any language. At the time, nobody could spare the time to implement >> it. >> >> On Fri, Jul 27, 2012 at 7:37 AM, Jim Klucar wrote: >>> Welcome Edmon. I think as far as a pure python library goes, you would >>> have to interface with the thrift protocols. My sense is that would be >>> discouraged at this point by the devs. I do have some experience with >>> it though, I made an attempt to interface to Accumulo with Node.js. It >>> turned into me writing the JavaScript version of TCompactProtocol, but >>> it's still incomplete at this point. I would vote for either >>> developing an officially supported Thrift interface, or an officially >>> supported REST interface using a JVM language. Then the language >>> barrier would be easier to overcome. >>> >>> Jim >>> >>> On Jul 27, 2012, at 7:19 AM, Edmon Begoli wrote: >>> >>>> Hi David, >>>> >>>> I think that Jython is a good idea as at least a prototype or as a bridge >>>> towards a full blown python library. >>>> >>>> It is probably not a good end state because most Python developers do not >>>> want JVM and Java environment, and there is also performance overhead. >>>> >>>> Personally, I program in both languages, so I am good. >>>> >>>> Is there a particular protocol about contributing to accumulo project? >>>> On Jul 27, 2012 5:27 AM, "David Medinets" wrote: >>>> >>>>> On Thu, Jul 26, 2012 at 11:15 PM, Edmon Begoli wrote: >>>>>> I have just joined the list with the purpose of volunteering ideas, >>>>>> design and development (and whatever else in lifecycle) >>>>>> related to development of the Python client for accumulo. >>>>> >>>>> Welcome to the list. There are a lot of Python developers and I'm sure >>>>> that your client would be well received by the community. My own >>>>> advice is to write whatever is simplest (fastest to develop) and >>>>> iterate towards a more complex complete solution. >>>>> >>>>> Would jython be any use to provide python access to the existing Java >>>>> API without any rewrite or plumbing needed? >>>>>