cleanup
This commit is contained in:
@@ -176,7 +176,7 @@ Additionally, install [SCons](http://scons.org/).
|
||||
|
||||
#### Test
|
||||
|
||||
To generate and publish the documentation to [here](http://autobahn.ws/python/):
|
||||
To generate and publish the documentation to [here](http://autobahn-python.readthedocs.io/en/latest/):
|
||||
|
||||
```
|
||||
cd ~/scm/autobahn/AutobahnPython
|
||||
@@ -190,7 +190,7 @@ and open [http://localhost:8080](http://localhost:8080).
|
||||
|
||||
#### Publish
|
||||
|
||||
To generate and publish the documentation to [here](http://autobahn.ws/python/):
|
||||
To generate and publish the documentation to [here](http://autobahn-python.readthedocs.io/en/latest/):
|
||||
|
||||
```
|
||||
cd ~/scm/autobahn/AutobahnPython
|
||||
@@ -312,8 +312,8 @@ aws --region eu-west-1 s3 sync \
|
||||
|
||||
After the upload has finished, check the live pages:
|
||||
|
||||
* [Client Mode Reports](http://autobahn.ws/python/testreport/clients/index.html)
|
||||
* [Server Mode Reports](http://autobahn.ws/python/testreport/servers/index.html)
|
||||
* [Client Mode Reports](http://autobahn-python.readthedocs.io/en/latest/testreport/clients/index.html)
|
||||
* [Server Mode Reports](http://autobahn-python.readthedocs.io/en/latest/testreport/servers/index.html)
|
||||
|
||||
|
||||
## Roadmap
|
||||
|
||||
21
README.rst
21
README.rst
@@ -3,43 +3,43 @@ Autobahn\|Python
|
||||
|
||||
WebSocket & WAMP for Python on Twisted and asyncio.
|
||||
|
||||
| |Version| |Downloads| |Build Status| |Coverage|
|
||||
| |Version| |Downloads| |Build Status| |Coverage| |Docs|
|
||||
|
||||
--------------
|
||||
|
||||
| **Quick Links**: `Source Code <https://github.com/crossbario/autobahn-python>`__ - `Documentation <http://autobahn.ws/python>`__ - `WebSocket Examples <http://autobahn.ws/python/websocket/examples.html>`__ - `WAMP Examples <http://autobahn.ws/python/wamp/examples.html>`__
|
||||
| **Quick Links**: `Source Code <https://github.com/crossbario/autobahn-python>`__ - `Documentation <https://autobahn-python.readthedocs.io/en/latest/>`__ - `WebSocket Examples <https://autobahn-python.readthedocs.io/en/latest/websocket/examples.html>`__ - `WAMP Examples <https://autobahn-python.readthedocs.io/en/latest/wamp/examples.html>`__
|
||||
| **Community**: `Mailing list <http://groups.google.com/group/autobahnws>`__ - `StackOverflow <http://stackoverflow.com/questions/tagged/autobahn>`__ - `Twitter <https://twitter.com/autobahnws>`__ - `IRC #autobahn/chat.freenode.net <https://webchat.freenode.net/>`__
|
||||
| **Companion Projects**: `Autobahn|JS <https://github.com/crossbario/autobahn-js/>`__ - `Autobahn|Cpp <https://github.com/crossbario/autobahn-cpp>`__ - `Autobahn|Testsuite <https://github.com/crossbario/autobahn-testsuite>`__ - `Crossbar.io <http://crossbar.io>`__ - `WAMP <http://wamp.ws>`__
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
**Autobahn\|Python** is a subproject of `Autobahn <http://autobahn.ws/>`__ and provides open-source
|
||||
**Autobahn\|Python** is a subproject of `Autobahn <http://crossbar.io/autobahn>`__ and provides open-source
|
||||
implementations of
|
||||
|
||||
- `The WebSocket Protocol <http://tools.ietf.org/html/rfc6455>`__
|
||||
- `The Web Application Messaging Protocol (WAMP) <http://wamp.ws/>`__
|
||||
- `The Web Application Messaging Protocol (WAMP) <http://wamp-proto.org/>`__
|
||||
|
||||
for Python 2 and 3, and running on `Twisted <http://twistedmatrix.com/>`__ and `asyncio <http://docs.python.org/3.4/library/asyncio.html>`__.
|
||||
|
||||
You can use **Autobahn\|Python** to create clients and servers in Python speaking just plain WebSocket or WAMP.
|
||||
|
||||
**WebSocket** allows `bidirectional real-time messaging on the Web <http://crossbario.com/blog/post/websocket-why-what-can-i-use-it/>`__ and beyond, while `WAMP <http://wamp.ws/>`__ adds real-time application communication on top of WebSocket.
|
||||
**WebSocket** allows `bidirectional real-time messaging on the Web <http://crossbario.com/blog/post/websocket-why-what-can-i-use-it/>`__ and beyond, while `WAMP <http://wamp-proto.org/>`__ adds real-time application communication on top of WebSocket.
|
||||
|
||||
**WAMP** provides asynchronous **Remote Procedure Calls** and **Publish & Subscribe** for applications in *one* protocol running over `WebSocket <http://tools.ietf.org/html/rfc6455>`__. WAMP is a *routed* protocol, so you need a **WAMP Router** to connect your **Autobahn\|Python** based clients. We provide `Crossbar.io <http://crossbar.io>`__, but there are `other options <http://wamp.ws/implementations/#routers>`__ as well.
|
||||
**WAMP** provides asynchronous **Remote Procedure Calls** and **Publish & Subscribe** for applications in *one* protocol running over `WebSocket <http://tools.ietf.org/html/rfc6455>`__. WAMP is a *routed* protocol, so you need a **WAMP Router** to connect your **Autobahn\|Python** based clients. We provide `Crossbar.io <http://crossbar.io>`__, but there are `other options <http://wamp-proto.org/implementations/#routers>`__ as well.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- framework for `WebSocket <http://tools.ietf.org/html/rfc6455>`__ and `WAMP <http://wamp.ws/>`__ clients and servers
|
||||
- framework for `WebSocket <http://tools.ietf.org/html/rfc6455>`__ and `WAMP <http://wamp-proto.org/>`__ clients and servers
|
||||
- compatible with Python 2.6, 2.7, 3.3 and 3.4
|
||||
- runs on `CPython <http://python.org/>`__, `PyPy <http://pypy.org/>`__ and `Jython <http://jython.org/>`__
|
||||
- runs under `Twisted <http://twistedmatrix.com/>`__ and `asyncio <http://docs.python.org/3.4/library/asyncio.html>`__ - implements WebSocket
|
||||
`RFC6455 <http://tools.ietf.org/html/rfc6455>`__ and Draft Hybi-10+
|
||||
- implements `WebSocket compression <http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression>`__
|
||||
- implements `WAMP <http://wamp.ws/>`__, the Web Application Messaging Protocol
|
||||
- implements `WAMP <http://wamp-proto.org/>`__, the Web Application Messaging Protocol
|
||||
- high-performance, fully asynchronous implementation
|
||||
- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite <http://autobahn.ws/testsuite>`__: `Server Test Report <http://autobahn.ws/python/testreport/servers/index.html>`__ / `Client Test Report <http://autobahn.ws/python/testreport/clients/index.html>`__)
|
||||
- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite <http://crossbar.io/autobahn#testsuite>`__)
|
||||
- message-, frame- and streaming-APIs for WebSocket
|
||||
- supports TLS (secure WebSocket) and proxies
|
||||
- Open-source (`MIT license <https://github.com/crossbario/autobahn-python/blob/master/LICENSE>`__)
|
||||
@@ -142,3 +142,6 @@ Above code will work on Twisted and asyncio by changing a single line
|
||||
|
||||
.. |Coverage| image:: https://img.shields.io/codecov/c/github/crossbario/autobahn-python/master.svg
|
||||
:target: https://codecov.io/github/crossbario/autobahn-python
|
||||
|
||||
.. |Docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
|
||||
:target: https://autobahn-python.readthedocs.io/en/latest/
|
||||
|
||||
@@ -2462,11 +2462,11 @@ class WebSocketServerProtocol(WebSocketProtocol):
|
||||
if 'redirect' in self.http_request_params and len(self.http_request_params['redirect']) > 0:
|
||||
# To specify an URL for redirection, encode the URL, i.e. from JavaScript:
|
||||
#
|
||||
# var url = encodeURIComponent("http://autobahn.ws/python");
|
||||
# var url = encodeURIComponent("http://crossbar.io/autobahn");
|
||||
#
|
||||
# and append the encoded string as a query parameter 'redirect'
|
||||
#
|
||||
# http://localhost:9000?redirect=http%3A%2F%2Fautobahn.ws%2Fpython
|
||||
# http://localhost:9000?redirect=http%3A%2F%2Fcrossbar.io%2Fautobahn
|
||||
# https://localhost:9000?redirect=https%3A%2F%2Ftwitter.com%2F
|
||||
#
|
||||
# This will perform an immediate HTTP-303 redirection. If you provide
|
||||
|
||||
97
docs/_templates/layout.html
vendored
97
docs/_templates/layout.html
vendored
@@ -1,97 +0,0 @@
|
||||
{% extends "!layout.html" %}
|
||||
|
||||
{%- block extrahead %}
|
||||
|
||||
{{ super() }}
|
||||
|
||||
<link rel="stylesheet" href="{{ cstatic }}/css/tavendo.css">
|
||||
<link rel="stylesheet" href="{{ cstatic }}/css/autobahn.css">
|
||||
|
||||
<style>
|
||||
.navbar-brand {
|
||||
width: 239px;
|
||||
height: 50px;
|
||||
|
||||
}
|
||||
|
||||
.navbar-brand::after {
|
||||
content: url({{ cstatic }}/img/gen/autobahnpython.svg.gz);
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block footer %}
|
||||
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
|
||||
<div class="extendedFooter">
|
||||
<div class="logoblock">
|
||||
<p class="logo">
|
||||
<a href="/"><img class="logo" src="{{ cstatic }}/img/gen/autobahn.svg.gz" height="200" width="200" alt="Autobahn|Python"/></a>
|
||||
</p>
|
||||
<h3 style="font-weight: normal;"><strong>Autobahn</strong>|Python</h3>
|
||||
{% if not no_network %}
|
||||
<p>
|
||||
<iframe src="http://ghbtns.com/github-btn.html?user=crossbario&repo=autobahn-python&type=watch&count=true&size=large"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
|
||||
</p>
|
||||
{% else %}
|
||||
<!-- GitHub stripped! -->
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="side_toc sidebar_block" id="quicklinks">
|
||||
<h4><a href="https://pypi.python.org/pypi/autobahn/">Download</a></h4>
|
||||
<h4><a href="https://github.com/crossbario/autobahn-python">Source Code</a></h4>
|
||||
<h4><a href="https://groups.google.com/forum/#!forum/autobahnws">Mailing List</a></h4>
|
||||
<h4><a href="https://github.com/crossbario/autobahn-python/issues">Issue Tracker</a></h4>
|
||||
<h4><a href="http://stackoverflow.com/questions/tagged/autobahn?sort=newest">StackOverflow</a></h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="pull-right">
|
||||
<a href="#">Back to top</a>
|
||||
</p>
|
||||
<p>
|
||||
Copyright © 2011-2015 <a href="http://tavendo.com">Tavendo GmbH</a>. Content on this site is licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons CC-BY-SA</a>.
|
||||
<br>
|
||||
Tavendo, WAMP and "Autobahn WebSocket" are trademarks of <a href="http://tavendo.com">Tavendo GmbH</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
{% if widgeturl %}
|
||||
<!-- community widget iframe -->
|
||||
<div id="cdn_widget"></div>
|
||||
<script src="{{ widgeturl }}/js/communitywidget.js"></script>
|
||||
<script>
|
||||
if ('clandeck' in window) {
|
||||
clandeck.create_widget({community: "tavendo", container: "cdn_widget", topOffset: "60px"});
|
||||
}
|
||||
</script>
|
||||
{% else %}
|
||||
<!-- community widget stripped! -->
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a id="manifesto" href="http://www.reactivemanifesto.org/">
|
||||
<!-- <img src="//d379ifj7s9wntv.cloudfront.net/reactivemanifesto/images/ribbons/we-are-reactive-black-right.png"> -->
|
||||
<img src="{{ cstatic }}/img/gen/we_are_reactive.svg.gz" height="144" width="144" alt="Reactive Manifesto: We are reactive banner"/>
|
||||
</a>
|
||||
|
||||
{% if not no_network %}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', 'UA-23019220-3', 'autobahn.ws');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
{% else %}
|
||||
<!-- Google Analytics stripped! -->
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
33
docs/_templates/side-primary.html
vendored
33
docs/_templates/side-primary.html
vendored
@@ -1,33 +0,0 @@
|
||||
<div id="logoblock">
|
||||
<p class="logo">
|
||||
<a href="/"><img class="logo" src="{{ cstatic }}/img/gen/autobahn.svg.gz
|
||||
" height="200" width="200" alt="Autobahn|Python"/></a>
|
||||
</p>
|
||||
<h3 style="font-weight: normal;"><strong>Autobahn</strong>|Python</h3>
|
||||
{% if not no_network %}
|
||||
<p>
|
||||
<iframe src="http://ghbtns.com/github-btn.html?user=tavendo&repo=AutobahnPython&type=watch&count=true&size=large"
|
||||
allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe>
|
||||
</p>
|
||||
{% else %}
|
||||
<!-- GitHub stripped! -->
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="side_toc sidebar_block" id="quicklinks">
|
||||
<h4><a href="https://pypi.python.org/pypi/autobahn/">Download</a></h4>
|
||||
<h4><a href="https://github.com/crossbario/autobahn-python">Source Code</a></h4>
|
||||
<h4><a href="https://groups.google.com/forum/#!forum/autobahnws">Mailing List</a></h4>
|
||||
<h4><a href="https://github.com/crossbario/autobahn-python/issues">Issue Tracker</a></h4>
|
||||
<h4><a href="http://stackoverflow.com/questions/tagged/autobahn?sort=newest">StackOverflow</a></h4>
|
||||
</div>
|
||||
|
||||
<div class="side_toc sidebar_block">
|
||||
<hr>
|
||||
<h4><a href="{{ pathto('contents') }}">{{ _('Site Contents') }}</a></h4>
|
||||
<hr>
|
||||
<h4>Page Contents</h4>
|
||||
{{ toc }}
|
||||
<hr>
|
||||
<h4><a href="{{ pathto('reference/autobahn') }}">API Reference</a></h4>
|
||||
<h4><a href="{{ pathto('genindex') }}">Index</a></h4>
|
||||
</div>
|
||||
11
docs/conf.py
11
docs/conf.py
@@ -282,21 +282,18 @@ rst_epilog = """
|
||||
.. |Ab| replace:: **Autobahn**
|
||||
.. |abL| replace:: Autobahn|Python
|
||||
.. |AbL| replace:: **Autobahn**\|Python
|
||||
.. _Autobahn: http://autobahn.ws
|
||||
.. _AutobahnJS: http://autobahn.ws/js
|
||||
.. _Autobahn: http://crossbar.io/autobahn#python
|
||||
.. _AutobahnJS: http://crossbar.io/autobahn#js
|
||||
.. _AutobahnPython: **Autobahn**\|Python
|
||||
.. _WebSocket: http://tools.ietf.org/html/rfc6455
|
||||
.. _RFC6455: http://tools.ietf.org/html/rfc6455
|
||||
.. _WAMP: http://wamp.ws/
|
||||
.. _WAMP: http://wamp-proto.org/
|
||||
.. _Twisted: http://twistedmatrix.com/
|
||||
.. _asyncio: http://docs.python.org/3.4/library/asyncio.html
|
||||
.. _CPython: http://python.org/
|
||||
.. _PyPy: http://pypy.org/
|
||||
.. _Jython: http://jython.org/
|
||||
.. _WAMP: http://wamp.ws/
|
||||
.. _WAMPv1: http://wamp.ws/spec/wamp1/
|
||||
.. _WAMPv2: https://github.com/wamp-proto/wamp-proto/blob/master/spec/README.md
|
||||
.. _AutobahnTestsuite: http://autobahn.ws/testsuite
|
||||
.. _AutobahnTestsuite: http://crossbar.io/autobahn#testsuite
|
||||
.. _trollius: https://pypi.python.org/pypi/trollius/
|
||||
.. _tulip: https://pypi.python.org/pypi/asyncio/
|
||||
"""
|
||||
|
||||
298
docs/old_conf.py
298
docs/old_conf.py
@@ -1,298 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
import sphinx_bootstrap_theme
|
||||
|
||||
# only needed for Autobahn|Python
|
||||
sys.path.insert(0, os.path.abspath('./_extensions'))
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
|
||||
# monkey-patch txaio so that we can "use" both twisted *and* asyncio,
|
||||
# at least at import time -- this is so the autodoc stuff can
|
||||
# successfully import autobahn.twisted.* as well as autobahn.asyncio.*
|
||||
# (usually, you can only import one or the other in a single Python
|
||||
# interpreter)
|
||||
|
||||
if True:
|
||||
import txaio
|
||||
|
||||
def use_tx():
|
||||
"monkey-patched for doc-building"
|
||||
from txaio import tx
|
||||
txaio._use_framework(tx)
|
||||
|
||||
def use_aio():
|
||||
"monkey-patched for doc-building"
|
||||
from txaio import aio
|
||||
txaio._use_framework(aio)
|
||||
|
||||
txaio.use_twisted = use_tx
|
||||
txaio.use_asyncio = use_aio
|
||||
|
||||
|
||||
extensions = [
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.doctest',
|
||||
'sphinx.ext.intersphinx',
|
||||
'sphinx.ext.viewcode',
|
||||
'sphinx.ext.ifconfig',
|
||||
'sphinx.ext.todo',
|
||||
'sphinxcontrib.spelling',
|
||||
'txsphinx' # only needed for Autobahn|Python
|
||||
]
|
||||
|
||||
spelling_lang = 'en_US'
|
||||
spelling_show_suggestions = False
|
||||
spelling_word_list_filename = 'spelling_wordlist.txt'
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'AutobahnPython'
|
||||
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
|
||||
# built documents.
|
||||
#
|
||||
base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
|
||||
init = {}
|
||||
with open(os.path.join(base_dir, "autobahn", "__init__.py")) as f:
|
||||
exec(f.read(), init)
|
||||
|
||||
version = release = init["__version__"]
|
||||
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
exclude_patterns = ['_build', 'work']
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
## Sphinx-Bootstrap Theme
|
||||
##
|
||||
## http://sphinx-bootstrap-theme.readthedocs.org/en/latest/README.html
|
||||
##
|
||||
html_theme = 'bootstrap'
|
||||
html_theme_path = sphinx_bootstrap_theme.get_html_theme_path()
|
||||
|
||||
html_theme_options = {
|
||||
# Navigation bar title. (Default: ``project`` value)
|
||||
'navbar_title': " ",
|
||||
|
||||
# Tab name for entire site. (Default: "Site")
|
||||
'navbar_site_name': "Site",
|
||||
|
||||
# A list of tuples containing pages or urls to link to.
|
||||
# Valid tuples should be in the following forms:
|
||||
# (name, page) # a link to a page
|
||||
# (name, "/aa/bb", 1) # a link to an arbitrary relative url
|
||||
# (name, "http://example.com", True) # arbitrary absolute url
|
||||
# Note the "1" or "True" value above as the third argument to indicate
|
||||
# an arbitrary url.
|
||||
'navbar_links': [
|
||||
#("Examples", "examples"),
|
||||
#("Link", "http://example.com", True),
|
||||
],
|
||||
|
||||
# Render the next and previous page links in navbar. (Default: true)
|
||||
'navbar_sidebarrel': True,
|
||||
|
||||
# Render the current pages TOC in the navbar. (Default: true)
|
||||
'navbar_pagenav': True,
|
||||
|
||||
# Tab name for the current pages TOC. (Default: "Page")
|
||||
#'navbar_pagenav_name': "Page",
|
||||
|
||||
# Global TOC depth for "site" navbar tab. (Default: 1)
|
||||
# Switching to -1 shows all levels.
|
||||
'globaltoc_depth': 1,
|
||||
|
||||
# Include hidden TOCs in Site navbar?
|
||||
#
|
||||
# Note: If this is "false", you cannot have mixed ``:hidden:`` and
|
||||
# non-hidden ``toctree`` directives in the same page, or else the build
|
||||
# will break.
|
||||
#
|
||||
# Values: "true" (default) or "false"
|
||||
'globaltoc_includehidden': "true",
|
||||
|
||||
# HTML navbar class (Default: "navbar") to attach to <div> element.
|
||||
# For black navbar, do "navbar navbar-inverse"
|
||||
#'navbar_class': "navbar navbar-inverse",
|
||||
'navbar_class': "navbar",
|
||||
|
||||
# Fix navigation bar to top of page?
|
||||
# Values: "true" (default) or "false"
|
||||
'navbar_fixed_top': "true",
|
||||
|
||||
# Location of link to source.
|
||||
# Options are "nav" (default), "footer" or anything else to exclude.
|
||||
'source_link_position': "nav",
|
||||
|
||||
# Bootswatch (http://bootswatch.com/) theme.
|
||||
#
|
||||
# Options are nothing with "" (default) or the name of a valid theme
|
||||
# such as "amelia" or "cosmo".
|
||||
'bootswatch_theme': "",
|
||||
|
||||
# Choose Bootstrap version.
|
||||
# Values: "3" (default) or "2" (in quotes)
|
||||
'bootstrap_version': "3",
|
||||
}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
#html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents. If None, it defaults to
|
||||
# "<project> v<release> documentation".
|
||||
#html_title = None
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#html_logo = None
|
||||
|
||||
# The name of an image file (within the static path) to use as favicon of the
|
||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
|
||||
## additional variables which become accessible in RST (e.g. .. ifconfig:: not no_network)
|
||||
##
|
||||
def setup(app):
|
||||
app.add_config_value('no_network', False, True)
|
||||
|
||||
no_network = None
|
||||
|
||||
## additional variables which become accessible in the template engine's
|
||||
## context for all pages
|
||||
##
|
||||
html_context = {
|
||||
#'widgeturl': 'https://demo.crossbar.io/clandeckwidget'
|
||||
#'widgeturl': 'http://127.0.0.1:8090/widget'
|
||||
'widgeturl': None,
|
||||
'no_network': False,
|
||||
#'cstatic': 'http://127.0.0.1:8888',
|
||||
'cstatic': '//tavendo-common-static.s3-eu-west-1.amazonaws.com',
|
||||
}
|
||||
|
||||
# (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24).
|
||||
# Path should be relative to the ``_static`` files directory.
|
||||
html_logo = None
|
||||
|
||||
|
||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
#html_last_updated_fmt = '%b %d, %Y'
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
html_sidebars = {
|
||||
'**': [
|
||||
'side-primary.html'
|
||||
]
|
||||
}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
#html_file_suffix = None
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'AutobahnPython'
|
||||
|
||||
|
||||
# http://sphinx-doc.org/ext/intersphinx.html
|
||||
intersphinx_mapping = {
|
||||
'py2': ('http://docs.python.org/2', None),
|
||||
'py3': ('http://docs.python.org/3', None),
|
||||
'six': ('https://pythonhosted.org/six/', None),
|
||||
}
|
||||
|
||||
rst_epilog = """
|
||||
.. |ab| replace:: Autobahn
|
||||
.. |Ab| replace:: **Autobahn**
|
||||
.. |abL| replace:: Autobahn|Python
|
||||
.. |AbL| replace:: **Autobahn**\|Python
|
||||
.. _Autobahn: http://autobahn.ws
|
||||
.. _AutobahnJS: http://autobahn.ws/js
|
||||
.. _AutobahnPython: **Autobahn**\|Python
|
||||
.. _WebSocket: http://tools.ietf.org/html/rfc6455
|
||||
.. _RFC6455: http://tools.ietf.org/html/rfc6455
|
||||
.. _WAMP: http://wamp.ws/
|
||||
.. _Twisted: http://twistedmatrix.com/
|
||||
.. _asyncio: http://docs.python.org/3.4/library/asyncio.html
|
||||
.. _CPython: http://python.org/
|
||||
.. _PyPy: http://pypy.org/
|
||||
.. _Jython: http://jython.org/
|
||||
.. _WAMP: http://wamp.ws/
|
||||
.. _WAMPv1: http://wamp.ws/spec/wamp1/
|
||||
.. _WAMPv2: https://github.com/wamp-proto/wamp-proto/blob/master/spec/README.md
|
||||
.. _AutobahnTestsuite: http://autobahn.ws/testsuite
|
||||
.. _trollius: https://pypi.python.org/pypi/trollius/
|
||||
.. _tulip: https://pypi.python.org/pypi/asyncio/
|
||||
"""
|
||||
|
||||
rst_prolog = """
|
||||
"""
|
||||
|
||||
# http://stackoverflow.com/questions/5599254/how-to-use-sphinxs-autodoc-to-document-a-classs-init-self-method
|
||||
autoclass_content = 'both'
|
||||
|
||||
autodoc_member_order = 'bysource'
|
||||
@@ -30,7 +30,7 @@ Testee
|
||||
|
||||
`Twisted <https://github.com/crossbario/autobahn-python/blob/master/examples/twisted/websocket/testee>`__ / `asyncio <https://github.com/crossbario/autobahn-python/blob/master/examples/asyncio/websocket/testee>`__
|
||||
|
||||
The example implements a *testee* for testing against `Autobahn|Testsuite <http://autobahn.ws/testsuite>`_.
|
||||
The example implements a *testee* for testing against `Autobahn|Testsuite <http://crossbar.io/autobahn#testsuite>`_.
|
||||
|
||||
-----------
|
||||
|
||||
|
||||
4
setup.py
4
setup.py
@@ -168,7 +168,7 @@ setup(
|
||||
license='MIT License',
|
||||
author='Tavendo GmbH',
|
||||
author_email='autobahnws@googlegroups.com',
|
||||
url='http://autobahn.ws/python',
|
||||
url='http://crossbar.io/autobahn',
|
||||
platforms='Any',
|
||||
install_requires=[
|
||||
'six>=1.10.0', # MIT license
|
||||
@@ -224,7 +224,7 @@ setup(
|
||||
"Topic :: Software Development :: Libraries",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Software Development :: Object Brokering"],
|
||||
keywords='autobahn autobahn.ws websocket realtime rfc6455 wamp rpc pubsub twisted asyncio'
|
||||
keywords='autobahn crossbar websocket realtime rfc6455 wamp rpc pubsub twisted asyncio'
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user