跳转到主要内容

libuv的Python接口

项目描述

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

pyuv是一个提供libuv接口的Python模块。 libuv是一个高性能异步网络和平台抽象库。

libuv基于Unix系统的epoll/kequeue/event ports等和Windows系统的IOCP构建,在它们之上提供了一个一致的API。

pyuv的功能

  • 非阻塞TCP套接字

  • 非阻塞命名管道

  • UDP支持(包括多播)

  • 定时器

  • 子进程创建

  • 异步DNS解析(getaddrinfo)

  • 异步文件系统API

  • 高精度时间

  • 系统内存信息

  • 系统CPU信息

  • 网络接口信息

  • 线程池调度

  • ANSI转义码控制的TTY

  • 文件系统事件(inotify风格和基于stat)

  • 进程间IPC和TCP套接字共享

  • 任意文件描述符轮询

  • 线程同步原语

CI状态

稳定分支(v1.x)

  • Travis CI
    https://travis-ci.org/saghul/pyuv.svg?branch=v1.x
  • AppVeyor
    https://ci.appveyor.com/api/projects/status/ne2un9br9t0qs5cd?svg=true

版本控制

从版本1.0.0开始,pyuv遵循语义版本控制规范,就像libuv一样。

所有版本都可以从GitHub标签页面下载,以及PyPI的最新稳定版本。

文档

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

安装

pyuv可以通过以下方式通过pip安装

pip install pyuv

构建

获取源代码

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(带Visual Studio)

python setup.py build_ext --inplace

运行测试套件

运行测试套件有多种方式

  • 使用当前Python解释器运行测试

    从顶级目录运行:nosetests -v

  • 使用Tox在多个虚拟环境中使用多个解释器运行测试套件

    从顶级目录运行:tox 这将在Python 2.7、3.3和3.4上运行测试套件(您需要事先安装它们)

作者

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

许可证

除非文件中另有说明,pyuv使用MIT许可,请检查LICENSE文件。

Python版本

支持Python 2.7和Python >= 3.3版本。

贡献

如果您想贡献,请fork项目,制作补丁并发送拉取请求。请查看周围代码,并请尽量使其看起来相似 :-)

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面