Tree @1.2 (Download .tar.gz)
bjoern: Fast And Ultra-Lightweight Asynchronous HTTP/1.1 WSGI Server
A screamingly fast, ultra-lightweight asynchronous WSGI server for CPython, written in C using Marc Lehmann's high performance libev event loop and Ryan Dahl's http-parser_.
Why It's Cool
bjoern is the fastest, smallest and most lightweight WSGI server out there, featuring
- ~ 1000 lines of C code
- Memory footprint ~ 600KB
- Single-threaded and without coroutines or other crap
- Full persistent connection ("keep-alive") support in both HTTP/1.0 and 1.1, including support for HTTP/1.1 chunked responses
Installation
libev
- Arch Linux
- pacman -S libev
- Ubuntu
- apt-get install libev-dev
- Mac OS X (using homebrew)
- brew install libev
- Your Contribution Here
- Fork me and send a pull request
bjoern
Make sure libev is installed and then:
pip install bjoern
Usage
bjoern.run(wsgi_application, host, port)
Alternatively, the mainloop can be run separately:
bjoern.listen(wsgi_application, host, port) bjoern.run()
Commit History @1.2
- Version 1.2 Jonas Haag 9 years ago
- 1.1.1 and 1.2 changelog entries Jonas Haag 9 years ago
- Provide PyFile_{Inc,Dec}UseCount and PyVarObject_HEAD_INIT that are missing from Python 2.5 (#34) Jonas Haag 9 years ago
- Provide a Py_TYPE macro that's missing in Python 2.5 (#34) Jonas Haag 9 years ago
- Actually we're at more than 1000 lines right now :-( Jonas Haag 9 years ago
- Fast file transfers, part 2: Profit from sendfile(). Jonas Haag 9 years ago
- Fast file transfers, part 1: Provide a file wrapper. Jonas Haag 9 years ago
- Make 'make' less verbose. Jonas Haag 9 years ago
- Cherry-pick string-type related parts of the previously reverted commit Jonas Haag 10 years ago
- Revert "get rid of cStringIO". Py3k support will be a separate development branch. Jonas Haag 10 years ago