Welcome to Gruvi¶
Gruvi is an IO library for Python. It uses libuv (via pyuv) as the underlying high-performance event-based I/O layer, and coroutines based on fibers to create a traditional sequential programming model on top of the libuv event-based callback model.
Gruvi comes with batteries included. In addition to its base IO support, it includes robust implementations for important protocols such as SSL/TLS and HTTP.
Gruvi values:
- Performance. Gruvi’s main dependencies, libuv and fibers, have a very strong focus on performance and so does Gruvi itself.
- Scalability. Thanks to libuv and the low memory usage of fibers, Gruvi should be able to support hundreds of thousands of concurrent connections.
- Platform support. All supported platforms (Posix, Mac OS X and Windows) are first-class citizens. This is mostly thanks to libuv.
- Minimalistic design. Gruvi tries to be a small and maintainable framework.
Gruvi is similar in concept to asyncio, gevent, and eventlet. For a rationale on why I’ve created a new library, see Rationale.
Contents¶
Gruvi is free software, available under the MIT license.
Feel free to contact the author at geertj@gmail.com. You can also submit tickets or suggestions for improvements on Github.