Coder Social home page Coder Social logo

johnmnemonik / asyncio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from python/asyncio

0.0 2.0 0.0 3 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.00% C 3.64% 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

gvanrossum avatar vstinner avatar fafhrd91 avatar 1st1 avatar asvetlov avatar shibturn avatar ajdavis avatar saghul avatar giampaolo avatar cf-natali avatar eliben avatar geertj avatar socketpair avatar ludovic-gasc avatar ronf avatar pjenvey avatar martiusweb avatar justintarthur avatar pitrou avatar benjaminp avatar paradisee avatar gpshead avatar methane avatar oconnor663 avatar jimfulton avatar mayfield avatar rhettinger avatar rwalkerands avatar sethmichaellarson avatar ssbarnea avatar

Watchers

James Cloos avatar Antanas Verbitskas 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.