Tree @1.1.1 (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 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.1.1
- Fixed a severe memory leak by refactoring request body buffering. Jonas Haag 10 years ago
- Update version number in setup.py Jonas Haag 10 years ago
- Welcome, bjoern 1.1. Jonas Haag 10 years ago
- Close #21: Call iterable.close() Jonas Haag 10 years ago
- SCRIPT_NAME must always be present. Jonas Haag 10 years ago
- e268cd follow-up: do not free request->client_addr on keep-alive. Jonas Haag 10 years ago
- Use Py_ssize_t rather than ssize_t. Jonas Haag 10 years ago
- Fixed a memory leak. Valgrind ftw Jonas Haag 10 years ago
- Update README and add a CHANGELOG Jonas Haag 10 years ago
- User 2-space indentation rather than 2-space intendation everywhere (I like it) Jonas Haag 10 years ago