Event-driven framework (other than Twisted)?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Phillip B Oldham

    #1

    Event-driven framework (other than Twisted)?

    Are there any python event driven frameworks other than twisted?
  • Lie Ryan

    #2
    Re: Event-driven framework (other than Twisted)?

    On Wed, 01 Oct 2008 01:01:41 -0700, Phillip B Oldham wrote:
    Are there any python event driven frameworks other than twisted?
    Most GUI package use event-driven model (e.g. Tkinter).

    Comment

    • Phillip B Oldham

      #3
      Re: Event-driven framework (other than Twisted)?

      On Oct 1, 9:25 am, Lie Ryan <lie.1...@gmail .comwrote:
      Most GUI package use event-driven model (e.g. Tkinter).
      I've noticed that. I'm thinking more for a web environment (instead of
      MVC) or as a HTTP server. I know Twisted has TwistedWeb, but I'm
      looking for alternatives.

      Comment

      • Thomas Guettler

        #4
        Re: Event-driven framework (other than Twisted)?

        Phillip B Oldham schrieb:
        On Oct 1, 9:25 am, Lie Ryan <lie.1...@gmail .comwrote:
        >Most GUI package use event-driven model (e.g. Tkinter).
        >
        I've noticed that. I'm thinking more for a web environment (instead of
        MVC) or as a HTTP server. I know Twisted has TwistedWeb, but I'm
        looking for alternatives.
        Please explain what you want to do. Maybe the spread toolkit
        can help you:



        HTH,
        Thomas


        --
        Thomas Guettler, http://www.thomas-guettler.de/
        E-Mail: guettli (*) thomas-guettler + de

        Comment

        • Phillip B Oldham

          #5
          Re: Event-driven framework (other than Twisted)?

          On Oct 1, 4:12 pm, Thomas Guettler <h...@tbz-pariv.dewrote:
          Please explain what you want to do.
          I'm primarily looking for alternatives to MVC frameworks for web
          development, particularly SAAS. I've looked around, and some
          whitepapers suggest that event-based frameworks often perform better
          than MVC. Since I'm looking at SAAS, having a "view" is pretty
          pointless since I'll either be using Thrift, returning simple HTTP
          headers, or returning some sort of JSON/YAML/XML content (possibly
          based on accept headers).

          Comment

          • Bruno Desthuilliers

            #6
            Re: Event-driven framework (other than Twisted)?

            Phillip B Oldham a écrit :
            On Oct 1, 4:12 pm, Thomas Guettler <h...@tbz-pariv.dewrote:
            >Please explain what you want to do.
            >
            I'm primarily looking for alternatives to MVC frameworks for web
            development, particularly SAAS. I've looked around, and some
            whitepapers suggest that event-based frameworks often perform better
            than MVC. Since I'm looking at SAAS, having a "view" is pretty
            pointless since I'll either be using Thrift, returning simple HTTP
            headers, or returning some sort of JSON/YAML/XML content (possibly
            based on accept headers).
            "view" doesn't imply (x)html - any valid HTTP response is ok. The whole
            point of decoupling controler from view (in web MVC) is to allow the
            same controler to return different views.

            Comment

            • Lie Ryan

              #7
              Re: Event-driven framework (other than Twisted)?

              On Wed, 01 Oct 2008 18:09:20 +0200, Bruno Desthuilliers wrote:
              Phillip B Oldham a écrit :
              >On Oct 1, 4:12 pm, Thomas Guettler <h...@tbz-pariv.dewrote:
              >>Please explain what you want to do.
              >>
              >I'm primarily looking for alternatives to MVC frameworks for web
              >development, particularly SAAS. I've looked around, and some
              >whitepapers suggest that event-based frameworks often perform better
              >than MVC. Since I'm looking at SAAS, having a "view" is pretty
              >pointless since I'll either be using Thrift, returning simple HTTP
              >headers, or returning some sort of JSON/YAML/XML content (possibly
              >based on accept headers).
              >
              "view" doesn't imply (x)html - any valid HTTP response is ok. The whole
              point of decoupling controler from view (in web MVC) is to allow the
              same controler to return different views.
              In fact, MVC and event-driven is two entirely different concept. You can
              have both, or none. It is, in the end, your choice which one to use or
              whether you want to use both or none.

              Event-driven programming is a concept that your programs are entirely
              composed of function definition and binding that function definition to
              events. The rest is handled by a mainloop, which calls the appropriate
              functions when it receives something.

              MVC is a separation of concern. In MVC code you want that there is a
              clear boundary between code that handles Model, View, and Controller, so
              it'd be easier to manage the code.

              Comment

              • John Krukoff

                #8
                Re: Event-driven framework (other than Twisted)?

                You could take a look at this interesting looking server that popped up
                on the mailing list a while back:



                On Wed, 2008-10-01 at 01:01 -0700, Phillip B Oldham wrote:
                Are there any python event driven frameworks other than twisted?
                --
                http://mail.python.org/mailman/listinfo/python-list
                --
                John Krukoff <jkrukoff@ltgc. com>
                Land Title Guarantee Company

                Comment

                • Phillip B Oldham

                  #9
                  Re: Event-driven framework (other than Twisted)?

                  On Oct 1, 6:53 pm, Lie Ryan <lie.1...@gmail .comwrote:
                  In fact, MVC and event-driven is two entirely different concept. You can
                  have both, or none. It is, in the end, your choice which one to use or
                  whether you want to use both or none.
                  >
                  Event-driven programming is a concept that your programs are entirely
                  composed of function definition and binding that function definition to
                  events. The rest is handled by a mainloop, which calls the appropriate
                  functions when it receives something.
                  >
                  MVC is a separation of concern. In MVC code you want that there is a
                  clear boundary between code that handles Model, View, and Controller, so
                  it'd be easier to manage the code.
                  So are there any other patterns that can be used in stead of MVC?

                  Comment

                  • James Mills

                    #10
                    Re: Event-driven framework (other than Twisted)?

                    On Wed, Oct 1, 2008 at 6:01 PM, Phillip B Oldham
                    <phillip.oldham @gmail.comwrote :
                    Are there any python event driven frameworks other than twisted?
                    Phillip, I have been developing a rather unique
                    event-driven and component architecture library
                    for quite some time that is (not twisted). Actually
                    it's nothing like twisted, but based on 2 core
                    concepts:
                    * Everything is a Component
                    * Everything is an Event

                    It's currently called pymills.event
                    Let me know if you're interested, I probably
                    plan to re-package and re-branch this library
                    (the event library) at some point.

                    Here's a small snippet showing off some of
                    pymills.event's features:

                    <code>
                    #!/usr/bin/env python
                    # -*- coding: utf-8 -*- # vim: set sw=3 sts=3 ts=3

                    from pymills import event
                    from pymills.event import *

                    class TodoList(Compon ent):

                    todos = {}

                    def add(self, name, description):
                    assert name not in self.todos, "To-do already in list"
                    self.todos[name] = description
                    self.push(Event (name, description), "added")

                    class TodoPrinter(Com ponent):

                    @listener("adde d")
                    def onADDED(self, name, description):
                    print "TODO: %s" % name
                    print " %s" % description

                    def main():
                    event.manager += TodoPrinter()
                    todo = TodoList()
                    event.manager += todo

                    todo.add("Make coffee", "Really need to make some coffee")
                    todo.add("Bug triage", "Double-check that all known issues were addressed")

                    for value in manager:
                    print value

                    if __name__ == "__main__":
                    main()
                    </code>

                    This example is based on a similar example provided
                    by the Trac project (which was also to show of it's
                    Component architecture).

                    Thanks,

                    cheers
                    James

                    --
                    --
                    -- "Problems are solved by method"

                    Comment

                    • James Mills

                      #11
                      Re: Event-driven framework (other than Twisted)?

                      On Wed, Oct 1, 2008 at 6:55 PM, Phillip B Oldham
                      <phillip.oldham @gmail.comwrote :
                      I've noticed that. I'm thinking more for a web environment (instead of
                      MVC) or as a HTTP server. I know Twisted has TwistedWeb, but I'm
                      looking for alternatives.
                      Again with pymills, here's an alternative:



                      I have built 2 commercial web applications using my
                      pymills library and it's web server components (see
                      simple example above).

                      NB: I do not plan to write yet another framework :) but instead a set
                      of re-usable and flexible components.

                      cheers
                      James

                      --
                      --
                      -- "Problems are solved by method"

                      Comment

                      • James Mills

                        #12
                        Re: Event-driven framework (other than Twisted)?

                        On Thu, Oct 2, 2008 at 2:09 AM, Bruno Desthuilliers
                        <bruno.42.desth uilliers@websit eburo.invalidwr ote:
                        "view" doesn't imply (x)html - any valid HTTP response is ok. The whole
                        point of decoupling controler from view (in web MVC) is to allow the same
                        controler to return different views.
                        There is an alternative to the MVC architecture, and that is to have a
                        set of Resources that are used by any User Interface, be on the Web,
                        Desktop or Console, as long as it understands HTTP (but it doesn't
                        have to restrict itself to the HTTP transport).

                        Normally the applications I build don't use your typical MVC model
                        or any MVC framework (as mentioned earlier, I've used pymills). I take
                        the CRUX/RESTful approach and build a set of resources for my
                        application and SaaS. Then I build a User Interface (normally I use ExtJS)j.

                        cheers
                        James

                        --
                        --
                        -- "Problems are solved by method"

                        Comment

                        • Phillip B Oldham

                          #13
                          Re: Event-driven framework (other than Twisted)?

                          On Oct 2, 1:32 am, "James Mills" <prolo...@short circuit.net.auw rote:Thanks for the example, but its not loading.

                          Comment

                          • Phillip B Oldham

                            #14
                            Re: Event-driven framework (other than Twisted)?

                            On Oct 2, 1:28 am, "James Mills" <prolo...@short circuit.net.auw rote:
                            Phillip, I have been developing a rather unique
                            event-driven and component architecture library
                            for quite some time that is (not twisted). Actually
                            it's nothing like twisted, but based on 2 core
                            concepts:
                             * Everything is a Component
                             * Everything is an Event
                            >
                            It's currently called pymills.event
                            Let me know if you're interested, I probably
                            plan to re-package and re-branch this library
                            (the event library) at some point.
                            I'd be very interested in seeing this. Component-based programming is
                            something which interests me also.

                            Comment

                            • James Mills

                              #15
                              Re: Event-driven framework (other than Twisted)?

                              On 10/2/08, Phillip B Oldham <phillip.oldham @gmail.comwrote :
                              On Oct 2, 1:28 am, "James Mills" <prolo...@short circuit.net.auw rote:
                              Phillip, I have been developing a rather unique
                              event-driven and component architecture library
                              for quite some time that is (not twisted). Actually
                              it's nothing like twisted, but based on 2 core
                              concepts:
                              * Everything is a Component
                              * Everything is an Event
                              >
                              It's currently called pymills.event
                              Let me know if you're interested, I probably
                              plan to re-package and re-branch this library
                              (the event library) at some point.
                              >
                              >
                              I'd be very interested in seeing this. Component-based programming is
                              something which interests me also.
                              Phillip, you can normally clone my library using
                              Mercurial by doing:

                              $ hg clone http://hg.shortcircuit.net.au/pymills/

                              If my VPS is still down, email me and I'll send you
                              a tar.bz2 (or something).

                              It may also interest you to know that I've ported
                              my library to py3k and so far all tests are working :)

                              Thanks,

                              cheers
                              James

                              --
                              --
                              -- "Problems are solved by method"

                              Comment

                              Working...