Python web service ...

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • nicolasg@gmail.com

    #1

    Python web service ...

    Hi folks, I have accomplished to make a python program that make some
    image manipulation to bmp files.
    I now want to provide this program as a web service. A user can visit a
    site and through a web interface he should upload the file to the web
    server , the server then will do the image process with the python
    program I have wrote and when it finish the user must get the image
    file back .

    My question is how difficult is to set up a web server that can run
    python easy ? should I try ZOPE or there is something better in mind ?

  • Ramon Diaz-Uriarte

    #2
    Re: Python web service ...

    On 26 Aug 2006 04:07:35 -0700, nicolasg@gmail. com <nicolasg@gmail .comwrote:
    Hi folks, I have accomplished to make a python program that make some
    image manipulation to bmp files.
    I now want to provide this program as a web service. A user can visit a
    site and through a web interface he should upload the file to the web
    server , the server then will do the image process with the python
    program I have wrote and when it finish the user must get the image
    file back .
    >
    My question is how difficult is to set up a web server that can run
    python easy ? should I try ZOPE or there is something better in mind ?
    >
    For a one-shot thing, plain old CGI might be enough. You can have a
    static HTML page with the form for the upload, have python do the
    image part, and generate the return HTML with the image with a python
    script. If you plan to do this a lot, or want fairly sophisticated
    stuff, or DB access underneath, authentication, etc, then you might
    want to look at any of the web framewoks. If you don't have the web
    server part already taken care of (e.g., you already have Apache up
    and running) then the web server framework can be more attractive.

    As for web frameworks there is a long list in the Python web site.
    Which framework fits you best might depend on what you want to
    accomplish now and in the future. You can try something simple and
    minimalist (and with docs that you can read in less than an afternoon)
    such as Karrigell, or try something more complex, such as Django,
    TurboGears, Pylons, CherryPy, etc.

    And then, you might try the CGI approach to begin with, and as your
    needs become more complex, move to a framework. (This has been our own
    path: we've used plain CGI for over a year for the web-based
    bioinformatics applications we've developed, that use R and Python for
    computations, and are now moving to framework).

    Good luck!

    R.

    --
    Ramon Diaz-Uriarte
    Bioinformatics Unit
    Spanish National Cancer Centre (CNIO)

    Comment

    • NicolasG

      #3
      Re: Python web service ...

      For a one-shot thing, plain old CGI might be enough. You can have a
      static HTML page with the form for the upload, have python do the
      image part, and generate the return HTML with the image with a python
      script. If you plan to do this a lot, or want fairly sophisticated
      stuff, or DB access underneath, authentication, etc, then you might
      want to look at any of the web framewoks. If you don't have the web
      server part already taken care of (e.g., you already have Apache up
      and running) then the web server framework can be more attractive.
      >
      As for web frameworks there is a long list in the Python web site.
      Which framework fits you best might depend on what you want to
      accomplish now and in the future. You can try something simple and
      minimalist (and with docs that you can read in less than an afternoon)
      such as Karrigell, or try something more complex, such as Django,
      TurboGears, Pylons, CherryPy, etc.
      >
      And then, you might try the CGI approach to begin with, and as your
      needs become more complex, move to a framework. (This has been our own
      path: we've used plain CGI for over a year for the web-based
      bioinformatics applications we've developed, that use R and Python for
      computations, and are now moving to framework).
      >
      Good luck!
      >
      R.
      >
      --
      Ramon Diaz-Uriarte
      At this time right now I prefer to do something that works the quickest
      possible...
      I never had any experience with CGI, do I need to set up a web server
      for that ?
      can you point me some usefull reading material so I can get a start ?
      I will post for a comment at Zope , I had installed once and it was
      very easy. Don't know if it will be easy too to get my job done...

      Gracias Ramon.

      Comment

      • Tim Williams

        #4
        Re: Python web service ...

        At this time right now I prefer to do something that works the quickest
        possible...
        I never had any experience with CGI, do I need to set up a web server
        for that ?
        can you point me some usefull reading material so I can get a start ?
        I will post for a comment at Zope , I had installed once and it was
        very easy. Don't know if it will be easy too to get my job done...
        If you need a quick-start and short learning curve, Karrigell is the
        one to go for. You can have the beginnings of your own site/web-app
        running within minutes of downloading it.

        It now has better CGI handling too - if you must go that route :)



        I recommend the Karrigell tour also, click on the icon next to each
        example to see how each one is coded, and it has a file upload example
        that should get you started.



        :)

        Comment

        • Ravi Teja

          #5
          Re: Python web service ...


          Tim Williams wrote:
          At this time right now I prefer to do something that works the quickest
          possible...
          I never had any experience with CGI, do I need to set up a web server
          for that ?
          can you point me some usefull reading material so I can get a start ?
          I will post for a comment at Zope , I had installed once and it was
          very easy. Don't know if it will be easy too to get my job done...
          >
          If you need a quick-start and short learning curve, Karrigell is the
          one to go for. You can have the beginnings of your own site/web-app
          running within minutes of downloading it.
          >
          It now has better CGI handling too - if you must go that route :)
          >

          >
          I recommend the Karrigell tour also, click on the icon next to each
          example to see how each one is coded, and it has a file upload example
          that should get you started.
          >

          >
          :)
          I second Karrigell on simplicity. Zope despite recent improvements,
          still has a steep learning curve.

          Comment

          • iapain

            #6
            Re: Python web service ...

            My question is how difficult is to set up a web server that can run
            python easy ? should I try ZOPE or there is something better in mind ?
            Just install Apache and run Python as CGI thats the best solution I
            found for my apps. Thats the best and faster way to move python apps on
            web.

            Comment

            • Ramon Diaz-Uriarte

              #7
              Re: Python web service ...

              On 26 Aug 2006 09:12:50 -0700, NicolasG <nicolasg@gmail .comwrote:
              For a one-shot thing, plain old CGI might be enough. You can have a
              static HTML page with the form for the upload, have python do the
              image part, and generate the return HTML with the image with a python
              script. If you plan to do this a lot, or want fairly sophisticated
              stuff, or DB access underneath, authentication, etc, then you might
              want to look at any of the web framewoks. If you don't have the web
              server part already taken care of (e.g., you already have Apache up
              and running) then the web server framework can be more attractive.

              As for web frameworks there is a long list in the Python web site.
              Which framework fits you best might depend on what you want to
              accomplish now and in the future. You can try something simple and
              minimalist (and with docs that you can read in less than an afternoon)
              such as Karrigell, or try something more complex, such as Django,
              TurboGears, Pylons, CherryPy, etc.

              And then, you might try the CGI approach to begin with, and as your
              needs become more complex, move to a framework. (This has been our own
              path: we've used plain CGI for over a year for the web-based
              bioinformatics applications we've developed, that use R and Python for
              computations, and are now moving to framework).

              Good luck!

              R.

              --
              Ramon Diaz-Uriarte
              >
              At this time right now I prefer to do something that works the quickest
              possible...
              I never had any experience with CGI, do I need to set up a web server
              for that ?
              Yes, you'd need to configure a web server. I don't know whether you
              are on windows or Unix/Linux, and that could seriously affect how easy
              it is to set up a web server. Most Linux distros make installing
              apache a piece of cake, but configuring Apache might not be trivial.

              Thus, maybe the fastest and easiest is, as other posters have
              suggested, to try Karrigell.

              can you point me some usefull reading material so I can get a start ?
              I will post for a comment at Zope , I had installed once and it was
              very easy. Don't know if it will be easy too to get my job done...
              >
              But Zope seems to have a steep learning curve and it is a big system.
              It might be a huge hassle for what you want.

              Best,

              R.

              Comment

              • Luis M. González

                #8
                Re: Python web service ...


                nicolasg@gmail. com wrote:
                My question is how difficult is to set up a web server that can run
                python easy ? should I try ZOPE or there is something better in mind ?
                I also second the suggestion of using Karrigell.
                It comes with its own built-in server, and the task would be as simle
                as writing the script and starting the server.

                If performance and scalability is an issue, you could try mod_python,
                which is an Apache module for running python, but this would require
                installing and configuring Apache and mod_python separately.

                luis

                Comment

                • Bruno Desthuilliers

                  #9
                  Re: Python web service ...

                  nicolasg@gmail. com a écrit :
                  Hi folks, I have accomplished to make a python program that make some
                  image manipulation to bmp files.
                  I now want to provide this program as a web service. A user can visit a
                  site and through a web interface he should upload the file to the web
                  server , the server then will do the image process with the python
                  program I have wrote and when it finish the user must get the image
                  file back .
                  >
                  My question is how difficult is to set up a web server that can run
                  python easy ? should I try ZOPE or there is something better in mind ?
                  Unless you have other compelling reasons to use Zope, you would be
                  better IMHO with either CGI, apache+mod_pyth on, or a standalone Python
                  web server like CherryPy.

                  Comment

                  • Jorge Vargas

                    #10
                    Re: Python web service ...

                    On 26 Aug 2006 04:07:35 -0700, nicolasg@gmail. com <nicolasg@gmail .comwrote:
                    Hi folks, I have accomplished to make a python program that make some
                    image manipulation to bmp files.
                    I now want to provide this program as a web service. A user can visit a
                    site and through a web interface he should upload the file to the web
                    server , the server then will do the image process with the python
                    program I have wrote and when it finish the user must get the image
                    file back .
                    >
                    My question is how difficult is to set up a web server that can run
                    python easy ? should I try ZOPE or there is something better in mind ?
                    is that webservice or webserver?
                    if webservice try ZSI of it's a webserver why don't you try CherryPy?

                    Comment

                    • Nicolas G

                      #11
                      Re: Python web service ...

                      If I want to run my program as a web service I need to setup a
                      webserver , am I right ?
                      Whars that difference ? can a webservice be run without a webserver ?

                      On 8/29/06, Jorge Vargas <jorge.vargas@g mail.comwrote:
                      On 26 Aug 2006 04:07:35 -0700, nicolasg@gmail. com <nicolasg@gmail .comwrote:
                      Hi folks, I have accomplished to make a python program that make some
                      image manipulation to bmp files.
                      I now want to provide this program as a web service. A user can visit a
                      site and through a web interface he should upload the file to the web
                      server , the server then will do the image process with the python
                      program I have wrote and when it finish the user must get the image
                      file back .

                      My question is how difficult is to set up a web server that can run
                      python easy ? should I try ZOPE or there is something better in mind ?
                      >
                      is that webservice or webserver?
                      if webservice try ZSI of it's a webserver why don't you try CherryPy?>

                      --
                      Nicolas G

                      mobile: +30 69 45 714 578

                      Comment

                      • Gabriel Genellina

                        #12
                        Re: Python web service ...

                        At Monday 28/8/2006 20:45, Nicolas G wrote:
                        >If I want to run my program as a web service I need to setup a
                        >webserver , am I right ?
                        >Whars that difference ? can a webservice be run without a webserver ?
                        Well, a webservice uses HTTP as its transport protocol, so you need
                        an HTTP server, but you don't have to use a full-blown web server to
                        implement it. SimpleHTTPServe r

                        in the standard library may be enough.



                        Gabriel Genellina
                        Softlab SRL





                        _______________ _______________ _______________ _____
                        Preguntá. Respondé. Descubrí.
                        Todo lo que querías saber, y lo que ni imaginabas,
                        está en Yahoo! Respuestas (Beta).
                        ¡Probalo ya!


                        Comment

                        • NicolasG

                          #13
                          Re: Python web service ...

                          You mean to use only python HTTP socket library ?
                          I never had use sockets before, it has a big learning curve ?
                          Gabriel Genellina wrote:
                          At Monday 28/8/2006 20:45, Nicolas G wrote:
                          >
                          If I want to run my program as a web service I need to setup a
                          webserver , am I right ?
                          Whars that difference ? can a webservice be run without a webserver ?
                          >
                          Well, a webservice uses HTTP as its transport protocol, so you need
                          an HTTP server, but you don't have to use a full-blown web server to
                          implement it. SimpleHTTPServe r
                          >
                          in the standard library may be enough.
                          >
                          >
                          >
                          Gabriel Genellina
                          Softlab SRL
                          >
                          >
                          >
                          >
                          >
                          _______________ _______________ _______________ _____
                          Preguntá. Respondé. Descubrí.
                          Todo lo que querías saber, y lo que ni imaginabas,
                          está en Yahoo! Respuestas (Beta).
                          ¡Probalo ya!
                          http://www.yahoo.com.ar/respuestas

                          Comment

                          • Steve Holden

                            #14
                            Re: Python web service ...

                            NicolasG wrote (top-posting, which is very naughty ...):
                            >>At Monday 28/8/2006 20:45, Nicolas G wrote:
                            >>
                            >>
                            >>>If I want to run my program as a web service I need to setup a
                            >>>webserver , am I right ?
                            >>>Whars that difference ? can a webservice be run without a webserver ?
                            >>
                            >>Well, a webservice uses HTTP as its transport protocol, so you need
                            >>an HTTP server, but you don't have to use a full-blown web server to
                            >>implement it. SimpleHTTPServe r
                            >>
                            >in the standard library may be enough.
                            >>
                            You mean to use only python HTTP socket library ?
                            I never had use sockets before, it has a big learning curve ?
                            Gabriel Genellina wrote:
                            >
                            He's actually suggesting you use the SimpleHTTPServe r library, which
                            itself uses the socket library. All you really need to do is subclass
                            the main clas defining your own (?) handle_request( ) (?) method.

                            This server is not design for industrial-strength networking but it's
                            fine if you need either a low-volume server or something to experiment with.

                            regards
                            Steve
                            --
                            Steve Holden +44 150 684 7255 +1 800 494 3119
                            Holden Web LLC/Ltd http://www.holdenweb.com
                            Skype: holdenweb http://holdenweb.blogspot.com
                            Recent Ramblings http://del.icio.us/steve.holden

                            Comment

                            • Gabriel Genellina

                              #15
                              Re: Python web service ...

                              At Wednesday 30/8/2006 07:25, NicolasG wrote:
                              >You mean to use only python HTTP socket library ?
                              >I never had use sockets before, it has a big learning curve ?
                              >If I want to run my program as a web service I need to setup a
                              >webserver , am I right ?
                              >Whars that difference ? can a webservice be run without a webserver ?
                              Well, a webservice uses HTTP as its transport protocol, so you need
                              an HTTP server, but you don't have to use a full-blown web server to
                              implement it. SimpleHTTPServe r in the standard library may be enough.
                              You don't need to know about sockets more than you need to know how a
                              diesel engine works in order to drive a car.
                              A webservice *uses* HTTP as a transport protocol - any HTTP server would do.

                              PS: Top posting is not a good idea...



                              Gabriel Genellina
                              Softlab SRL





                              _______________ _______________ _______________ _____
                              Preguntá. Respondé. Descubrí.
                              Todo lo que querías saber, y lo que ni imaginabas,
                              está en Yahoo! Respuestas (Beta).
                              ¡Probalo ya!


                              Comment

                              Working...