You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cassandra.apache.org by Pablo Cuadrado <pa...@gmail.com> on 2010/04/09 16:55:46 UTC

python web framework suggestions (for Cassandra Web UI) needed

Hi!

I made a proposal about building a Cassandra Web UI. One of it's main
components, will be Python on the server side.

However, as Gary D. pointed out, it will be interesting to get your
opinions on which framework to use.

I suggested Django for being well-known and largely documented, but
any other would do.

As far as my experience goes on web development, this is what I -IMHO-
think of any web framework, despite the language:

- Really small footprint is a plus: "do we really need to include
that, and that, and that other thing?"
- Flexibility and freedom of code, another plus: "do I really need to
inherit that class to do that"
- Unneeded features tend to get in our way: like the "auto admin"
panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
Pylons.
- Templating features should be truly flexible, and do fast template parsing.

Well, suggestions are needed! I would like to know your opinions on
Django, Pylons, web2py, TurboGears, etc.

Regards!

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Joseph Bowman <bo...@gmail.com>.
Lazyboy has had a lot of updates since the implementation that's in place
there. Those Digg guys have been busy. So I wouldn't use jsondra as much
more than an example of how to use tornado for the framework, rather than to
build off of as I imagine the lazyboy usage is different with current
versions. And tornado has been updated as well since, some.

On Fri, Apr 9, 2010 at 12:23 PM, Pablo Cuadrado <pa...@gmail.com>wrote:

> I like Pylons also, for what I've read. Haven't worked with it so far,
> but I'll give it try today to see how it performs.
>
> Joseph: That's great! I'm also thinking on Lazyboy, and a restful
> interface. I'll take a look at it.
>
>
>
> On Fri, Apr 9, 2010 at 1:10 PM, Joseph Bowman <bo...@gmail.com>
> wrote:
> > Way back when I wanted to try and use node.js and Cassandra, I started
> work
> > on a restful interface using Tornado and Lazyboy. I've since moved on
> from
> > that idea and the project is way out of date, but you can see what I had
> > done at this project on github - http://github.com/joerussbowman/jsondra
> >
> > On Fri, Apr 9, 2010 at 11:49 AM, Matthew Dennis <md...@merfer.net>
> wrote:
> >
> >> +1 for pylons, I've been quite happy with it so far - lightweight, very
> >> flexible, loosely coupled components...
> >>
> >>
> >> On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:
> >>
> >>  I like pylons.  Easy templating and relatively light weight.  In my
> >>> experience, it was easier to get something working in pylons than
> >>> django, but I am impatient.
> >>>
> >>> Gary.
> >>>
> >>>
> >>> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com>
> >>> wrote:
> >>>
> >>>> Hi!
> >>>>
> >>>> I made a proposal about building a Cassandra Web UI. One of it's main
> >>>> components, will be Python on the server side.
> >>>>
> >>>> However, as Gary D. pointed out, it will be interesting to get your
> >>>> opinions on which framework to use.
> >>>>
> >>>> I suggested Django for being well-known and largely documented, but
> >>>> any other would do.
> >>>>
> >>>> As far as my experience goes on web development, this is what I -IMHO-
> >>>> think of any web framework, despite the language:
> >>>>
> >>>> - Really small footprint is a plus: "do we really need to include
> >>>> that, and that, and that other thing?"
> >>>> - Flexibility and freedom of code, another plus: "do I really need to
> >>>> inherit that class to do that"
> >>>> - Unneeded features tend to get in our way: like the "auto admin"
> >>>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
> >>>> Pylons.
> >>>> - Templating features should be truly flexible, and do fast template
> >>>> parsing.
> >>>>
> >>>> Well, suggestions are needed! I would like to know your opinions on
> >>>> Django, Pylons, web2py, TurboGears, etc.
> >>>>
> >>>> Regards!
> >>>>
> >>>>
> >
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
I like Pylons also, for what I've read. Haven't worked with it so far,
but I'll give it try today to see how it performs.

Joseph: That's great! I'm also thinking on Lazyboy, and a restful
interface. I'll take a look at it.



On Fri, Apr 9, 2010 at 1:10 PM, Joseph Bowman <bo...@gmail.com> wrote:
> Way back when I wanted to try and use node.js and Cassandra, I started work
> on a restful interface using Tornado and Lazyboy. I've since moved on from
> that idea and the project is way out of date, but you can see what I had
> done at this project on github - http://github.com/joerussbowman/jsondra
>
> On Fri, Apr 9, 2010 at 11:49 AM, Matthew Dennis <md...@merfer.net> wrote:
>
>> +1 for pylons, I've been quite happy with it so far - lightweight, very
>> flexible, loosely coupled components...
>>
>>
>> On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:
>>
>>  I like pylons.  Easy templating and relatively light weight.  In my
>>> experience, it was easier to get something working in pylons than
>>> django, but I am impatient.
>>>
>>> Gary.
>>>
>>>
>>> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com>
>>> wrote:
>>>
>>>> Hi!
>>>>
>>>> I made a proposal about building a Cassandra Web UI. One of it's main
>>>> components, will be Python on the server side.
>>>>
>>>> However, as Gary D. pointed out, it will be interesting to get your
>>>> opinions on which framework to use.
>>>>
>>>> I suggested Django for being well-known and largely documented, but
>>>> any other would do.
>>>>
>>>> As far as my experience goes on web development, this is what I -IMHO-
>>>> think of any web framework, despite the language:
>>>>
>>>> - Really small footprint is a plus: "do we really need to include
>>>> that, and that, and that other thing?"
>>>> - Flexibility and freedom of code, another plus: "do I really need to
>>>> inherit that class to do that"
>>>> - Unneeded features tend to get in our way: like the "auto admin"
>>>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>>>> Pylons.
>>>> - Templating features should be truly flexible, and do fast template
>>>> parsing.
>>>>
>>>> Well, suggestions are needed! I would like to know your opinions on
>>>> Django, Pylons, web2py, TurboGears, etc.
>>>>
>>>> Regards!
>>>>
>>>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Joseph Bowman <bo...@gmail.com>.
Way back when I wanted to try and use node.js and Cassandra, I started work
on a restful interface using Tornado and Lazyboy. I've since moved on from
that idea and the project is way out of date, but you can see what I had
done at this project on github - http://github.com/joerussbowman/jsondra

On Fri, Apr 9, 2010 at 11:49 AM, Matthew Dennis <md...@merfer.net> wrote:

> +1 for pylons, I've been quite happy with it so far - lightweight, very
> flexible, loosely coupled components...
>
>
> On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:
>
>  I like pylons.  Easy templating and relatively light weight.  In my
>> experience, it was easier to get something working in pylons than
>> django, but I am impatient.
>>
>> Gary.
>>
>>
>> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com>
>> wrote:
>>
>>> Hi!
>>>
>>> I made a proposal about building a Cassandra Web UI. One of it's main
>>> components, will be Python on the server side.
>>>
>>> However, as Gary D. pointed out, it will be interesting to get your
>>> opinions on which framework to use.
>>>
>>> I suggested Django for being well-known and largely documented, but
>>> any other would do.
>>>
>>> As far as my experience goes on web development, this is what I -IMHO-
>>> think of any web framework, despite the language:
>>>
>>> - Really small footprint is a plus: "do we really need to include
>>> that, and that, and that other thing?"
>>> - Flexibility and freedom of code, another plus: "do I really need to
>>> inherit that class to do that"
>>> - Unneeded features tend to get in our way: like the "auto admin"
>>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>>> Pylons.
>>> - Templating features should be truly flexible, and do fast template
>>> parsing.
>>>
>>> Well, suggestions are needed! I would like to know your opinions on
>>> Django, Pylons, web2py, TurboGears, etc.
>>>
>>> Regards!
>>>
>>>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Joseph: Of course, I understand it's out of date but I'm sure it worths a look!

