Skip to main content

pyuv: Python interface for 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 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 (v0.10):

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

Master:

https://secure.travis-ci.org/saghul/pyuv.png?branch=master

Versioning

pyuv follows the versioning scheme used by Node and libuv, that is, odd numbered releases are considered unstable and even numbered releases stable. This doesn’t necessarily mean that an odd numbered release is supposed to crash, but the API may change between stable releases.

The so called unstable releases will not be released on PyPI, as that would confuse users. PyPI will always contain the latest stable build. All versions (both stable and unstable) are downloadable from the GitHub tags page.

Documentation

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

Installing

pyuv can be installed via pip as follows:

pip install pyuv

If you’d like to use the development version use the following command:

pip install pyuv==dev

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

./build_inplace

Microsoft Windows (with MinGW, not recommended):

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

Metadata

Release files for pyuv 0.10.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyuv 0.10.3
File Size Uploaded
pyuv-0.10.3.tar.gz 394.7 kB Details

Release files / pyuv-0.10.3.tar.gz

Download URL pyuv-0.10.3.tar.gz
Size 394.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d309185f394fe9a37178985b9bd4d7e1a574414f4302ae16fc0c75ba189ff91c
BLAKE2b-256 checksum
How to use checksums
8780926feddc5a5dabb15ae5fc36598104be0f5491b3cbf37c9eb17ed0d2d357
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.3.0

17 release files

1.2.0

7 release files

1.1.0

1 release file

1.0.2

7 release files

1.0.1

7 release files

1.0.0

7 release files

0.10.12

1 release file

0.10.10

1 release file

0.10.9

1 release file

0.10.8

1 release file

0.10.7

1 release file

0.10.6

1 release file

0.10.5

1 release file

0.10.4

1 release file

This release

0.10.3 This release

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page