On 11/29/2018 2:10 PM, Andrew Svetlov
What production ready web servers exist on PyPi? Are there any that
don't bring lots of baggage, their own enhanced way of doing things?
The nice thing about the http.server is that it does things in a
standard-conforming way, the bad thing about it is that it doesn't
implement all the standards, and isn't maintained very well.
Neither http.client nor http.server doesn't support
compression (gzip/compress/deflate) at all.
I doubt if we want to add this feature: for client better to use
requests or, well, aiohttp.
The same for servers: almost any production ready web server
from PyPI supports compression.
From just reading PyPi, it is hard to discover whether a particular
package is production-ready or not.
I had used CherryPy for a while, but at the time it didn't support
Python 3, and to use the same scripts behind CherryPy or Apache CGI
(my deployment target, because that was what web hosts provided)
became difficult for complex scripts.... so I reverted to
http.server with a few private extensions (private because no one
merged the bugs I reported some 3 versions of
Python-development-process ago; back then I submitted patches, but I
haven't had time to keep up with the churn of technologies Pythondev
has used since Python 3 came out, which is when I started using
Python, and I'm sure the submitted patches have bit-rotted by now).
When I google "python web server" the first hit is the doc page for
http.server, the second is a wiki page that mentions CherryPy and a
bunch of others, but the descriptions, while terse, mostly point out
some special capabilities of the server, making it seem like you not
only get a web server, but a philosophy. I just want a web server.
The last one, Waitress, is the only one that doesn't seem to have a
philosophy in its description.
So it would be nice if http.server and http.client could get some
basic improvements to be complete, or if the docs could point to a
replacement that is a complete server, but without a philosophy or
framework (bloatware) to have to learn and/or work around.