Dan: You're right, it looks like Pylons is more suitable. Some pro's I see:

- Mako seems to be a faster template engine than Django's one.
- Looks to be really WSGI oriented from scratch.
- As for the ORM, it just won't be suitable for Cassandra, ORMs
nowadays are built obviously to work on the usual RDBMS...

Now, I was just thinking, in terms of "objects" and "relational
mapping", I'm guessing that "object mapping" is even easier in
Cassandra than in a complex relational database. I had some nightmares
working with DoctrineORM and PHP with largely normalized complex
databases...



On Fri, Apr 9, 2010 at 1:29 PM, Dan Di Spaltro <da...@gmail.com> wrote:
> I like Django.  Its wide adoption, great docs and included batteries
> make it an easy sell.
>
> But what your describing is more like a pylons, aka if you dont want
> an orm in Pylons, don't include it.
>
> On Fri, Apr 9, 2010 at 8:49 AM, Matthew Dennis <md...@merfer.net> wrote:
>> +1 for pylons, I've been quite happy with it so far - lightweight, very
>> flexible, loosely coupled components...
>>
>> On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:
>>
>>> I like pylons.  Easy templating and relatively light weight.  In my
>>> experience, it was easier to get something working in pylons than
>>> django, but I am impatient.
>>>
>>> Gary.
>>>
>>>
>>> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com>
>>> wrote:
>>>>
>>>> Hi!
>>>>
>>>> I made a proposal about building a Cassandra Web UI. One of it's main
>>>> components, will be Python on the server side.
>>>>
>>>> However, as Gary D. pointed out, it will be interesting to get your
>>>> opinions on which framework to use.
>>>>
>>>> I suggested Django for being well-known and largely documented, but
>>>> any other would do.
>>>>
>>>> As far as my experience goes on web development, this is what I -IMHO-
>>>> think of any web framework, despite the language:
>>>>
>>>> - Really small footprint is a plus: "do we really need to include
>>>> that, and that, and that other thing?"
>>>> - Flexibility and freedom of code, another plus: "do I really need to
>>>> inherit that class to do that"
>>>> - Unneeded features tend to get in our way: like the "auto admin"
>>>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>>>> Pylons.
>>>> - Templating features should be truly flexible, and do fast template
>>>> parsing.
>>>>
>>>> Well, suggestions are needed! I would like to know your opinions on
>>>> Django, Pylons, web2py, TurboGears, etc.
>>>>
>>>> Regards!
>>>>
>>
>
>
>
> --
> Dan Di Spaltro
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Dan Di Spaltro <da...@gmail.com>.
I like Django.  Its wide adoption, great docs and included batteries
make it an easy sell.

But what your describing is more like a pylons, aka if you dont want
an orm in Pylons, don't include it.

On Fri, Apr 9, 2010 at 8:49 AM, Matthew Dennis <md...@merfer.net> wrote:
> +1 for pylons, I've been quite happy with it so far - lightweight, very
> flexible, loosely coupled components...
>
> On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:
>
>> I like pylons.  Easy templating and relatively light weight.  In my
>> experience, it was easier to get something working in pylons than
>> django, but I am impatient.
>>
>> Gary.
>>
>>
>> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com>
>> wrote:
>>>
>>> Hi!
>>>
>>> I made a proposal about building a Cassandra Web UI. One of it's main
>>> components, will be Python on the server side.
>>>
>>> However, as Gary D. pointed out, it will be interesting to get your
>>> opinions on which framework to use.
>>>
>>> I suggested Django for being well-known and largely documented, but
>>> any other would do.
>>>
>>> As far as my experience goes on web development, this is what I -IMHO-
>>> think of any web framework, despite the language:
>>>
>>> - Really small footprint is a plus: "do we really need to include
>>> that, and that, and that other thing?"
>>> - Flexibility and freedom of code, another plus: "do I really need to
>>> inherit that class to do that"
>>> - Unneeded features tend to get in our way: like the "auto admin"
>>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>>> Pylons.
>>> - Templating features should be truly flexible, and do fast template
>>> parsing.
>>>
>>> Well, suggestions are needed! I would like to know your opinions on
>>> Django, Pylons, web2py, TurboGears, etc.
>>>
>>> Regards!
>>>
>



-- 
Dan Di Spaltro

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Matthew Dennis <md...@merfer.net>.
+1 for pylons, I've been quite happy with it so far - lightweight,  
very flexible, loosely coupled components...

On Apr 9, 2010, at 10:23 AM, Gary Dusbabek <gd...@gmail.com> wrote:

> I like pylons.  Easy templating and relatively light weight.  In my
> experience, it was easier to get something working in pylons than
> django, but I am impatient.
>
> Gary.
>
>
> On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado  
> <pa...@gmail.com> wrote:
>> Hi!
>>
>> I made a proposal about building a Cassandra Web UI. One of it's main
>> components, will be Python on the server side.
>>
>> However, as Gary D. pointed out, it will be interesting to get your
>> opinions on which framework to use.
>>
>> I suggested Django for being well-known and largely documented, but
>> any other would do.
>>
>> As far as my experience goes on web development, this is what I - 
>> IMHO-
>> think of any web framework, despite the language:
>>
>> - Really small footprint is a plus: "do we really need to include
>> that, and that, and that other thing?"
>> - Flexibility and freedom of code, another plus: "do I really need to
>> inherit that class to do that"
>> - Unneeded features tend to get in our way: like the "auto admin"
>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>> Pylons.
>> - Templating features should be truly flexible, and do fast  
>> template parsing.
>>
>> Well, suggestions are needed! I would like to know your opinions on
>> Django, Pylons, web2py, TurboGears, etc.
>>
>> Regards!
>>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Gary Dusbabek <gd...@gmail.com>.
I like pylons.  Easy templating and relatively light weight.  In my
experience, it was easier to get something working in pylons than
django, but I am impatient.

Gary.


On Fri, Apr 9, 2010 at 09:55, Pablo Cuadrado <pa...@gmail.com> wrote:
> Hi!
>
> I made a proposal about building a Cassandra Web UI. One of it's main
> components, will be Python on the server side.
>
> However, as Gary D. pointed out, it will be interesting to get your
> opinions on which framework to use.
>
> I suggested Django for being well-known and largely documented, but
> any other would do.
>
> As far as my experience goes on web development, this is what I -IMHO-
> think of any web framework, despite the language:
>
> - Really small footprint is a plus: "do we really need to include
> that, and that, and that other thing?"
> - Flexibility and freedom of code, another plus: "do I really need to
> inherit that class to do that"
> - Unneeded features tend to get in our way: like the "auto admin"
> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
> Pylons.
> - Templating features should be truly flexible, and do fast template parsing.
>
> Well, suggestions are needed! I would like to know your opinions on
> Django, Pylons, web2py, TurboGears, etc.
>
> Regards!
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Todd Lipcon <to...@cloudera.com>.
On Tue, Apr 13, 2010 at 1:26 PM, Eric Florenzano <fl...@gmail.com> wrote:

