Python web service ...

N

nicolasg

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 ?
 
R

Ramon Diaz-Uriarte

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.
 
N

NicolasG

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.

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.
 
T

Tim Williams

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

:)
 
R

Ravi Teja

Tim said:
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.
 
I

iapain

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.
 
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.
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

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
 
B

Bruno Desthuilliers

(e-mail address removed) 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.
 
J

Jorge Vargas

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?
 
N

Nicolas G

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 ?

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?
 
G

Gabriel Genellina

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
 
N

NicolasG

You mean to use only python HTTP socket library ?
I never had use sockets before, it has a big learning curve ?
 
S

Steve Holden

NicolasG wrote (top-posting, which is very naughty ...):
> 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
 
G

Gabriel Genellina

You mean to use only python HTTP socket library ?
I never had use sockets before, it has a big learning curve ?

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
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,225
Members
46,815
Latest member
treekmostly22

Latest Threads

Top