I'll toss our Twisted/Riak component into the conversation:
   https://bitbucket.org/asi/txriak

Note that this was a minimal port of the original Riak Python code
into a Twisted/deferred model. As such, we kept as close as possible to the 
original 
Python code -- just introduced the asynchronous nature required by Twisted.

Been awhile since it has been updated -- but it is in daily production use. 
--Ray


----- Original Message -----
> From: "Philipp Borgers" <borg...@mi.fu-berlin.de>
> To: riak-users@lists.basho.com
> Sent: Tuesday, July 24, 2012 6:40:20 PM
> Subject: Re: Informal survey about Python client API changes
> 
> On Tue, 2012-07-24 at 17:00 -0400, Shuhao Wu wrote:
> > On Tue, Jul 24, 2012 at 11:27 AM, Jeremy Thurgood
> > <fir...@gmail.com> wrote:
> > > On 24 July 2012 15:53, Sean Cribbs <s...@basho.com> wrote:
> > 
> > >
> > > So, on to my grandiose plans for the future of the Python Riak
> > > client.
> > > We're currently using a combination of this client and
> > > Riakasaurus,
> > > which is a Twisted-based client library that we maintain.
> > > Riakasaurus
> > > is based (indirectly) on a previous version of the Python client,
> > > but
> > > is different enough that it's impossible to pull in upstream
> > > changes
> > > directly. The main reason for the divergence is that the Python
> > > client
> > > assumes blocking network I/O operations that will return when
> > > they
> > > have the required data, while Twisted uses an asynchronous
> > > callback-based I/O mechanism.
> > >
> > > I think it would be possible to restructure the Python client
> > > somewhat
> > > to decouple the higher-level operations from the lower-level
> > > network
> > > operations in a way that would let us switch between
> > > Twisted-style
> > > async I/O and more traditional blocking I/O. This would probably
> > > be a
> > > fairly invasive change in some ways, but shouldn't have any
> > > noticeable
> > > impact on the external API. I'm hoping it'll make the
> > > ConnectionManager replacement cleaner and more flexible, but I
> > > don't
> > > have a good enough mental model of the system to be sure.
> > 
> > Actually. I already have a prototype of just a separation between
> > the
> > higher level and lower level API. I'm planning to add async IO
> > (done
> > in some local branch a couple months ago, but very crude) but
> > haven't
> > figured out a "good" way of doing it (callbacks, twisted style
> > defer.
> > Greenlet vs threads. etc.) just yet.
> 
> I'm highly interested in the async stuff! Would be great if you could
> share your local branch or ideas.
> 
> > 
> > In addition I also added sibling handlings, which I believe is
> > missing/lacking in the riak-python-client, which is a center part
> > of
> > my higher level design.
> > 
> > If you want to take a look and see if this is something you think
> > is
> > what you mean, here's a link:
> > https://github.com/ultimatebuster/riak-python-client2
> > 
> > It's also a prototyping repo for me in terms of what to try to
> > bring
> > to the official clients via pull requests.
> > 
> > > As the person proposing this, I'm happy to put some effort into
> > > hacking up a prototype to see if this is actually a workable idea
> > > and
> > > to do the bulk of the implementation work if it is -- it'll save
> > > on a
> > > bunch of Riakasaurus maintenance in the future if we can pull it
> > > off.
> > > I'm proposing some pretty drastic surgery to the existing
> > > codebase, so
> > > I'd like to know if other people (especially Sean) think it's a
> > > good
> > > idea before I sink too much time into it.
> > >
> > > Thanks,
> > > --J
> > >
> > > _______________________________________________
> > > riak-users mailing list
> > > riak-users@lists.basho.com
> > > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> > 
> > _______________________________________________
> > riak-users mailing list
> > riak-users@lists.basho.com
> > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 

-- 
Ray Cote, President
Appropriate Solutions, Inc.
We Build Software
603.924.6079

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to