> I think that it's silly to hold this to a vote, frankly.  Do the research,
> weigh the pros and cons, and then make a decision.  It's you who's going to
> be doing the implementation, so the choice is something that you can live
> with.  Holding something like this to a vote is just going to invite flame
> wars and disagreements.
>
>
Can I vote +1 on this sentiment? :)

-Todd



-- 
Todd Lipcon
Software Engineer, Cloudera

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Well, there's almost a week since the first message in this thread!

Arriving some conclusion, I think I'm going with Pylons for the UI.

Asynchronous behaviours (if needed) can be achieved with some
integration with another server like Tornado. There's even some
experiments of asynchronous modules in Pylons with Cogen or a WSGI
asynchronous framework.

Hopefully, the communication modules (between the UI and the APIs)
would be encapsulated enough to be independent from the UI
implementation.

Thanks to all of you for your opinions!

On Tue, Apr 13, 2010 at 6:28 PM, Pablo Cuadrado <pa...@gmail.com> wrote:
> People:
>
> The "votation" is not relevant, the discussion is, and the reasons
> that support each vote. And those are itself part of the research I'm
> doing, and it surely will help in making the decision.
>
> But, they are an important part, because I didn't want to make a
> decision in "solo", since this is a project relevant to any Cassandra
> user.
>
> So, let's not discuss whether to vote or not, but expose why this or
> that framework should be used.
>
> On Tue, Apr 13, 2010 at 5:29 PM, Eric Florenzano <fl...@gmail.com> wrote:
>> On Tue, Apr 13, 2010 at 1:20 PM, Todd Lipcon <to...@cloudera.com> wrote:
>>>
>>> The big downside I see with Django and other WSGI based frameworks is that
>>> it becomes difficult to run "background threads" in a clean way.
>>
>>
>> This can be handled by using Eventlet or GEvent.  See the gevent webchat
>> demo, for example, to see how it can be done cleanly:
>> http://bitbucket.org/denis/gevent/src/tip/examples/webchat/
>>
>> Thanks,
>> Eric Florenzano
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
People:

The "votation" is not relevant, the discussion is, and the reasons
that support each vote. And those are itself part of the research I'm
doing, and it surely will help in making the decision.

But, they are an important part, because I didn't want to make a
decision in "solo", since this is a project relevant to any Cassandra
user.

So, let's not discuss whether to vote or not, but expose why this or
that framework should be used.

On Tue, Apr 13, 2010 at 5:29 PM, Eric Florenzano <fl...@gmail.com> wrote:
> On Tue, Apr 13, 2010 at 1:20 PM, Todd Lipcon <to...@cloudera.com> wrote:
>>
>> The big downside I see with Django and other WSGI based frameworks is that
>> it becomes difficult to run "background threads" in a clean way.
>
>
> This can be handled by using Eventlet or GEvent.  See the gevent webchat
> demo, for example, to see how it can be done cleanly:
> http://bitbucket.org/denis/gevent/src/tip/examples/webchat/
>
> Thanks,
> Eric Florenzano
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Todd:

Very valuable comments, that's just the kind of problem I believe
should be addressed with an asynchronous approach.



On Tue, Apr 13, 2010 at 5:20 PM, Todd Lipcon <to...@cloudera.com> wrote:
> Not going to vote either way, as I haven't contributed to Cassandra in over
> a year :) But one quick opinion:
>
> The big downside I see with Django and other WSGI based frameworks is that
> it becomes difficult to run "background threads" in a clean way. Someone
> mentioned this earlier, but worth repeating: there will be operations that
> the management console wants to do that involve talking to all Cassandra
> nodes. You will not want to do these for every request - rather it makes
> sense to poll nodes in the background and maintain some in-memory data
> structure.
>
> I think doing this kind of background monitoring in an async framework like
> Tornado or Twisted is likely to be a lot easier. In building Cloudera
> Desktop we ran into this issue and separated our health monitoring component
> into a twisted service which then exposes data to the Django frontend. Had
> Tornado been around when we started the Desktop project we might have
> considered it instead.
>
> Thanks
> -Todd
>
> On Tue, Apr 13, 2010 at 12:51 PM, Pablo Cuadrado <pa...@gmail.com>wrote:
>
>> Yes, in the big picture, I guess Pylons has a greater community and
>> adoption.
>>
>> On Tue, Apr 13, 2010 at 4:47 PM, Miguel Verde <mi...@gmail.com>
>> wrote:
>> > -1 vote for Tornado.  As far as I know, it still doesn't run on Windows
>> and
>> > has had only 2 releases.  I don't think it makes sense to push that as a
>> > dependency to potential deployers of this UI.
>> >
>> > There are many alternatives with broader platform support and more
>> > consistent mainline releases: Bottle, CherryPy, Django, Paste/Pylons,
>> > Werkzeug
>> > On Tue, Apr 13, 2010 at 2:37 PM, Paul Bohm <bo...@gmail.com> wrote:
>> >
>> >> tornado +1 - it's lightweight and has few external dependencies.
>> >>
>> >> Pylons +4
>> >> Tornado +3
>> >> Django +1
>> >> Undetermined +2
>> >>
>> >> On Tue, Apr 13, 2010 at 11:29 AM, Ray Slakinski <
>> ray.slakinski@gmail.com>
>> >> wrote:
>> >> > I'll put in a vote for django, you can use managers to handle a lot of
>> >> the object code.
>> >> >
>> >> > Ray Slakinski
>> >> >
>> >> > On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:
>> >> >
>> >> >> Pylons +4
>> >> >> Tornado +2
>> >> >> Django +1
>> >> >> Undetermined +2
>> >> >>
>> >> >> Do I smell Pylons? :)
>> >> >>
>> >> >> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com>
>> >> wrote:
>> >> >>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <
>> >> pablocuadrado@gmail.com>wrote:
>> >> >>>
>> >> >>>> Well, so far we are:
>> >> >>>>
>> >> >>>> Pylons +3
>> >> >>>> Tornado +2
>> >> >>>> Django +1
>> >> >>>> Undetermined +2
>> >> >>>>
>> >> >>>
>> >> >>> +1 for pylons.  I think a more popular framework is likely to have
>> >> better
>> >> >>> chances of being maintained and avoiding bitrot in the long haul.
>> >> >>>
>> >> >>> -Brandon
>> >> >>>
>> >> >
>> >> >
>> >>
>> >
>>
>
>
>
> --
> Todd Lipcon
> Software Engineer, Cloudera
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Eric Florenzano <fl...@gmail.com>.
On Tue, Apr 13, 2010 at 1:20 PM, Todd Lipcon <to...@cloudera.com> wrote:
>
> The big downside I see with Django and other WSGI based frameworks is that
> it becomes difficult to run "background threads" in a clean way.


This can be handled by using Eventlet or GEvent.  See the gevent webchat
demo, for example, to see how it can be done cleanly:
http://bitbucket.org/denis/gevent/src/tip/examples/webchat/

Thanks,
Eric Florenzano

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Eric Florenzano <fl...@gmail.com>.
I think that it's silly to hold this to a vote, frankly.  Do the research,
weigh the pros and cons, and then make a decision.  It's you who's going to
be doing the implementation, so the choice is something that you can live
with.  Holding something like this to a vote is just going to invite flame
wars and disagreements.

Thanks,
Eric Florenzano

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Todd Lipcon <to...@cloudera.com>.
Not going to vote either way, as I haven't contributed to Cassandra in over
a year :) But one quick opinion:

