Synchronous evented IO with pyuv and greenlets
Project description
Gruvi is a network library for Python. It combines the efficiencies of event-based I/O with a sequential programming model. Gruvi uses libuv (via pyuv) as the underlying, high-performance event-based I/O layer, and greenlets to turn the callback programming style associated with event-based I/O into a traditional sequential programming style.
Gruvi values:
Performance. Gruvi’s main dependencies, libuv and greenlet, have a very strong focus on performance and so does Gruvi itself. Gruvi also contains a very fast HTTP implementation based on the Joyent/Node.js event driven http-parser.
Scalability. Thanks to libuv and the low memory usage of greenlets, Gruvi can support hundreds of thousands of concurrent connections.
Platform support. All supported platforms (Posix, Mac OSX and Windows) are first-class citizens. This is mostly thanks to libuv.
Minimalistic design. All of Gruvi is less than 4,000 lines of Python.
Requirements
You need Python 2.6, 2.7 or 3.3+.
The following operating systems are currently tested:
Posix (Only Linux is currently tested)
Mac OSX
Windows (currently untested)
Download
Source are available from Github.
Documentation
The documentation is available on readthedocs.
License
Gruvi is free software, available under the MIT license.
Contact
Feel free to contact the author at geertj@gmail.com. You can also submit tickets or suggenstions for improvements on Github.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.