Coder Social home page Coder Social logo

windofthesky / asyncio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from python/asyncio

0.0 2.0 0.0 3.06 MB

This project is the asyncio module for Python 3.3. Since Python 3.4, asyncio is part of the standard library.

Home Page: https://github.com/python/asyncio/wiki

License: Apache License 2.0

Makefile 0.17% Python 96.04% C 3.60% Batchfile 0.01% Shell 0.19%

asyncio's Introduction

image

image

The asyncio module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives. Here is a more detailed list of the package contents:

  • a pluggable event loop with various system-specific implementations;
  • transport and protocol abstractions (similar to those in Twisted);
  • concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and others (some may be system-dependent);
  • a Future class that mimics the one in the concurrent.futures module, but adapted for use with the event loop;
  • coroutines and tasks based on yield from (PEP 380), to help write concurrent code in a sequential fashion;
  • cancellation support for Futures and coroutines;
  • synchronization primitives for use between coroutines in a single thread, mimicking those in the threading module;
  • an interface for passing work off to a threadpool, for times when you absolutely, positively have to use a library that makes blocking I/O calls.

Note: The implementation of asyncio was previously called "Tulip".

Installation

To install asyncio, type:

pip install asyncio

asyncio requires Python 3.3 or later! The asyncio module is part of the Python standard library since Python 3.4.

asyncio is a free software distributed under the Apache license version 2.0.

Websites

Development

The actual code lives in the 'asyncio' subdirectory. Tests are in the 'tests' subdirectory.

To run tests, run:

tox

Or use the Makefile:

make test

To run coverage (coverage package is required):

make coverage

On Windows, things are a little more complicated. Assume P is your Python binary (for example C:\Python33\python.exe).

You must first build the _overlapped.pyd extension and have it placed in the asyncio directory, as follows:

C:\> P setup.py build_ext --inplace

If this complains about vcvars.bat, you probably don't have the required version of Visual Studio installed. Compiling extensions for Python 3.3 requires Microsoft Visual C++ 2010 (MSVC 10.0) of any edition; you can download Visual Studio Express 2010 for free from http://www.visualstudio.com/downloads (scroll down to Visual C++ 2010 Express).

Once you have built the _overlapped.pyd extension successfully you can run the tests as follows:

C:\> P runtests.py

And coverage as follows:

C:\> P runtests.py --coverage

asyncio's People

Contributors

1st1 avatar ahxxm avatar ajdavis avatar asvetlov avatar cf-natali avatar eliben avatar fafhrd91 avatar geertj avatar giampaolo avatar gvanrossum avatar iceboy233 avatar jimfulton avatar justintarthur avatar ludovic-gasc avatar martiusweb avatar mayfield avatar oconnor663 avatar pitrou avatar pjenvey avatar rhettinger avatar ronf avatar rwalkerands avatar saghul avatar schlamar avatar sethmichaellarson avatar shibturn avatar socketpair avatar ssbarnea avatar vstinner avatar vxgmichel avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.