The big downside I see with Django and other WSGI based frameworks is that
it becomes difficult to run "background threads" in a clean way. Someone
mentioned this earlier, but worth repeating: there will be operations that
the management console wants to do that involve talking to all Cassandra
nodes. You will not want to do these for every request - rather it makes
sense to poll nodes in the background and maintain some in-memory data
structure.

I think doing this kind of background monitoring in an async framework like
Tornado or Twisted is likely to be a lot easier. In building Cloudera
Desktop we ran into this issue and separated our health monitoring component
into a twisted service which then exposes data to the Django frontend. Had
Tornado been around when we started the Desktop project we might have
considered it instead.

Thanks
-Todd

On Tue, Apr 13, 2010 at 12:51 PM, Pablo Cuadrado <pa...@gmail.com>wrote:

> Yes, in the big picture, I guess Pylons has a greater community and
> adoption.
>
> On Tue, Apr 13, 2010 at 4:47 PM, Miguel Verde <mi...@gmail.com>
> wrote:
> > -1 vote for Tornado.  As far as I know, it still doesn't run on Windows
> and
> > has had only 2 releases.  I don't think it makes sense to push that as a
> > dependency to potential deployers of this UI.
> >
> > There are many alternatives with broader platform support and more
> > consistent mainline releases: Bottle, CherryPy, Django, Paste/Pylons,
> > Werkzeug
> > On Tue, Apr 13, 2010 at 2:37 PM, Paul Bohm <bo...@gmail.com> wrote:
> >
> >> tornado +1 - it's lightweight and has few external dependencies.
> >>
> >> Pylons +4
> >> Tornado +3
> >> Django +1
> >> Undetermined +2
> >>
> >> On Tue, Apr 13, 2010 at 11:29 AM, Ray Slakinski <
> ray.slakinski@gmail.com>
> >> wrote:
> >> > I'll put in a vote for django, you can use managers to handle a lot of
> >> the object code.
> >> >
> >> > Ray Slakinski
> >> >
> >> > On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:
> >> >
> >> >> Pylons +4
> >> >> Tornado +2
> >> >> Django +1
> >> >> Undetermined +2
> >> >>
> >> >> Do I smell Pylons? :)
> >> >>
> >> >> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com>
> >> wrote:
> >> >>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <
> >> pablocuadrado@gmail.com>wrote:
> >> >>>
> >> >>>> Well, so far we are:
> >> >>>>
> >> >>>> Pylons +3
> >> >>>> Tornado +2
> >> >>>> Django +1
> >> >>>> Undetermined +2
> >> >>>>
> >> >>>
> >> >>> +1 for pylons.  I think a more popular framework is likely to have
> >> better
> >> >>> chances of being maintained and avoiding bitrot in the long haul.
> >> >>>
> >> >>> -Brandon
> >> >>>
> >> >
> >> >
> >>
> >
>



-- 
Todd Lipcon
Software Engineer, Cloudera

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Yes, in the big picture, I guess Pylons has a greater community and adoption.

On Tue, Apr 13, 2010 at 4:47 PM, Miguel Verde <mi...@gmail.com> wrote:
> -1 vote for Tornado.  As far as I know, it still doesn't run on Windows and
> has had only 2 releases.  I don't think it makes sense to push that as a
> dependency to potential deployers of this UI.
>
> There are many alternatives with broader platform support and more
> consistent mainline releases: Bottle, CherryPy, Django, Paste/Pylons,
> Werkzeug
> On Tue, Apr 13, 2010 at 2:37 PM, Paul Bohm <bo...@gmail.com> wrote:
>
>> tornado +1 - it's lightweight and has few external dependencies.
>>
>> Pylons +4
>> Tornado +3
>> Django +1
>> Undetermined +2
>>
>> On Tue, Apr 13, 2010 at 11:29 AM, Ray Slakinski <ra...@gmail.com>
>> wrote:
>> > I'll put in a vote for django, you can use managers to handle a lot of
>> the object code.
>> >
>> > Ray Slakinski
>> >
>> > On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:
>> >
>> >> Pylons +4
>> >> Tornado +2
>> >> Django +1
>> >> Undetermined +2
>> >>
>> >> Do I smell Pylons? :)
>> >>
>> >> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com>
>> wrote:
>> >>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <
>> pablocuadrado@gmail.com>wrote:
>> >>>
>> >>>> Well, so far we are:
>> >>>>
>> >>>> Pylons +3
>> >>>> Tornado +2
>> >>>> Django +1
>> >>>> Undetermined +2
>> >>>>
>> >>>
>> >>> +1 for pylons.  I think a more popular framework is likely to have
>> better
>> >>> chances of being maintained and avoiding bitrot in the long haul.
>> >>>
>> >>> -Brandon
>> >>>
>> >
>> >
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Miguel Verde <mi...@gmail.com>.
-1 vote for Tornado.  As far as I know, it still doesn't run on Windows and
has had only 2 releases.  I don't think it makes sense to push that as a
dependency to potential deployers of this UI.

There are many alternatives with broader platform support and more
consistent mainline releases: Bottle, CherryPy, Django, Paste/Pylons,
Werkzeug
On Tue, Apr 13, 2010 at 2:37 PM, Paul Bohm <bo...@gmail.com> wrote:

> tornado +1 - it's lightweight and has few external dependencies.
>
> Pylons +4
> Tornado +3
> Django +1
> Undetermined +2
>
> On Tue, Apr 13, 2010 at 11:29 AM, Ray Slakinski <ra...@gmail.com>
> wrote:
> > I'll put in a vote for django, you can use managers to handle a lot of
> the object code.
> >
> > Ray Slakinski
> >
> > On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:
> >
> >> Pylons +4
> >> Tornado +2
> >> Django +1
> >> Undetermined +2
> >>
> >> Do I smell Pylons? :)
> >>
> >> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com>
> wrote:
> >>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <
> pablocuadrado@gmail.com>wrote:
> >>>
> >>>> Well, so far we are:
> >>>>
> >>>> Pylons +3
> >>>> Tornado +2
> >>>> Django +1
> >>>> Undetermined +2
> >>>>
> >>>
> >>> +1 for pylons.  I think a more popular framework is likely to have
> better
> >>> chances of being maintained and avoiding bitrot in the long haul.
> >>>
> >>> -Brandon
> >>>
> >
> >
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Paul Bohm <bo...@gmail.com>.
tornado +1 - it's lightweight and has few external dependencies.

Pylons +4
Tornado +3
Django +1
Undetermined +2

On Tue, Apr 13, 2010 at 11:29 AM, Ray Slakinski <ra...@gmail.com> wrote:
> I'll put in a vote for django, you can use managers to handle a lot of the object code.
>
> Ray Slakinski
>
> On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:
>
>> Pylons +4
>> Tornado +2
>> Django +1
>> Undetermined +2
>>
>> Do I smell Pylons? :)
>>
>> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com> wrote:
>>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <pa...@gmail.com>wrote:
>>>
>>>> Well, so far we are:
>>>>
>>>> Pylons +3
>>>> Tornado +2
>>>> Django +1
>>>> Undetermined +2
>>>>
>>>
>>> +1 for pylons.  I think a more popular framework is likely to have better
>>> chances of being maintained and avoiding bitrot in the long haul.
>>>
>>> -Brandon
>>>
>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Ray Slakinski <ra...@gmail.com>.
I'll put in a vote for django, you can use managers to handle a lot of the object code.

Ray Slakinski

On 2010-04-13, at 2:15 PM, Pablo Cuadrado wrote:

