Skip to main content

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.

Source Distribution

gruvi-0.9.0.tar.gz (96.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page