small fixes in preparation for release
This commit is contained in:
parent
3c357deede
commit
c3397aee60
1
.gitignore
vendored
1
.gitignore
vendored
@ -22,3 +22,4 @@ egg\-info
|
||||
egg
|
||||
.egg*
|
||||
.tox
|
||||
*.pid
|
||||
|
@ -12,10 +12,12 @@ all:
|
||||
@echo ""
|
||||
|
||||
build:
|
||||
scons
|
||||
#scons
|
||||
sphinx-build -A cstatic="//tavendo-common-static.s3-eu-west-1.amazonaws.com" -b html . _build
|
||||
|
||||
build_no_network:
|
||||
scons --no_network
|
||||
#scons --no_network
|
||||
sphinx-build -A no_network=1 -D no_network=1 -A cstatic="http://127.0.0.1:8888" -b html . _build
|
||||
|
||||
test: build
|
||||
python serve.py --root ./_build --silence
|
||||
|
@ -26,7 +26,7 @@ Another highly recommended reading is `The Reactive Manifesto <http://www.reacti
|
||||
|
||||
-- `The Reactive Manifesto <http://www.reactivemanifesto.org>`_
|
||||
|
||||
The fact that |Ab| is implemented using asynchronous programming and non-blocking execution shouldn't come as a surprise, since both `Twisted <https://twistedmatrix.com/trac/>`_ and `asyncio <https://docs.python.org/3/library/asyncio.html>`_ - the foundations upon which |ab| runs - are *asynchronous network programming frameworks*.
|
||||
The fact that |Ab| is implemented using asynchronous programming and non-blocking execution shouldn't come as a surprise, since both `Twisted <https://twistedmatrix.com/trac/>`__ and `asyncio <https://docs.python.org/3/library/asyncio.html>`__ - the foundations upon which |ab| runs - are *asynchronous network programming frameworks*.
|
||||
|
||||
On the other hand, the principles of asynchronous programming are independent of Twisted and asyncio. For example, other frameworks that fall into the same category are:
|
||||
|
||||
@ -99,11 +99,11 @@ The truth is that while the *core* of Twisted and asyncio are very similar, **Tw
|
||||
|
||||
So you get *tons* of actual network protocols already out-of-the-box - in production quality implementations!
|
||||
|
||||
asyncio does not include any actual application layer network protocols like HTTP. If you need those, you'll have to look for asyncio implementations *outside* the standard library. For example, `here <https://github.com/KeepSafe/aiohttp>`_ is a HTTP server and client library for asyncio.
|
||||
asyncio does not include any actual application layer network protocols like HTTP. If you need those, you'll have to look for asyncio implementations *outside* the standard library. For example, `here <https://github.com/KeepSafe/aiohttp>`__ is a HTTP server and client library for asyncio.
|
||||
|
||||
Over time, an ecosystem of protocols will likely emerge around asyncio also. But right now, Twisted has a big advantage here.
|
||||
|
||||
If you want to read more on this, Glyph (Twisted original author) has a nice blog post `here <https://glyph.twistedmatrix.com/2014/05/the-report-of-our-death.html>`_.
|
||||
If you want to read more on this, Glyph (Twisted original author) has a nice blog post `here <https://glyph.twistedmatrix.com/2014/05/the-report-of-our-death.html>`__.
|
||||
|
||||
|
||||
Resources
|
||||
@ -126,7 +126,7 @@ Then of course there is
|
||||
* `The Twisted Documentation <https://twisted.readthedocs.org/>`_
|
||||
* `The Twisted API Reference <https://twistedmatrix.com/documents/current/api/>`_
|
||||
|
||||
and lots and lots of awesome `Twisted talks <http://www.pyvideo.org/search?models=videos.video&q=twisted>`_ on PyVideo.
|
||||
and lots and lots of awesome `Twisted talks <http://www.pyvideo.org/search?models=videos.video&q=twisted>`__ on PyVideo.
|
||||
|
||||
|
||||
Asyncio Resources
|
||||
@ -139,7 +139,7 @@ asyncio is very new (August 2014). So the amount of material on the Web is still
|
||||
* `Python 3.4 docs - asyncio <http://docs.python.org/3.4/library/asyncio.html>`_
|
||||
* `PEP-3156 - Asynchronous IO Support Rebooted <http://www.python.org/dev/peps/pep-3156/>`_
|
||||
|
||||
However, we quickly introduce core asynchronous programming primitives provided by `Twisted <https://twistedmatrix.com/>`_ and `asyncio <https://docs.python.org/3.4/library/asyncio.html>`_:
|
||||
However, we quickly introduce core asynchronous programming primitives provided by `Twisted <https://twistedmatrix.com/>`__ and `asyncio <https://docs.python.org/3.4/library/asyncio.html>`__:
|
||||
|
||||
|
||||
Asynchronous Programming Primitives
|
||||
@ -293,11 +293,11 @@ Asyncio Futures and Coroutines
|
||||
..............................
|
||||
|
||||
|
||||
`Asyncio Futures <http://docs.python.org/3.4/library/asyncio-task.html#future>`_ like Twisted Deferreds encapsulate the result of a future computation. At the time of creation, the result is (usually) not yet available, and will only be available eventually.
|
||||
`Asyncio Futures <http://docs.python.org/3.4/library/asyncio-task.html#future>`__ like Twisted Deferreds encapsulate the result of a future computation. At the time of creation, the result is (usually) not yet available, and will only be available eventually.
|
||||
|
||||
On the other hand, asyncio futures are quite different from Twisted Deferreds. One difference is that they have no built-in machinery for chaining.
|
||||
|
||||
`Asyncio Coroutines <http://docs.python.org/3.4/library/asyncio-task.html#coroutines>`_ are (on a certain level) quite similar to Twisted inline callbacks. Here is the code corresponding to our example above:
|
||||
`Asyncio Coroutines <http://docs.python.org/3.4/library/asyncio-task.html#coroutines>`__ are (on a certain level) quite similar to Twisted inline callbacks. Here is the code corresponding to our example above:
|
||||
|
||||
|
||||
-------
|
||||
|
@ -34,7 +34,7 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'AutobahnPython'
|
||||
copyright = None
|
||||
copyright = u'Tavendo GmbH'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
|
@ -180,8 +180,8 @@ A sample **WAMP application component** implementing all client roles:
|
||||
|
||||
Complete example code:
|
||||
|
||||
* `Twisted <https://github.com/tavendo/AutobahnPython/blob/master/examples/twisted/wamp/overview/>`_
|
||||
* `asyncio <https://github.com/tavendo/AutobahnPython/blob/master/examples/asyncio/wamp/overview/>`_
|
||||
* `Twisted Example <https://github.com/tavendo/AutobahnPython/blob/master/examples/twisted/wamp/overview/>`__
|
||||
* `asyncio Example <https://github.com/tavendo/AutobahnPython/blob/master/examples/asyncio/wamp/overview/>`__
|
||||
|
||||
Introduction to WAMP Programming with |ab|:
|
||||
|
||||
|
@ -8,7 +8,7 @@ WAMP Examples
|
||||
Overview of Examples
|
||||
++++++++++++++++++++
|
||||
|
||||
The examples are organized between `asycio <https://docs.python.org/3.4/library/asyncio.html>`_ and `Twisted <https://www.twistedmatrix.com>`_ at the top-level, with similarly-named examples demonstrating the same functionality with the respective framework.
|
||||
The examples are organized between `asycio <https://docs.python.org/3.4/library/asyncio.html>`__ and `Twisted <https://www.twistedmatrix.com>`__ at the top-level, with similarly-named examples demonstrating the same functionality with the respective framework.
|
||||
|
||||
Each example typically includes four things:
|
||||
|
||||
@ -22,7 +22,7 @@ So for each example, you start *one* backend and *one* frontend component (your
|
||||
|
||||
Still, you are encouraged to try playing with mixing and matching the frontend and backend components, starting multiple front-ends, etc. to explore Crossbar and Autobahn's behavior. Often the different examples use similar URIs for procedures and published events, so you can even try mixing between the examples.
|
||||
|
||||
The provided `Crossbar.io <http://crossbar.io/docs>`_ configuration will run a Web server that you can visit at `http://localhost:8080`_ and includes links to the frontend/backend HTML for the javascript versions. Usually these just use ``console.log()`` so you'll have to open up the JavaScript console in your browser to see it working.
|
||||
The provided `Crossbar.io <http://crossbar.io/docs>`_ configuration will run a Web server that you can visit at `http://localhost:8080`__ and includes links to the frontend/backend HTML for the javascript versions. Usually these just use ``console.log()`` so you'll have to open up the JavaScript console in your browser to see it working.
|
||||
|
||||
.. _run_all_examples:
|
||||
|
||||
@ -30,7 +30,7 @@ Automatically Run All Examples
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
There is a script (``./examples/run-all-examples.py``) which runs all the WAMP examples for 5 seconds each, `this asciicast
|
||||
<https://asciinema.org/a/9cnar155zalie80c9725nvyk7>`_ shows you how (see comments for how to run it yourself):
|
||||
<https://asciinema.org/a/9cnar155zalie80c9725nvyk7>`__ shows you how (see comments for how to run it yourself):
|
||||
|
||||
.. raw:: html
|
||||
|
||||
@ -41,31 +41,31 @@ There is a script (``./examples/run-all-examples.py``) which runs all the WAMP e
|
||||
Publish & Subscribe (PubSub)
|
||||
++++++++++++++++++++++++++++
|
||||
|
||||
* Basic `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/basic>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/basic>`_ - Demonstrates basic publish and subscribe.
|
||||
* Basic `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/basic>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/basic>`__ - Demonstrates basic publish and subscribe.
|
||||
|
||||
* Complex `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/complex>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/complex>`_ - Demonstrates publish and subscribe with complex events.
|
||||
* Complex `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/complex>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/complex>`__ - Demonstrates publish and subscribe with complex events.
|
||||
|
||||
* Options `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/options>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/options>`_ - Using options with PubSub.
|
||||
* Options `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/options>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/options>`__ - Using options with PubSub.
|
||||
|
||||
* Unsubscribe `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/unsubscribe>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/unsubscribe>`_ - Cancel a subscription to a topic.
|
||||
* Unsubscribe `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/pubsub/unsubscribe>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/pubsub/unsubscribe>`__ - Cancel a subscription to a topic.
|
||||
|
||||
|
||||
Remote Procedure Calls (RPC)
|
||||
++++++++++++++++++++++++++++
|
||||
|
||||
* Time Service `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/timeservice>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/timeservice>`_ - A trivial time service - demonstrates basic remote procedure feature.
|
||||
* Time Service `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/timeservice>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/timeservice>`__ - A trivial time service - demonstrates basic remote procedure feature.
|
||||
|
||||
* Slow Square `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/slowsquare>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/slowsquare>`_ - Demonstrates procedures which return promises and return asynchronously.
|
||||
* Slow Square `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/slowsquare>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/slowsquare>`__ - Demonstrates procedures which return promises and return asynchronously.
|
||||
|
||||
* Arguments `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/arguments>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/arguments>`_ - Demonstrates all variants of call arguments.
|
||||
* Arguments `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/arguments>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/arguments>`__ - Demonstrates all variants of call arguments.
|
||||
|
||||
* Complex Result `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/complex>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/complex>`_ - Demonstrates complex call results (call results with more than one positional or keyword results).
|
||||
* Complex Result `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/complex>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/complex>`__ - Demonstrates complex call results (call results with more than one positional or keyword results).
|
||||
|
||||
* Errors `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/errors>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/errors>`_ - Demonstrates error raising and catching over remote procedures.
|
||||
* Errors `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/errors>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/errors>`__ - Demonstrates error raising and catching over remote procedures.
|
||||
|
||||
* Progressive Results `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/progress>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/progress>`_ - Demonstrates calling remote procedures that produce progressive results.
|
||||
* Progressive Results `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/progress>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/progress>`__ - Demonstrates calling remote procedures that produce progressive results.
|
||||
|
||||
* Options `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/options>`_ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/options>`_ - Using options with RPC.
|
||||
* Options `Twisted <https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/wamp/rpc/options>`__ - `asyncio <https://github.com/tavendo/AutobahnPython/tree/master/examples/asyncio/wamp/rpc/options>`__ - Using options with RPC.
|
||||
|
||||
|
||||
I'm Confused, Just Tell Me What To Run
|
||||
|
@ -14,3 +14,6 @@ flake8:
|
||||
|
||||
pylint:
|
||||
pylint -d line-too-long,invalid-name .
|
||||
|
||||
examples:
|
||||
python run-all-examples.py
|
||||
|
Loading…
Reference in New Issue
Block a user