[openstack-dev] [Fuel][Nailgun] Web framework

Kamil Sambor ksambor at mirantis.com
Wed Dec 3 12:21:52 UTC 2014


Additionaly  to what Przemek wrote, also Pecan is released more often, IMHO
documentation is better written, and described a lot of possibilities of
modification, also as Lukasz wrote in previous thread that Pecan is used in
openstack.

So I'm also for Pecan

Best regards,
Kamil S.

On Wed, Dec 3, 2014 at 12:45 PM, Przemyslaw Kaminski <pkaminski at mirantis.com
> wrote:

>  The only useful paradigm to write in Flask is MethodView's for me [1]
> because decorators seem hard to refactor for large projects. Please look at
> adding URLs -- one has to additionally specify methods to match those from
> the MethodView -- this is code duplication and looks ugly.
>
> It seems though that Fask-RESTful [2] fixes this but then we're dependent
> on 2 projects.
>
> I don't like that Flask uses a global request object [3]. From Flask
> documentation
>
> "Basically you can completely ignore that this is the case unless you are
> doing something like unit testing. You will notice that code which depends
> on a request object will suddenly break because there is no request object.
> The solution is creating a request object yourself and binding it to the
> context."
>
> Yeah, let's make testing even harder...
>
> Pecan looks better in respect of RESTful services [4].
> POST parameters are cleanly passed as arguments to the post method. It
> also provides custom JSON serialization hooks [5] so we can forget about
> explicit serialization in handlers.
>
> So from these 2 choices I'm for Pecan.
>
> [1] http://flask.pocoo.org/docs/0.10/views/#method-views-for-apis
> [2] https://flask-restful.readthedocs.org/en/0.3.0/
> [3] http://flask.pocoo.org/docs/0.10/quickstart/#accessing-request-data
> [4] http://pecan.readthedocs.org/en/latest/rest.html
> [5] http://pecan.readthedocs.org/en/latest/jsonify.html
>
>
> P.
>
>
> On 12/03/2014 10:57 AM, Alexander Kislitsky wrote:
>
>  We had used Flask in the fuel-stats. It was easy and pleasant and all
> project requirements was satisfied. And I saw difficulties and workarounds
> with Pecan, when Nick integrated it into Nailgun.
> So +1 for Flask.
>
>
> On Tue, Dec 2, 2014 at 11:00 PM, Nikolay Markov <nmarkov at mirantis.com>
> wrote:
>
>> Michael, we already solved all issues I described, and I just don't
>> want to solve them once again after moving to another framework. Also,
>> I think, nothing of these wishes contradicts with good API design.
>>
>> On Tue, Dec 2, 2014 at 10:49 PM, Michael Krotscheck
>> <krotscheck at gmail.com> wrote:
>> > This sounds more like you need to pay off technical debt and clean up
>> your
>> > API.
>> >
>> > Michael
>> >
>> > On Tue Dec 02 2014 at 10:58:43 AM Nikolay Markov <nmarkov at mirantis.com>
>> > wrote:
>> >>
>> >> Hello all,
>> >>
>> >> I actually tried to use Pecan and even created a couple of PoCs, but
>> >> there due to historical reasons of how our API is organized it will
>> >> take much more time to implement all workarounds we need to issues
>> >> Pecan doesn't solve out of the box, like working with non-RESTful
>> >> URLs, reverse URL lookup, returning custom body in 404 response,
>> >> wrapping errors to JSON automatically, etc.
>> >>
>> >> As far as I see, each OpenStack project implements its own workarounds
>> >> for these issues, but still it requires much less men and hours for us
>> >> to move to Flask-Restful instead of Pecan, because all these problems
>> >> are already solved there.
>> >>
>> >> BTW, I know a lot of pretty big projects using Flask (it's the second
>> >> most popular Web framework after Django in Python Web community), they
>> >> even have their own "hall of fame":
>> >> http://flask.pocoo.org/community/poweredby/ .
>> >>
>> >> On Tue, Dec 2, 2014 at 7:13 PM, Ryan Brown <rybrown at redhat.com> wrote:
>> >> > On 12/02/2014 09:55 AM, Igor Kalnitsky wrote:
>> >> >> Hi, Sebastian,
>> >> >>
>> >> >> Thank you for raising this topic again.
>> >> >>
>> >> >> [snip]
>> >> >>
>> >> >> Personally, I'd like to use Flask instead of Pecan, because first
>> one
>> >> >> is more production-ready tool and I like its design. But I believe
>> >> >> this should be resolved by voting.
>> >> >>
>> >> >> Thanks,
>> >> >> Igor
>> >> >>
>> >> >> On Tue, Dec 2, 2014 at 4:19 PM, Sebastian Kalinowski
>> >> >> <skalinowski at mirantis.com> wrote:
>> >> >>> Hi all,
>> >> >>>
>> >> >>> [snip explanation+history]
>> >> >>>
>> >> >>> Best,
>> >> >>> Sebastian
>> >> >
>> >> > Given that Pecan is used for other OpenStack projects and has plenty
>> of
>> >> > builtin functionality (REST support, sessions, etc) I'd prefer it
>> for a
>> >> > number of reasons.
>> >> >
>> >> > 1) Wouldn't have to pull in plugins for standard (in Pecan) things
>> >> > 2) Pecan is built for high traffic, where Flask is aimed at much
>> smaller
>> >> > projects
>> >> > 3) Already used by other OpenStack projects, so common patterns can
>> be
>> >> > reused as oslo libs
>> >> >
>> >> > Of course, the Flask community seems larger (though the average flask
>> >> > project seems pretty small).
>> >> >
>> >> > I'm not sure what determines "production readiness", but it seems to
>> me
>> >> > like Fuel developers fall more in Pecan's target audience than in
>> >> > Flask's.
>> >> >
>> >> > My $0.02,
>> >> > Ryan
>> >> >
>> >> > --
>> >> > Ryan Brown / Software Engineer, Openstack / Red Hat, Inc.
>> >> >
>> >> > _______________________________________________
>> >> > OpenStack-dev mailing list
>> >> > OpenStack-dev at lists.openstack.org
>> >> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> >>
>> >>
>> >>
>> >> --
>> >> Best regards,
>> >> Nick Markov
>> >>
>> >> _______________________________________________
>> >> OpenStack-dev mailing list
>> >> OpenStack-dev at lists.openstack.org
>> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> >
>> >
>> > _______________________________________________
>> > OpenStack-dev mailing list
>> > OpenStack-dev at lists.openstack.org
>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>> >
>>
>>
>>
>> --
>> Best regards,
>> Nick Markov
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
>
> _______________________________________________
> OpenStack-dev mailing listOpenStack-dev at lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141203/ba2b9235/attachment.html>


More information about the OpenStack-dev mailing list