Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Python interface for libuv

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 examples
Octocat-spinner-32 src
Octocat-spinner-32 tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 ChangeLog
Octocat-spinner-32 LICENSE Added LICENSE November 17, 2011
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 TODO
Octocat-spinner-32 build_inplace Pass along any arguments passed to build_inplace March 28, 2012
Octocat-spinner-32 setup.py
Octocat-spinner-32 setup_libuv.py
Octocat-spinner-32 tox.ini
README.rst

pyuv: Python interface to libuv

pyuv is a Python module which provides an interface to libuv. libuv is a high performance asynchronous networking library, used as the platform layer for NodeJS.

libuv is written and maintained by Joyent Inc. and contributors. It’s built on top of libev and libeio 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

Documentation

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

Building

Linux:

./build_inplace

Mac OSX:

(XCode needs to be installed)
export CC="gcc -isysroot /Developer/SDKs/MacOSX10.6.sdk"
export ARCHFLAGS="-arch x86_64"
./build_inplace

Microsoft Windows:

(MinGW and MSYS need to be installed)
./build_inplace --compiler=mingw32

Running the test suite

There are several ways of running the test ruite:

  • Running individual tests:
Go inside the tests/ directory and run the test, for example: python test_tcp.py
  • Run the test with the current Python interpreter:
From the toplevel directory, run: nosetests -v -w tests/
  • Use Tox to run the test suite in several virtualenvs with several interpreters
From the toplevel directory, run: tox -e py26,py27,py32 this will run the test suite on Python 2.6, 2.7 and 3.2 (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.6 is supported. Yes, that includes Python 3 :-)

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

Something went wrong with that request. Please try again.