> Pylons +4
> Tornado +2
> Django +1
> Undetermined +2
> 
> Do I smell Pylons? :)
> 
> On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com> wrote:
>> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <pa...@gmail.com>wrote:
>> 
>>> Well, so far we are:
>>> 
>>> Pylons +3
>>> Tornado +2
>>> Django +1
>>> Undetermined +2
>>> 
>> 
>> +1 for pylons.  I think a more popular framework is likely to have better
>> chances of being maintained and avoiding bitrot in the long haul.
>> 
>> -Brandon
>> 


Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Pylons +4
Tornado +2
Django +1
Undetermined +2

Do I smell Pylons? :)

On Tue, Apr 13, 2010 at 3:13 PM, Brandon Williams <dr...@gmail.com> wrote:
> On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <pa...@gmail.com>wrote:
>
>> Well, so far we are:
>>
>> Pylons +3
>> Tornado +2
>> Django +1
>> Undetermined +2
>>
>
> +1 for pylons.  I think a more popular framework is likely to have better
> chances of being maintained and avoiding bitrot in the long haul.
>
> -Brandon
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Brandon Williams <dr...@gmail.com>.
On Tue, Apr 13, 2010 at 1:09 PM, Pablo Cuadrado <pa...@gmail.com>wrote:

> Well, so far we are:
>
> Pylons +3
> Tornado +2
> Django +1
> Undetermined +2
>

+1 for pylons.  I think a more popular framework is likely to have better
chances of being maintained and avoiding bitrot in the long haul.

-Brandon

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Well, so far we are:

Pylons +3
Tornado +2
Django +1
Undetermined +2

I will do some tests and further research, and then I'll see if I
change my vote (now in Pylons) to Tornado.








On Tue, Apr 13, 2010 at 3:04 PM, David Timothy Strauss
<da...@fourkitchens.com> wrote:
> I would be happy to help get this going on Tornado. I don't have experience with Pylons.
>
> -----Original Message-----
> From: Pablo Cuadrado <pa...@gmail.com>
> Date: Tue, 13 Apr 2010 14:33:11
> To: <de...@cassandra.apache.org>; <da...@fourkitchens.com>
> Subject: Re: python web framework suggestions (for Cassandra Web UI) needed
>
> David:
>
> Personally, I'm between Tornado and Pylons. I'm willing to run a few
> test cases on both scenarios.
>
> On Tue, Apr 13, 2010 at 2:27 PM, David Timothy Strauss
> <da...@fourkitchens.com> wrote:
>> Please use something like Tornado. A Cassandra web GUI should not require a heavyweight framework and hopefully nothing other than a Cassandra connection to run.
>>
>> -----Original Message-----
>> From: Pablo Cuadrado <pa...@gmail.com>
>> Date: Fri, 9 Apr 2010 11:55:46
>> To: <de...@cassandra.apache.org>
>> Subject: python web framework suggestions (for Cassandra Web UI) needed
>>
>> Hi!
>>
>> I made a proposal about building a Cassandra Web UI. One of it's main
>> components, will be Python on the server side.
>>
>> However, as Gary D. pointed out, it will be interesting to get your
>> opinions on which framework to use.
>>
>> I suggested Django for being well-known and largely documented, but
>> any other would do.
>>
>> As far as my experience goes on web development, this is what I -IMHO-
>> think of any web framework, despite the language:
>>
>> - Really small footprint is a plus: "do we really need to include
>> that, and that, and that other thing?"
>> - Flexibility and freedom of code, another plus: "do I really need to
>> inherit that class to do that"
>> - Unneeded features tend to get in our way: like the "auto admin"
>> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
>> Pylons.
>> - Templating features should be truly flexible, and do fast template parsing.
>>
>> Well, suggestions are needed! I would like to know your opinions on
>> Django, Pylons, web2py, TurboGears, etc.
>>
>> Regards!
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by David Timothy Strauss <da...@fourkitchens.com>.
I would be happy to help get this going on Tornado. I don't have experience with Pylons.

-----Original Message-----
From: Pablo Cuadrado <pa...@gmail.com>
Date: Tue, 13 Apr 2010 14:33:11 
To: <de...@cassandra.apache.org>; <da...@fourkitchens.com>
Subject: Re: python web framework suggestions (for Cassandra Web UI) needed

David:

Personally, I'm between Tornado and Pylons. I'm willing to run a few
test cases on both scenarios.

On Tue, Apr 13, 2010 at 2:27 PM, David Timothy Strauss
<da...@fourkitchens.com> wrote:
> Please use something like Tornado. A Cassandra web GUI should not require a heavyweight framework and hopefully nothing other than a Cassandra connection to run.
>
> -----Original Message-----
> From: Pablo Cuadrado <pa...@gmail.com>
> Date: Fri, 9 Apr 2010 11:55:46
> To: <de...@cassandra.apache.org>
> Subject: python web framework suggestions (for Cassandra Web UI) needed
>
> Hi!
>
> I made a proposal about building a Cassandra Web UI. One of it's main
> components, will be Python on the server side.
>
> However, as Gary D. pointed out, it will be interesting to get your
> opinions on which framework to use.
>
> I suggested Django for being well-known and largely documented, but
> any other would do.
>
> As far as my experience goes on web development, this is what I -IMHO-
> think of any web framework, despite the language:
>
> - Really small footprint is a plus: "do we really need to include
> that, and that, and that other thing?"
> - Flexibility and freedom of code, another plus: "do I really need to
> inherit that class to do that"
> - Unneeded features tend to get in our way: like the "auto admin"
> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
> Pylons.
> - Templating features should be truly flexible, and do fast template parsing.
>
> Well, suggestions are needed! I would like to know your opinions on
> Django, Pylons, web2py, TurboGears, etc.
>
> Regards!
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
David:

Personally, I'm between Tornado and Pylons. I'm willing to run a few
test cases on both scenarios.

On Tue, Apr 13, 2010 at 2:27 PM, David Timothy Strauss
<da...@fourkitchens.com> wrote:
> Please use something like Tornado. A Cassandra web GUI should not require a heavyweight framework and hopefully nothing other than a Cassandra connection to run.
>
> -----Original Message-----
> From: Pablo Cuadrado <pa...@gmail.com>
> Date: Fri, 9 Apr 2010 11:55:46
> To: <de...@cassandra.apache.org>
> Subject: python web framework suggestions (for Cassandra Web UI) needed
>
> Hi!
>
> I made a proposal about building a Cassandra Web UI. One of it's main
> components, will be Python on the server side.
>
> However, as Gary D. pointed out, it will be interesting to get your
> opinions on which framework to use.
>
> I suggested Django for being well-known and largely documented, but
> any other would do.
>
> As far as my experience goes on web development, this is what I -IMHO-
> think of any web framework, despite the language:
>
> - Really small footprint is a plus: "do we really need to include
> that, and that, and that other thing?"
> - Flexibility and freedom of code, another plus: "do I really need to
> inherit that class to do that"
> - Unneeded features tend to get in our way: like the "auto admin"
> panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
> Pylons.
> - Templating features should be truly flexible, and do fast template parsing.
>
> Well, suggestions are needed! I would like to know your opinions on
> Django, Pylons, web2py, TurboGears, etc.
>
> Regards!
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by David Timothy Strauss <da...@fourkitchens.com>.
Please use something like Tornado. A Cassandra web GUI should not require a heavyweight framework and hopefully nothing other than a Cassandra connection to run.

