Skip to main content

Python interface for libuv

Project description

https://badge.fury.io/py/pyuv.png

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):

https://travis-ci.org/saghul/pyuv.svg?branch=v1.x

Old stable branch (v0.10):

https://travis-ci.org/saghul/pyuv.svg?branch=v0.10

Development (master):

https://travis-ci.org/saghul/pyuv.svg?branch=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

http://readthedocs.org/docs/pyuv/

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)

Author

Saúl Ibarra Corretgé <saghul@gmail.com>

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyuv-1.1.0.tar.gz (1.5 MB view details)

Uploaded Source

File details

Details for the file pyuv-1.1.0.tar.gz.

File metadata

  • Download URL: pyuv-1.1.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyuv-1.1.0.tar.gz
Algorithm Hash digest
SHA256 bd0187371a4944fb3ea0c843890a5a97f77249b97c816d4a71d3a3456c99a54c
MD5 20816452ce07ff1c5825da46d0fa5592
BLAKE2b-256 32674b014b8402f7ae20932bd525bfb0d2e2336dc029d161364ef1d624013f82

See more details on using hashes here.

Supported by

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