Python web service ...

Discussion in 'Python' started by nicolasg@gmail.com, Aug 26, 2006.

  1. Guest

    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 ?
     
    , Aug 26, 2006
    #1
    1. Advertising

  2. On 26 Aug 2006 04:07:35 -0700, <> wrote:
    > 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)
    http://ligarto.org/rdiaz
     
    Ramon Diaz-Uriarte, Aug 26, 2006
    #2
    1. Advertising

  3. NicolasG Guest

    > 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.
     
    NicolasG, Aug 26, 2006
    #3
  4. Tim Williams Guest

    > 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 :)

    www.karrigell.com

    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.

    http://karrigell.no-ip.info/demo/frame_tour_en.htm

    :)
     
    Tim Williams, Aug 26, 2006
    #4
  5. Ravi Teja Guest

    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 :)
    >
    > www.karrigell.com
    >
    > 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.
    >
    > http://karrigell.no-ip.info/demo/frame_tour_en.htm
    >
    > :)


    I second Karrigell on simplicity. Zope despite recent improvements,
    still has a steep learning curve.
     
    Ravi Teja, Aug 26, 2006
    #5
  6. iapain Guest

    > 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.
     
    iapain, Aug 26, 2006
    #6
  7. On 26 Aug 2006 09:12:50 -0700, NicolasG <> wrote:
    > > 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.
     
    Ramon Diaz-Uriarte, Aug 26, 2006
    #7
  8. 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
     
    =?iso-8859-1?q?Luis_M._Gonz=E1lez?=, Aug 27, 2006
    #8
  9. 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_python, or a standalone Python
    web server like CherryPy.
     
    Bruno Desthuilliers, Aug 28, 2006
    #9
  10. Jorge Vargas Guest

    On 26 Aug 2006 04:07:35 -0700, <> wrote:
    > 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?
    >
    > --
    > http://mail.python.org/mailman/listinfo/python-list
    >
     
    Jorge Vargas, Aug 28, 2006
    #10
  11. Nicolas G Guest

    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 <> wrote:
    > On 26 Aug 2006 04:07:35 -0700, <> wrote:
    > > 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?
    > >
    > > --
    > > http://mail.python.org/mailman/listinfo/python-list
    > >

    >



    --
    Nicolas G

    mobile: +30 69 45 714 578
     
    Nicolas G, Aug 29, 2006
    #11
  12. 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. SimpleHTTPServer

    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
     
    Gabriel Genellina, Aug 29, 2006
    #12
  13. NicolasG Guest

    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. SimpleHTTPServer
    >
    > 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
     
    NicolasG, Aug 30, 2006
    #13
  14. Steve Holden Guest

    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. SimpleHTTPServer
    >>
    >> 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 SimpleHTTPServer 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
     
    Steve Holden, Aug 30, 2006
    #14
  15. 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. SimpleHTTPServer 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!
    http://www.yahoo.com.ar/respuestas
     
    Gabriel Genellina, Aug 30, 2006
    #15
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. hocho888
    Replies:
    1
    Views:
    646
  2. Michael Averstegge
    Replies:
    0
    Views:
    4,241
    Michael Averstegge
    Jan 10, 2006
  3. Not Me
    Replies:
    1
    Views:
    3,189
    Not Me
    Jun 5, 2007
  4. Isaias Formacio Serna

    Web Service that calls an external Web Service

    Isaias Formacio Serna, Jan 28, 2004, in forum: ASP .Net Security
    Replies:
    5
    Views:
    250
  5. Leo Violette
    Replies:
    0
    Views:
    1,055
    Leo Violette
    Apr 17, 2009
Loading...

Share This Page