-----Original Message-----
From: Pablo Cuadrado <pa...@gmail.com>
Date: Fri, 9 Apr 2010 11:55:46 
To: <de...@cassandra.apache.org>
Subject: python web framework suggestions (for Cassandra Web UI) needed

Hi!

I made a proposal about building a Cassandra Web UI. One of it's main
components, will be Python on the server side.

However, as Gary D. pointed out, it will be interesting to get your
opinions on which framework to use.

I suggested Django for being well-known and largely documented, but
any other would do.

As far as my experience goes on web development, this is what I -IMHO-
think of any web framework, despite the language:

- Really small footprint is a plus: "do we really need to include
that, and that, and that other thing?"
- Flexibility and freedom of code, another plus: "do I really need to
inherit that class to do that"
- Unneeded features tend to get in our way: like the "auto admin"
panels of Django. Or the "FormAlchemy" and "SQLAlchemy" features in
Pylons.
- Templating features should be truly flexible, and do fast template parsing.

Well, suggestions are needed! I would like to know your opinions on
Django, Pylons, web2py, TurboGears, etc.

Regards!

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Matthew Dennis <md...@merfer.net>.
On Fri, Apr 9, 2010 at 11:42 AM, gabriele renzi <rf...@gmail.com> wrote:

> On Fri, Apr 9, 2010 at 4:55 PM, Pablo Cuadrado <pa...@gmail.com>
> wrote:
> > - Really small footprint is a plus: "do we really need to include
> > that, and that, and that other thing?"
>
> as I can imagine your app won't have any state per se, so you don't
> have any DB issues, you probably won't even need sessions, why not use
> simpler environments? I loved CherryPy some years ago, and there are
> plenty of new microframeworks such as Bottle which seem more fitting
> to _this_ bullet point than django and pylons.
>

Pylons makes it easy to add/remove/change the way sessions are done, this is
one of the reasons I like it so much - nearly everything is easy to disable
or replace.

Don't want sessions? You don't have to include them in Pylons.

Want to store them only in a encrypted cookie or only on disk or only in a
RDMBS?  no problem.

Want to store sessions in Cassandra (which if you use them, I imagine you
do)?  It's simple enough to add that, the main part you have to write is the
storage and retrieval to/from Cassandra - the rest is basically a small bit
of config that says "use this other thing for storing sessions"

Is there any way to enable the multiple super column names at a time?

Posted by Dop Sun <su...@dopsun.com>.
Hi,

I don't know whether I have missed anything here, but can we get columns for
multiple Super Column Names at a time, like what we can do for Keys (by key
range or list of keys) or columns (by column range or column list)?

While I'm doing the work with Cassandra, I usually think the structure like
this:

KS - CF - Key - Super Column - Column

But looks like I should change it to something like:

KS - CF - Super Column - Key - Column

Since CF-SuperColumn are combined within a single parameter: ColumnParent,
and they are usually unique (single) in a query.

Regards,
Dop



Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Some thoughts I've had last night while handling a beer:

A web UI for Cassandra, will be sometimes querying remote APIs (JMX,
Thrift), for every node in the cluster.

So, about the non-blocking/blocking issue that Brandon pointed out:

---------

In a totally synchronous/blocking approach, I expect this scenario:

request_some_value_for_every_node:
   for every_node
      request_value_from_api_and_wait (this is a request itself)
      add_value_to_some_list
return list_of_values

------

In a more async/non-blocking approach, this other case:

request_some_value_for_every_node(callback: when_its_done):
   for every_node
      request_value_from_api_and_wait
      add_value_to_some_list

when_its_done:
   return list_of_values

-----------

I wast just wondering if we should leave async servers/frameworks out
of the question, or, in the opposite, think about how we can get a
benefit out of them, having in mind that the UI will be querying API
methods for nodes in an entire cluster sometimes.

Here's some info about various servers including Tornado:

http://nichol.as/asynchronous-servers-in-python




On Mon, Apr 12, 2010 at 9:05 AM, Pablo Cuadrado <pa...@gmail.com> wrote:
> So far, I think I'm going for Pylons, the discussion gave this "pseudo-votes":
>
> Pylons +3
> Tornado +1
> Django +1
> Undetermined +2
>
> Any further comments on this issue will be appreciated!
>
> Thanks!
>
>
> On Sun, Apr 11, 2010 at 4:58 AM, Eric Florenzano <fl...@gmail.com> wrote:
>> Bottom line with this kind of a project is to go with what you're most
>> familiar with.  If you're equally unfamiliar with all frameworks, then the
>> quality of documentation becomes more important.
>>
>> Personally, I'd take a hard look at Werkzeug--it's a library, not a
>> framework.  Which means you get to pick and choose what bits you want in a
>> sort of a-la-carte way.  In the end, similarly to Pylons or Django, you get
>> a WSGI app that can be served out of the many different WSGI-aware web
>> servers like Apache's mod_wsgi, gunicorn, cherrypy, or even the builtin
>> wsgiref from the standard library.
>>
>> Anyway, I'm not sure if that helps or makes things more confusing :)
>>
>> Thanks,
>> Eric Florenzano
>>
>> On Fri, Apr 9, 2010 at 10:23 AM, Pablo Cuadrado <pa...@gmail.com>wrote:
>>
>>> It is indeed a web framework, and made for sys admins to interact with
>>> Cassandra, not for hosting millions of users concurrently.
>>>
>>> And you're right: those are helloworld benchmarks.
>>>
>>> I was concerned a few days ago about the sync/async issue, browsing
>>> over examples on Telephus, Twissandra, Lazyboy, Pycassa... then I
>>> thought that Lazyboy is largely being used in production AFAIK, so
>>> I've just kept it in my mind.
>>>
>>> However, the communication layer for the web UI, should (and hopefully
>>> it will) be independent, in case we want to make this changes in the
>>> future.
>>>
>>> On Fri, Apr 9, 2010 at 2:10 PM, Joseph Bowman <bo...@gmail.com>
>>> wrote:
>>> > I don't really consider any hello world benchmarks valid, you'd want to
>>> > investigate what your implementation would entail in different frameworks
>>> > and do mini-benchmarks to validate which is faster. But, if it's just a
>>> web
>>> > framework, as Brandon said, I doubt performance will matter to any great
>>> > degree. You'd be more concerned about Cassandra's performance, which is
>>> > pretty darn good.
>>> >
>>> > On Fri, Apr 9, 2010 at 1:07 PM, Brandon Williams <dr...@gmail.com>
>>> wrote:
>>> >
>>> >> On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <
>>> pablocuadrado@gmail.com
>>> >> >wrote:
>>> >>
>>> >> > Yes, I'm planning on Lazyboy.
>>> >> >
>>> >> > The Performance part on the Tornado wiki is quite impressive. Do you
>>> >> > think it's accurate?
>>> >> >
>>> >> > http://www.tornadoweb.org/documentation#performance
>>> >>
>>> >>
>>> >> Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
>>> >> loop, so performance is likely less than optimal.  That said, I doubt
>>> >> performance is a concern with a web UI.
>>> >>
>>> >> -Brandon
>>> >>
>>> >
>>>
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
So far, I think I'm going for Pylons, the discussion gave this "pseudo-votes":

Pylons +3
Tornado +1
Django +1
Undetermined +2

Any further comments on this issue will be appreciated!

Thanks!


