Updated README, updated version to dev, included README as long_description.
This commit is contained in:
46
README
46
README
@@ -1,19 +1,43 @@
|
|||||||
Getting Started
|
Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it.
|
||||||
|
|
||||||
|
It uses epoll or libevent for highly scalable non-blocking I/O. Coroutines ensure that the developer uses a blocking style of programming that is similar to threading, but provide the benefits of non-blocking I/O. The event dispatch is implicit, which means you can easily use Eventlet from the Python interpreter, or as a small part of a larger application.
|
||||||
|
|
||||||
|
It's easy to get started using Eventlet, and easy to convert existing
|
||||||
|
applications to use it. Start off by looking at the `examples`_,
|
||||||
|
`common design patterns`_, and the list of `basic API primitives`_.
|
||||||
|
|
||||||
|
.. _examples: http://eventlet.net/doc/examples.html
|
||||||
|
.. _common design patterns: http://eventlet.net/doc/design_patterns.html
|
||||||
|
.. _basic API primitives: http://eventlet.net/doc/basic_usage.html
|
||||||
|
|
||||||
|
Quick Example
|
||||||
===============
|
===============
|
||||||
|
|
||||||
There's some good documentation up at: http://eventlet.net/doc/
|
Here's something you can try right on the command line::
|
||||||
|
|
||||||
Here's something you can try right on the command line:
|
% python
|
||||||
|
>>> import eventlet
|
||||||
|
>>> from eventlet.green import urllib2
|
||||||
|
>>> gt = eventlet.spawn(urllib2.urlopen, 'http://eventlet.net')
|
||||||
|
>>> gt2 = eventlet.spawn(urllib2.urlopen, 'http://secondlife.com')
|
||||||
|
>>> gt2.wait()
|
||||||
|
>>> gt.wait()
|
||||||
|
|
||||||
% python
|
|
||||||
>>> import eventlet
|
|
||||||
>>> from eventlet.green import urllib2
|
|
||||||
>>> gt = eventlet.spawn(urllib2.urlopen, 'http://eventlet.net')
|
|
||||||
>>> gt2 = eventlet.spawn(urllib2.urlopen, 'http://secondlife.com')
|
|
||||||
>>> gt2.wait()
|
|
||||||
>>> gt.wait()
|
|
||||||
|
|
||||||
Also, look at the examples in the examples directory.
|
Getting Eventlet
|
||||||
|
==================
|
||||||
|
|
||||||
|
The easiest way to get Eventlet is to use easy_install or pip::
|
||||||
|
|
||||||
|
easy_install eventlet
|
||||||
|
pip install eventlet
|
||||||
|
|
||||||
|
The development `tip`_ is available via easy_install as well::
|
||||||
|
|
||||||
|
easy_install 'eventlet==dev'
|
||||||
|
pip install 'eventlet==dev'
|
||||||
|
|
||||||
|
.. _tip: http://bitbucket.org/which_linden/eventlet/get/tip.zip#egg=eventlet-dev
|
||||||
|
|
||||||
Building the Docs Locally
|
Building the Docs Locally
|
||||||
=========================
|
=========================
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
version_info = (0, 9, 7)
|
version_info = (0, 9, 7, "dev1")
|
||||||
__version__ = ".".join(map(str, version_info))
|
__version__ = ".".join(map(str, version_info))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
13
setup.py
13
setup.py
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
from setuptools import find_packages, setup
|
from setuptools import find_packages, setup
|
||||||
from eventlet import __version__
|
from eventlet import __version__
|
||||||
|
from os import path
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
requirements = []
|
requirements = []
|
||||||
@@ -22,12 +23,12 @@ setup(
|
|||||||
packages=find_packages(exclude=['tests']),
|
packages=find_packages(exclude=['tests']),
|
||||||
install_requires=requirements,
|
install_requires=requirements,
|
||||||
zip_safe=False,
|
zip_safe=False,
|
||||||
long_description="""
|
long_description=open(
|
||||||
Eventlet is a networking library written in Python. It achieves
|
path.join(
|
||||||
high scalability by using non-blocking io while at the same time
|
path.dirname(__file__),
|
||||||
retaining high programmer usability by using coroutines to make
|
'README'
|
||||||
the non-blocking io operations appear blocking at the source code
|
)
|
||||||
level.""",
|
).read(),
|
||||||
test_suite = 'nose.collector',
|
test_suite = 'nose.collector',
|
||||||
classifiers=[
|
classifiers=[
|
||||||
"License :: OSI Approved :: MIT License",
|
"License :: OSI Approved :: MIT License",
|
||||||
|
Reference in New Issue
Block a user