My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

Magnum is a pure python HTTP server that is fast and efficient with resources. It is ideal for serving dynamic python-generated pages.

Features:

  • Written in pure python
    • Elegant, extensible and customizable
    • No connectors needed to serve python web applications such as Django
  • Event-driven non-blocking socket I/O (epoll for Linux, kqueue for BSD)
    • Can handle many simultaneous keep-alive connections to minimize latency
    • Works well with slow clients
    • Much faster than apache prefork and worker models
  • Multi-process queue-based worker pool
    • Shuns the one-thread-per-request paradigm to ensure system resources are available
    • Uses python 2.6's multiprocessing features to divide up labor and manage resources efficiently
    • Minimal collateral damage when under heavy load
  • Shared memory pool
    • Great for maintaining large per-machine in-memory caches to improve performance
  • Supports WSGI and static file serving out of the box
  • Simple config.py file supporting per-path/host/port virtual hosts

Requirements:

  • Linux/BSD variant (OSX works)
  • Python 2.6+ (3.0 is untested)

1.0 Roadmap:

  • Zero-downtime updates (no restart needed for changes to the app code layer)
  • Reliability and security improvements
    • Standard security audits
    • Automatic chroot'ing
    • Security ideas from OKWS
    • Test suites and benchmarks
  • Faster serving of static files (using sendfile system call where available)
  • HTTPS support
  • Basic and Digest authentication out of the box
  • Support gzip / deflate
  • Built-in rate limiting module
  • HTML GUI admin interface

Acknowledgements:

Powered by Google Project Hosting