On Sun, Apr 11, 2010 at 4:58 AM, Eric Florenzano <fl...@gmail.com> wrote:
> Bottom line with this kind of a project is to go with what you're most
> familiar with.  If you're equally unfamiliar with all frameworks, then the
> quality of documentation becomes more important.
>
> Personally, I'd take a hard look at Werkzeug--it's a library, not a
> framework.  Which means you get to pick and choose what bits you want in a
> sort of a-la-carte way.  In the end, similarly to Pylons or Django, you get
> a WSGI app that can be served out of the many different WSGI-aware web
> servers like Apache's mod_wsgi, gunicorn, cherrypy, or even the builtin
> wsgiref from the standard library.
>
> Anyway, I'm not sure if that helps or makes things more confusing :)
>
> Thanks,
> Eric Florenzano
>
> On Fri, Apr 9, 2010 at 10:23 AM, Pablo Cuadrado <pa...@gmail.com>wrote:
>
>> It is indeed a web framework, and made for sys admins to interact with
>> Cassandra, not for hosting millions of users concurrently.
>>
>> And you're right: those are helloworld benchmarks.
>>
>> I was concerned a few days ago about the sync/async issue, browsing
>> over examples on Telephus, Twissandra, Lazyboy, Pycassa... then I
>> thought that Lazyboy is largely being used in production AFAIK, so
>> I've just kept it in my mind.
>>
>> However, the communication layer for the web UI, should (and hopefully
>> it will) be independent, in case we want to make this changes in the
>> future.
>>
>> On Fri, Apr 9, 2010 at 2:10 PM, Joseph Bowman <bo...@gmail.com>
>> wrote:
>> > I don't really consider any hello world benchmarks valid, you'd want to
>> > investigate what your implementation would entail in different frameworks
>> > and do mini-benchmarks to validate which is faster. But, if it's just a
>> web
>> > framework, as Brandon said, I doubt performance will matter to any great
>> > degree. You'd be more concerned about Cassandra's performance, which is
>> > pretty darn good.
>> >
>> > On Fri, Apr 9, 2010 at 1:07 PM, Brandon Williams <dr...@gmail.com>
>> wrote:
>> >
>> >> On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <
>> pablocuadrado@gmail.com
>> >> >wrote:
>> >>
>> >> > Yes, I'm planning on Lazyboy.
>> >> >
>> >> > The Performance part on the Tornado wiki is quite impressive. Do you
>> >> > think it's accurate?
>> >> >
>> >> > http://www.tornadoweb.org/documentation#performance
>> >>
>> >>
>> >> Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
>> >> loop, so performance is likely less than optimal.  That said, I doubt
>> >> performance is a concern with a web UI.
>> >>
>> >> -Brandon
>> >>
>> >
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Eric Florenzano <fl...@gmail.com>.
Bottom line with this kind of a project is to go with what you're most
familiar with.  If you're equally unfamiliar with all frameworks, then the
quality of documentation becomes more important.

Personally, I'd take a hard look at Werkzeug--it's a library, not a
framework.  Which means you get to pick and choose what bits you want in a
sort of a-la-carte way.  In the end, similarly to Pylons or Django, you get
a WSGI app that can be served out of the many different WSGI-aware web
servers like Apache's mod_wsgi, gunicorn, cherrypy, or even the builtin
wsgiref from the standard library.

Anyway, I'm not sure if that helps or makes things more confusing :)

Thanks,
Eric Florenzano

On Fri, Apr 9, 2010 at 10:23 AM, Pablo Cuadrado <pa...@gmail.com>wrote:

> It is indeed a web framework, and made for sys admins to interact with
> Cassandra, not for hosting millions of users concurrently.
>
> And you're right: those are helloworld benchmarks.
>
> I was concerned a few days ago about the sync/async issue, browsing
> over examples on Telephus, Twissandra, Lazyboy, Pycassa... then I
> thought that Lazyboy is largely being used in production AFAIK, so
> I've just kept it in my mind.
>
> However, the communication layer for the web UI, should (and hopefully
> it will) be independent, in case we want to make this changes in the
> future.
>
> On Fri, Apr 9, 2010 at 2:10 PM, Joseph Bowman <bo...@gmail.com>
> wrote:
> > I don't really consider any hello world benchmarks valid, you'd want to
> > investigate what your implementation would entail in different frameworks
> > and do mini-benchmarks to validate which is faster. But, if it's just a
> web
> > framework, as Brandon said, I doubt performance will matter to any great
> > degree. You'd be more concerned about Cassandra's performance, which is
> > pretty darn good.
> >
> > On Fri, Apr 9, 2010 at 1:07 PM, Brandon Williams <dr...@gmail.com>
> wrote:
> >
> >> On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <
> pablocuadrado@gmail.com
> >> >wrote:
> >>
> >> > Yes, I'm planning on Lazyboy.
> >> >
> >> > The Performance part on the Tornado wiki is quite impressive. Do you
> >> > think it's accurate?
> >> >
> >> > http://www.tornadoweb.org/documentation#performance
> >>
> >>
> >> Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
> >> loop, so performance is likely less than optimal.  That said, I doubt
> >> performance is a concern with a web UI.
> >>
> >> -Brandon
> >>
> >
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
It is indeed a web framework, and made for sys admins to interact with
Cassandra, not for hosting millions of users concurrently.

And you're right: those are helloworld benchmarks.

I was concerned a few days ago about the sync/async issue, browsing
over examples on Telephus, Twissandra, Lazyboy, Pycassa... then I
thought that Lazyboy is largely being used in production AFAIK, so
I've just kept it in my mind.

However, the communication layer for the web UI, should (and hopefully
it will) be independent, in case we want to make this changes in the
future.

On Fri, Apr 9, 2010 at 2:10 PM, Joseph Bowman <bo...@gmail.com> wrote:
> I don't really consider any hello world benchmarks valid, you'd want to
> investigate what your implementation would entail in different frameworks
> and do mini-benchmarks to validate which is faster. But, if it's just a web
> framework, as Brandon said, I doubt performance will matter to any great
> degree. You'd be more concerned about Cassandra's performance, which is
> pretty darn good.
>
> On Fri, Apr 9, 2010 at 1:07 PM, Brandon Williams <dr...@gmail.com> wrote:
>
>> On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <pablocuadrado@gmail.com
>> >wrote:
>>
>> > Yes, I'm planning on Lazyboy.
>> >
>> > The Performance part on the Tornado wiki is quite impressive. Do you
>> > think it's accurate?
>> >
>> > http://www.tornadoweb.org/documentation#performance
>>
>>
>> Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
>> loop, so performance is likely less than optimal.  That said, I doubt
>> performance is a concern with a web UI.
>>
>> -Brandon
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Joseph Bowman <bo...@gmail.com>.
I don't really consider any hello world benchmarks valid, you'd want to
investigate what your implementation would entail in different frameworks
and do mini-benchmarks to validate which is faster. But, if it's just a web
framework, as Brandon said, I doubt performance will matter to any great
degree. You'd be more concerned about Cassandra's performance, which is
pretty darn good.

On Fri, Apr 9, 2010 at 1:07 PM, Brandon Williams <dr...@gmail.com> wrote:

> On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <pablocuadrado@gmail.com
> >wrote:
>
> > Yes, I'm planning on Lazyboy.
> >
> > The Performance part on the Tornado wiki is quite impressive. Do you
> > think it's accurate?
> >
> > http://www.tornadoweb.org/documentation#performance
>
>
> Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
> loop, so performance is likely less than optimal.  That said, I doubt
> performance is a concern with a web UI.
>
> -Brandon
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Brandon Williams <dr...@gmail.com>.
On Fri, Apr 9, 2010 at 12:04 PM, Pablo Cuadrado <pa...@gmail.com>wrote:

