At the CherryPy BOF[1] at Pycon in Chicago we discussed how people are
using CherryPy in lots of different ways. We're afraid people aren't
grokking how flexible CherryPy is just by briefly glancing at the web
site and thought having some interesting case studies would be useful.
schmichael wrote: > If your company deploys CherryPy or you've used CherryPy for a client, > I'd love to hear the story. Here's a basic format you could follow:
I'll start:
Where are you using Cherrypy? etsy.com What do you do with CherryPy? We built the "gift guides" feature [1] using CherryPy. How is CherryPy deployed? Behind BigIP F5's, then lighttpd using FastCGI How long have you used CherryPy? Six months. Why did you choose CherryPy? I work there. ;) We also chose it for its "get out of the way" approach and extreme extensibility.
On Mar 18, 1:16 pm, schmichael <michael.schur...@gmail.com> wrote:
> Where are you using Cherrypy?
YouGov, Plc. (http://www.yougov.com). We're an international survey
research organization
> What do you do with CherryPy?
We use CherryPy for key systems, both internal and public. Our
CherryPy-based proprietary survey system, for example, conducts
several million surveys a year.
We've been building our HTTP applications on CherryPy since 2005.
> Why did you choose CherryPy?
CherryPy provides an excellent HTTP implementation and a elegant tool
system to hook into various stages of the response process. It does
just the right amount to create a flexible yet simple platform to
build specialized web frameworks and applications for our diverse
business requirements. Over years of use it has proven its maturity--
uptime and predictability is key for us, and CherryPy has never let us
down.
On Mar 18, 8:16 pm, schmichael <michael.schur...@gmail.com> wrote:
> If your company deploys CherryPy or you've used CherryPy for a client,
> I'd love to hear the story. Here's a basic format you could follow:
Where are you using Cherrypy?
The Shetland Sheeep Society, and other small UK breed
societies
What do you do with CherryPy?
I'm re-implementing/re-designing a registrations and membership
database I wrote and developed over the last 14 years or so using
Paradox for Windows as a web service.
How is CherryPy deployed?
For early testing as CGI with suexec. However I have deployment
scripts to run behind mod_python, mod_wsgi and with the CherryPy
server standalone or behind Apache.
How long have you used CherryPy?
For six months or so - since I started implementing my redesign
of the original application.
Why did you choose CherryPy?
Because it's the only framework I found that:
Saves me a lot of work handling HTTP
Doesn't tie me to anyone's pre-conceived ideas of what else I
need - I can't see the point of an ORM, SQL isn't that bad and
Python's DB-API does the escaping for me. Ditto a template language -
Python has good enough string handling methods.
Is incredibly flexible in it's configuration.
The Tools hooking facility enables the behaviour to be modified
very easily, eg a few lines of code takes care of input sanitising, a
few more (from the CherryPy Essentials book) allows me to abstract
document generation in case I ever want to use a templating system,
and a (lot) more allows me to add my own authentication and
authorisation scheme - all configurable at a high level of granularity
with the CherryPy configuration facility.
Inital pages can be seen at www.somborneshetlands.co.uk. This has
pages for Shetland Sheep and Shetland Cattle - two applications using
essentially the same code but each mounted on it's own tree below the
server root. The Cattle pages are password protected (for political
reasons - don't ask!) using an early version of my authentication
tool.
We are a medium/large distressed hedge fund in Greenwich, CT.
> What do you do with CherryPy?
Most of our internal proprietary applications are web-based using
CherryPy. This includes reporting tools, a task scheduling system, and
various business applications.
> How is CherryPy deployed?
We have four CherryPy servers running under Windows 2003 Server
sitting behind pound for load balancing. We use Windows because we
have a few Win dependencies (A/D integration, 3rd party library for
generating Excel workbooks, NTFS).
> How long have you used CherryPy?
Two years
> Why did you choose CherryPy?
We started under Django, but found the ORM and templates limiting. We
converted to CherryPy using the DB-API directly (MySQL) and are
currently using Preppy, but also kicking the tires on Mako.
CherryPy has worked pretty well for us, but I still think we aren't
getting the full value out of it. Every time I read some of the CP
website/wiki, I learn another trick on how to do things better. More
examples, how-tos, and FAQs would be really great.
Now I'm writing a CherryPy application to create and launch
calculations on our cluster, manage jobs and user's home
directories. The filemanager inside the application permits to create
files/directories, remove files/directories, upload and download
files,
creation of tarfiles, copy files from one location to another and so
on.
> How is CherryPy deployed?
> (Behind modproxy/modpython/modwsgi, on a cluster behind a load
> balancer, or is it your frontend HTTP server?)
Using only CherryPy.
> How long have you used CherryPy?
> (The "when" question)
From 0.10 version
> Why did you choose CherryPy?
> (While "because its the best" is obviously the answer, a little
> more detail would be nice. ;) )
It's easy to use and allow me to create applications more fast.
On Mar 21, 11:26 am, "Sylvain Hellegouarch" <s...@defuze.org> wrote:
> >> How long have you used CherryPy?
> >> (The "when" question)
> >>From 0.10 version
> We salute you :)
> - Sylvain
;-))
I've my first two applications wrote in cp 0.10. One was for a big
congress of crystallography and the other one is WebNMR, the
application that
I rewrote for CP3.
Who is using CherryPy?
Enuan srl an italian based startup I work for
Where are you using Cherrypy?
3408009000.it, a non conventional real estate site
smstraffic.it, coming soon
Enel, sms customer care
What do you do with CherryPy?
Buzzword compliant web applications
Various backend administration tools
As one of the main components embedded in our conversational
application framework
How is CherryPy deployed?
Either Standalone or behind apache/nginx
How long have you used CherryPy?
Indirectly (with TurboGears) since 2.1
Directly since 3.0beta
Why did you choose CherryPy?
Simple and clean, flexible enough, standard compliant, fast
and stable, doesn't get into your way, it does only one thing but does
it well, doesn't impose hard dependencies (like orm, templating...),
nice and responsive development team
Ciao
Michele
On 18 Mar, 21:16, schmichael <michael.schur...@gmail.com> wrote:
> At the CherryPy BOF[1] at Pycon in Chicago we discussed how people are
> using CherryPy in lots of different ways. We're afraid people aren't
> grokking how flexible CherryPy is just by briefly glancing at the web
> site and thought having some interesting case studies would be useful.
Developing a custom ad server to serve relevant ads in an Adobe Flex
application
> How is CherryPy deployed?
Currently we're using CherryPy's built in server, but we're eventually
going to move to Lighttpd/FastCGI
> How long have you used CherryPy?
About three weeks, this is my first project with CherryPy.
> Why did you choose CherryPy?
I started out in January 2008 with Twisted, but as needs and
requirements changed, Twisted became a bit much. In early March 2008 I
rewrote everything I had from scratch using CherryPy. I chose CherryPy
because it looked simple, and I'd heard only good things about it. I'm
definitely happy with the decision.
I've used it on multiple projects, so here goes several answers. I wish I could use it now, but this place loves their PHP5, which isn't horrible, but isn't Python ;) Gloria ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
(1) Who is using CherryPy? QuietCareSystems.com
What do you do with CherryPy? Execute Python algorithms and display results for analysis of RF events measured to make sure an elderly person is moving around their home.
How is CherryPy deployed? Behind Apache
How long have you used CherryPy? 2+ years
Why did you choose CherryPy? Thin and fast, no force-fit into a large and complex framework, Simple paradigm, method names match function names, URL parameters match method parameters, I love the model.
(2) Who is using CherryPy? TeamPatent.com
What do you do with CherryPy? It is a REST engine for serving JSON to a Javascript/Dojo front end.
How is CherryPy deployed? Behind Apache.
How long have you used CherryPy? 2+ years.
Why did you choose CherryPy? Speed, simplicity, thin framework.
(3) Who is using CherryPy? SitePen.com
What do you do with CherryPy? Wrote a test harness for Tsung testing invocation.
How is CherryPy deployed? Directly.
How long have you used CherryPy? 2+ years
Why did you choose CherryPy? Thin, fast, easy, no big framework model, clean and elegant Python code.
(4) Who is using CherryPy? GrrlCamp.org
What do you do with CherryPy? Teach Python web framework principles.
How is CherryPy deployed? behind Apache and directly.
How long have you used CherryPy? 2+ years
Why did you choose CherryPy? Very easy for Newbies to learn and use out-of-the-box. Excellent teaching tool.
Backup/restore service for mobile phones. Synchronization service and
web2portal. Sync mobile phones using SyncML. Also Includes
synchronization with Google Calendar og Contacts. Edit contacts and
calendar content online. CherryPy used by both webportal and for sync
clients.
How is CherryPy deployed?
Have tried them all, but ended up with deploying using mod_wsgi and a
cluster of Apache servers. Uses Ngnix as load-balencer in front of
Apace. This is a really nice configuration since Apache takes care of
(re)starting/stopping CherryPy workers as needed.
How long have you used CherryPy?
For about a year. Started with 2.2.1 and TurboGears, but ended up
"roll your own" on top of CP3 in order to bypass limitations of
TurboGears.
Why did you choose CherryPy?
Fast and few limitations. Like CP3 since it's possible to fine-tune
the configuration for each controller in order to get the best
performance possible. A complex controller (sessions, transactions,
auth, ...) may be slow, but a simple controller can still run at full
speed and don't get the penalty of other complex controllers in the
system.
Collect data from a custom client application, store data into a
PostgreSQL instance, do heavy statistics calculations on the data in
response to requests, and display it through an XML data feed (not
XmlRpc) and standard user HTML pages.
The site glues together PostgreSQL, NumPy/SciPy, and CherryPy, along
with Mailman as a secondary service.
> How is CherryPy deployed?
Behind mod_proxy
> How long have you used CherryPy?
> (The "when" question)
1 month, migrating the 2 year old site from mod_python (which was
causing much grief)
> Why did you choose CherryPy?
- Cleanliness
- Lack-of-a-full-stack approach. EVE-Central.com already had a large,
2 year old code base running under mod_python - rewriting everything
from scratch to be trendy and web-framework-compliant would have eaten
far too much time. CherryPy allowed me to do the initial conversion of
the code in a matter of hours, while improving many ugly constructs.
Since the initial conversion, the flexibility of CherryPy and its "use
what you want" approach are helping to grow, refactor and maintain
this legacy code base. Its a pleasure to work with.
- Speed
- Python
- Stability - mod_python was much less stable and memory hungry in a
very high load + mpm_worker scenario. CherryPy not only performs
better even with a single backend server, but uses a fraction of the
memory.
> How is CherryPy deployed?
> (Behind modproxy/modpython/modwsgi, on a cluster behind a load
> balancer, or is it your frontend HTTP server?)
production with apache/mod-proxy but development/testing/staging
mostly directly with the embedded http/https servers.
we are evaluating mod_wsgi.
> How long have you used CherryPy?
> (The "when" question)
pretty shortly, since rc 1 of 3.0
> Why did you choose CherryPy?
Because its only a thin (and fast) layer between the backend
environment and the http frontent. But if you need sophisticated http
mangling mechanisms, they are available with only a minimum of
indirections.
> What do you do with CherryPy? > (What's your project: a traditional public web site? internal > web services?)
Various projects, mainly web services, some web sites. Both internal and public facing. Some projects are based on TurboGears, others with simpler requirements are CherryPy apps, usually using SQLAlchemy and Genshi. Our oldest CherryPy app uses Cheetah templates and has been running in production for 2 years.
One of our newest projects is a Video encoding/storage/delivery service, http://www.flvio.com/ . It provides a REST API for storing and managing videos for any web sites that would like to offer Flash video content, including UGC, without the hassle of encoding, storage & bandwidth costs. The web site is built on TurboGears and the actual API is implemented using CherryPy 3.
> How is CherryPy deployed? > (Behind modproxy/modpython/modwsgi, on a cluster behind a load > balancer, or is it your frontend HTTP server?)
> How long have you used CherryPy? > (The "when" question)
2 years.
> Why did you choose CherryPy? > (While "because its the best" is obviously the answer, a little > more detail would be nice. ;) )
Had been using Zope 2 on & off over the years for web projects, but was never happy with it. When Zope 3 came out I tried to use it for a project and after pulling my hair out, I moved to CherryPy instead and never looked back.
What do you do with CherryPy? I have used it in combination with other software to create Sparrow - A free software web revision system. http://sfdcenter.org
How is CherryPy deployed? - Well you could deploy it however you like with some work; I'm currently running it behind an nginx proxy.
How long have you used CherryPy? 5 months
Why did you choose CherryPy? - Because I wanted to get as close experience with developing a desktop like application for the web. Perhaps my favorite part is being able to decorate a function to expose it.
> At the CherryPy BOF[1] at Pycon in Chicago we discussed how people are > using CherryPy in lots of different ways. We're afraid people aren't > grokking how flexible CherryPy is just by briefly glancing at the web > site and thought having some interesting case studies would be useful.
Who is using CherryPy: Jeremy Morel
Where are you using Cherrypy? on www.naphtaline.net What do you do with CherryPy? A bug tracking tool designed for non
tech users (I like to think the interface is very intuitive and
simple).
How is CherryPy deployed? I really don't know. I am just using the
version webfaction.com offers to its clients.
How long have you used CherryPy? For 4 months, more a less a day a
week.
Why did you choose CherryPy? Incredible simplicity, easy to learn,
python : all the "it just works" stuff. And a lot of propaganda from
Sylvain :)
prima! But one can create a new proect:-(
The server encountered an unexpected condition which prevented it from
fulfilling the request.
Traceback (most recent call last):
File "/home/jeremy/lib/python2.4/cherrypy/_cprequest.py", line 342,
in respond
cherrypy.response.body = self.handler()
File "/home/jeremy/lib/python2.4/cherrypy/_cpdispatch.py", line 15,
in __call__
return self.callable(*self.args, **self.kwargs)
File "/home/jeremy/webapps/cp/projects.py", line 1417, in newProject
cursor.execute(query, (login, m.hexdigest(),
cherrypy.session.get(str(project)+'_projectCode'), mail))
NameError: global name 'project' is not defined
Powered by CherryPy 3.0.0
On 21 Mai, 17:52, Jeremy <morel.jer...@gmail.com> wrote:
> Who is using CherryPy: Jeremy Morel
> Where are you using Cherrypy? onwww.naphtaline.net > What do you do with CherryPy? A bug tracking tool designed for non
> tech users (I like to think the interface is very intuitive and
> simple).
> How is CherryPy deployed? I really don't know. I am just using the
> version webfaction.com offers to its clients.
> How long have you used CherryPy? For 4 months, more a less a day a
> week.
> Why did you choose CherryPy? Incredible simplicity, easy to learn,
> python : all the "it just works" stuff. And a lot of propaganda from
> Sylvain :)
Very sorry to polute the ML with that kind of message :
it now works. The site underwent a pretty heavy change recently, and I
even though I tested all classic functions, I did not thought of
testing the creation of projects. It's fixed. My bad.
<boostpy2...@googlemail.com> wrote:
> prima! But one can create a new proect:-(
> The server encountered an unexpected condition which prevented it from
> fulfilling the request.
> Traceback (most recent call last):
> File "/home/jeremy/lib/python2.4/cherrypy/_cprequest.py", line 342,
> in respond
> cherrypy.response.body = self.handler()
> File "/home/jeremy/lib/python2.4/cherrypy/_cpdispatch.py", line 15,
> in __call__
> return self.callable(*self.args, **self.kwargs)
> File "/home/jeremy/webapps/cp/projects.py", line 1417, in newProject
> cursor.execute(query, (login, m.hexdigest(),
> cherrypy.session.get(str(project)+'_projectCode'), mail))
> NameError: global name 'project' is not defined
> Powered by CherryPy 3.0.0
> On 21 Mai, 17:52, Jeremy <morel.jer...@gmail.com> wrote:
> > Who is using CherryPy: Jeremy Morel
> > Where are you using Cherrypy? onwww.naphtaline.net > > What do you do with CherryPy? A bug tracking tool designed for non
> > tech users (I like to think the interface is very intuitive and
> > simple).
> > How is CherryPy deployed? I really don't know. I am just using the
> > version webfaction.com offers to its clients.
> > How long have you used CherryPy? For 4 months, more a less a day a
> > week.
> > Why did you choose CherryPy? Incredible simplicity, easy to learn,
> > python : all the "it just works" stuff. And a lot of propaganda from
> > Sylvain :)