Ian Bicking: the old part of his blog

Re: CherryPy and WSGI, oh my

No, not really. CherryPy has a few issues with how it implements WSGI. There's been some progress on this in the last few months, so some issues might be fixed. Anyway, initially it only allowed a single CherryPy application in a process. So basically you had to use CherryPy as an entry point, then mount applications there; you couldn't use WSGI to compose your applications. I think there's been some progress on this, but I don't know that it is complete. This is the most major issue.

Another issue is how the paths are interpreted, and I've heard CherryPy doesn't respect SCRIPT_NAME and PATH_INFO like it should. This is what keeps the URLs sane in a WSGI application. In other contexts the URL prefixes are often configured, but this is a point of frequent complexity and confusion. WSGI, in comparison, is very clear on the matter. IMHO, traversal URL parsing like CherryPy or Zope add a lot of complexity to composing applications, and those algorithms should be kept strictly internal.

I feel like there's something else I'm also forgetting, but those are the basic issues. Also, making programmatic configuration easy; but at least in the past this seemed pretty straight-forward in CherryPy, so it's probably as much documentation as anything.

Comment on CherryPy and WSGI, oh my
by Ian Bicking