> Yes, I'm planning on Lazyboy.
>
> The Performance part on the Tornado wiki is quite impressive. Do you
> think it's accurate?
>
> http://www.tornadoweb.org/documentation#performance


Using Lazyboy, you'd be mixing blocking sockets with a nonblocking event
loop, so performance is likely less than optimal.  That said, I doubt
performance is a concern with a web UI.

-Brandon

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Yes, I'm planning on Lazyboy.

The Performance part on the Tornado wiki is quite impressive. Do you
think it's accurate?

http://www.tornadoweb.org/documentation#performance



On Fri, Apr 9, 2010 at 2:02 PM, Joseph Bowman <bo...@gmail.com> wrote:
> A little different approach than Twisted, a lot less there, and yea no
> thrift generator, but if you plan on using Lazyboy you'd be fine.
>
> On Fri, Apr 9, 2010 at 12:59 PM, Brandon Williams <dr...@gmail.com> wrote:
>
>> On Fri, Apr 9, 2010 at 11:57 AM, Pablo Cuadrado <pablocuadrado@gmail.com
>> >wrote:
>>
>> > Joseph:
>> >
>> > Is it somehow similar to Twisted? am I wrong?
>>
>>
>> Yes, minus every protocol other than HTTP, daemonization utils, etc.  Oh,
>> and thrift doesn't have a generator for it last I checked.
>>
>> -Brandon
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Joseph Bowman <bo...@gmail.com>.
A little different approach than Twisted, a lot less there, and yea no
thrift generator, but if you plan on using Lazyboy you'd be fine.

On Fri, Apr 9, 2010 at 12:59 PM, Brandon Williams <dr...@gmail.com> wrote:

> On Fri, Apr 9, 2010 at 11:57 AM, Pablo Cuadrado <pablocuadrado@gmail.com
> >wrote:
>
> > Joseph:
> >
> > Is it somehow similar to Twisted? am I wrong?
>
>
> Yes, minus every protocol other than HTTP, daemonization utils, etc.  Oh,
> and thrift doesn't have a generator for it last I checked.
>
> -Brandon
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Brandon Williams <dr...@gmail.com>.
On Fri, Apr 9, 2010 at 11:57 AM, Pablo Cuadrado <pa...@gmail.com>wrote:

> Joseph:
>
> Is it somehow similar to Twisted? am I wrong?


Yes, minus every protocol other than HTTP, daemonization utils, etc.  Oh,
and thrift doesn't have a generator for it last I checked.

-Brandon

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Joseph:

Is it somehow similar to Twisted? am I wrong?

On Fri, Apr 9, 2010 at 1:55 PM, Joseph Bowman <bo...@gmail.com> wrote:
> Well Tornado is light weight, it is it's own web server as well, so no need
> to run something like apache in front of it, and is a nice light framework.
> It's an eventd style process, so supports lots of connections very well,
> which would give you more flexibility is designing clients to work with it.
>
> http://www.tornadoweb.org/
>
> On Fri, Apr 9, 2010 at 12:51 PM, Pablo Cuadrado <pa...@gmail.com>wrote:
>
>> Gabriele:
>>
>> Yes, the idea is to make it light-weighted. However, I may add: it
>> would be nice (for us all) to use a framework which the community
>> feels comfortable with.
>>
>> I'm trying to find a balance between features and footprint, having a
>> small footprint is very important, but also, we want something
>> scalable for adding features on next versions of the UI.
>>
>> Sessions, IMHO, are useful in many ways on web interfaces, for
>> example, in user authentication (which the UI should have),
>> preferences, etc.
>>
>> On Fri, Apr 9, 2010 at 1:42 PM, gabriele renzi <rf...@gmail.com> wrote:
>> > On Fri, Apr 9, 2010 at 4:55 PM, Pablo Cuadrado <pa...@gmail.com>
>> wrote:
>> >> - Really small footprint is a plus: "do we really need to include
>> >> that, and that, and that other thing?"
>> >
>> > as I can imagine your app won't have any state per se, so you don't
>> > have any DB issues, you probably won't even need sessions, why not use
>> > simpler environments? I loved CherryPy some years ago, and there are
>> > plenty of new microframeworks such as Bottle which seem more fitting
>> > to _this_ bullet point than django and pylons.
>> >
>>
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Joseph Bowman <bo...@gmail.com>.
Well Tornado is light weight, it is it's own web server as well, so no need
to run something like apache in front of it, and is a nice light framework.
It's an eventd style process, so supports lots of connections very well,
which would give you more flexibility is designing clients to work with it.

http://www.tornadoweb.org/

On Fri, Apr 9, 2010 at 12:51 PM, Pablo Cuadrado <pa...@gmail.com>wrote:

> Gabriele:
>
> Yes, the idea is to make it light-weighted. However, I may add: it
> would be nice (for us all) to use a framework which the community
> feels comfortable with.
>
> I'm trying to find a balance between features and footprint, having a
> small footprint is very important, but also, we want something
> scalable for adding features on next versions of the UI.
>
> Sessions, IMHO, are useful in many ways on web interfaces, for
> example, in user authentication (which the UI should have),
> preferences, etc.
>
> On Fri, Apr 9, 2010 at 1:42 PM, gabriele renzi <rf...@gmail.com> wrote:
> > On Fri, Apr 9, 2010 at 4:55 PM, Pablo Cuadrado <pa...@gmail.com>
> wrote:
> >> - Really small footprint is a plus: "do we really need to include
> >> that, and that, and that other thing?"
> >
> > as I can imagine your app won't have any state per se, so you don't
> > have any DB issues, you probably won't even need sessions, why not use
> > simpler environments? I loved CherryPy some years ago, and there are
> > plenty of new microframeworks such as Bottle which seem more fitting
> > to _this_ bullet point than django and pylons.
> >
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by Pablo Cuadrado <pa...@gmail.com>.
Gabriele:

Yes, the idea is to make it light-weighted. However, I may add: it
would be nice (for us all) to use a framework which the community
feels comfortable with.

I'm trying to find a balance between features and footprint, having a
small footprint is very important, but also, we want something
scalable for adding features on next versions of the UI.

Sessions, IMHO, are useful in many ways on web interfaces, for
example, in user authentication (which the UI should have),
preferences, etc.

On Fri, Apr 9, 2010 at 1:42 PM, gabriele renzi <rf...@gmail.com> wrote:
> On Fri, Apr 9, 2010 at 4:55 PM, Pablo Cuadrado <pa...@gmail.com> wrote:
>> - Really small footprint is a plus: "do we really need to include
>> that, and that, and that other thing?"
>
> as I can imagine your app won't have any state per se, so you don't
> have any DB issues, you probably won't even need sessions, why not use
> simpler environments? I loved CherryPy some years ago, and there are
> plenty of new microframeworks such as Bottle which seem more fitting
> to _this_ bullet point than django and pylons.
>

Re: python web framework suggestions (for Cassandra Web UI) needed

Posted by gabriele renzi <rf...@gmail.com>.
On Fri, Apr 9, 2010 at 4:55 PM, Pablo Cuadrado <pa...@gmail.com> wrote:
> - Really small footprint is a plus: "do we really need to include
> that, and that, and that other thing?"

as I can imagine your app won't have any state per se, so you don't
have any DB issues, you probably won't even need sessions, why not use
simpler environments? I loved CherryPy some years ago, and there are
plenty of new microframeworks such as Bottle which seem more fitting
to _this_ bullet point than django and pylons.