Python interface for libuv
Project description
pyuv is a Python module which provides an interface to libuv. libuv is a high performance asynchronous networking and platform abstraction library.
libuv is built on top of epoll/kequeue/event ports/etc on Unix and IOCP on Windows systems providing a consistent API on top of them.
pyuv’s features:
Non-blocking TCP sockets
Non-blocking named pipes
UDP support (including multicast)
Timers
Child process spawning
Asynchronous DNS resolution (getaddrinfo)
Asynchronous file system APIs
High resolution time
System memory information
System CPUs information
Network interfaces information
Thread pool scheduling
ANSI escape code controlled TTY
File system events (inotify style and stat based)
IPC and TCP socket sharing between processes
Arbitrary file descriptor polling
Thread synchronization primitives
CI status
Stable branch (v1.x):
Old stable branch (v0.10):
Development (master):
Versioning
Starting with version 1.0.0, pyuv follows the Semantic Versioning spacification, like libuv does.
All releases are downloadable from the GitHub tags page, and the latest stable release from PyPI.
Documentation
Installing
pyuv can be installed via pip as follows:
pip install pyuv
Building
Get the source:
git clone https://github.com/saghul/pyuv
Linux:
./build_inplace
Mac OSX:
(XCode needs to be installed) export ARCHFLAGS="-arch x86_64" ./build_inplace
Microsoft Windows (with Visual Studio):
python setup.py build_ext --inplace
Running the test suite
There are several ways of running the test ruite:
Run the test with the current Python interpreter:
From the toplevel directory, run: nosetests -v
Use Tox to run the test suite in several virtualenvs with several interpreters
From the toplevel directory, run: tox this will run the test suite on Python 2.7, 3.3 and 3.4 (you’ll need to have them installed beforehand)
License
Unless stated otherwise on-file pyuv uses the MIT license, check LICENSE file.
Python versions
Python 2.7, 3.3 and 3.4 versions are supported.
Contributing
If you’d like to contribute, fork the project, make a patch and send a pull request. Have a look at the surrounding code and please, make yours look alike :-)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for pyuv-1.0.0-cp34-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9d4186f750728e2748042efdf379a4a18a55f4d0752a963348f3726cf0b37cd |
|
MD5 | 94e2af9b627c7a13ed1f5c0385e2973c |
|
BLAKE2b-256 | 9916cf7a013df3982bd9fdb60937e52c90f1924b3c515e07de8d8407e55f3ace |
Hashes for pyuv-1.0.0-cp33-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43ab32d6f1f0e1321b5984c6b805b671607e9dec5285f6fef05ecfb53138d337 |
|
MD5 | 027ff57e6fc197693c9c2ff29f074ffc |
|
BLAKE2b-256 | c72c3ee41851c938363b15507555bdcce4ac58eeb2b5557c1c1d9455e38326c3 |
Hashes for pyuv-1.0.0-cp27-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdf2f6527bd1fb7b5a8b1886e9698715441848ea776b79687890de41c31e8dbb |
|
MD5 | d1bf0afb42eea20f9f6e0d0cbd88fd5a |
|
BLAKE2b-256 | fd611b7bc2ac84178f1102cfab528b4d2bfae3880b226184e18a1919f276c591 |