Ian Bicking: the old part of his blog

CherryPy and WSGI, oh my

Make CherryPy applications well behaved WSGI applications, so that multiple such applications can easily live in the same process, and so that programmatic configuration is easy. This requires changes to CherryPy itself, so this is perhaps the hardest step.

Is this what you're after?

Comment on More Small Apps
by Ben Finney


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.

# Ian Bicking