diff --git a/DEVELOPERS.md b/DEVELOPERS.md
index 9adb9ffe4..dcd6a0e54 100644
--- a/DEVELOPERS.md
+++ b/DEVELOPERS.md
@@ -317,7 +317,7 @@ After the upload has finished, check the live pages:
* Automatic reconnection
* Configurable WAMP connecting transports
-* WAMP Connection abstration
+* WAMP Connection abstraction
* Authentication
**0.10** will get into "maintenance mode" after **0.10.6**. We'll have a maintenance branch for that over some time. The new development will be based on **0.11** (see below).
diff --git a/README.rst b/README.rst
index c902fa8c2..90c6aaf21 100644
--- a/README.rst
+++ b/README.rst
@@ -209,7 +209,7 @@ Autobahn contains **NVX**, a network accelerator library that provides SIMD acce
.. note:
- NVX lives in namespace `autobahn.nvx` and currently requires a x86-86 CPU with at least SSE2 and makes use of SSE4.1 if available. The code is written using vector instrinsics, should compile with both GCC and Clang,and interfaces with Python using CFFI, and hence runs fast on PyPy.
+ NVX lives in namespace `autobahn.nvx` and currently requires a x86-86 CPU with at least SSE2 and makes use of SSE4.1 if available. The code is written using vector intrinsics, should compile with both GCC and Clang,and interfaces with Python using CFFI, and hence runs fast on PyPy.
-----
diff --git a/autobahn/nvx/_utf8validator.c b/autobahn/nvx/_utf8validator.c
index 8c366561a..4a2c1b353 100644
--- a/autobahn/nvx/_utf8validator.c
+++ b/autobahn/nvx/_utf8validator.c
@@ -237,7 +237,7 @@ int _nvx_utf8vld_validate_table (void* utf8vld, const uint8_t* data, size_t leng
state = 1; \
} \
} else if (state == 1) { \
- /* refective state 1 */ \
+ /* reflective state 1 */ \
} else { \
/* should not arrive here */ \
}
diff --git a/autobahn/twisted/wamp.py b/autobahn/twisted/wamp.py
index fb714dd45..4393ac976 100644
--- a/autobahn/twisted/wamp.py
+++ b/autobahn/twisted/wamp.py
@@ -308,7 +308,7 @@ def accept(response):
# be applied for every Autobahn/Twisted protocol instance from the factory
transport_factory.setProtocolOptions(**protocol_options)
- # supress pointless log noise
+ # suppress pointless log noise
transport_factory.noisy = False
if endpoint:
diff --git a/autobahn/util.py b/autobahn/util.py
index a66b26f28..2f1afff0e 100644
--- a/autobahn/util.py
+++ b/autobahn/util.py
@@ -404,7 +404,7 @@ def generate_token(char_groups: int,
:param chars_per_group: Number of characters per character group (or 1 to return a token with no grouping).
:param chars: Characters to choose from. Default is 27 character subset
of the ISO basic Latin alphabet (see: ``DEFAULT_TOKEN_CHARS``).
- :param sep: When separating groups in the token, the separater string.
+ :param sep: When separating groups in the token, the separator string.
:param lower_case: If ``True``, generate token in lower-case.
:returns: The generated token.
@@ -751,7 +751,7 @@ class ObservableMixin(object):
# be a lot easier to deal with here. Having an __init__ method
# with a "mix in" style class can be fragile and error-prone,
# especially if it takes arguments. Since we don't use the
- # "parent" beavior anywhere, I didn't add a .set_parent() (yet?)
+ # "parent" behavior anywhere, I didn't add a .set_parent() (yet?)
# these are class-level globals; individual instances are
# initialized as-needed (e.g. the first .on() call adds a
@@ -789,7 +789,7 @@ def on(self, event, handler):
:param event: the name of the event
- :param handler: a callable thats invoked when .fire() is
+ :param handler: a callable that's invoked when .fire() is
called for this events. Arguments will be whatever are given
to .fire()
"""
@@ -816,7 +816,7 @@ def off(self, event=None, handler=None):
# maybe this should mean "remove the given handler
# from any event at all that contains it"...?
raise RuntimeError(
- "Can't specificy a specific handler without an event"
+ "Can't specify a specific handler without an event"
)
self._listeners = dict()
else:
diff --git a/autobahn/wamp/component.py b/autobahn/wamp/component.py
index 5da892d32..2c8d07872 100644
--- a/autobahn/wamp/component.py
+++ b/autobahn/wamp/component.py
@@ -319,7 +319,7 @@ def failed(self):
"""
Mark this transport as failed, meaning we won't try to connect to
it any longer (that is: can_reconnect() will always return
- False afer calling this).
+ False after calling this).
"""
self._permanent_failure = True
diff --git a/autobahn/wamp/exception.py b/autobahn/wamp/exception.py
index 50a2cdc30..99d1f40da 100644
--- a/autobahn/wamp/exception.py
+++ b/autobahn/wamp/exception.py
@@ -110,7 +110,7 @@ class ApplicationError(Error):
PAYLOAD_SIZE_EXCEEDED = "wamp.error.payload_size_exceeded"
"""
- The application payload could not be transported becuase the serialized/framed payload
+ The application payload could not be transported because the serialized/framed payload
exceeds the transport limits.
"""
@@ -144,7 +144,7 @@ class ApplicationError(Error):
NO_SUCH_SESSION = "wamp.error.no_such_session"
"""
- A router could not perform an operation, since a session ID specified was non-existant.
+ A router could not perform an operation, since a session ID specified was non-existent.
"""
INVALID_ARGUMENT = "wamp.error.invalid_argument"
diff --git a/autobahn/wamp/flatbuffers/pubsub.fbs b/autobahn/wamp/flatbuffers/pubsub.fbs
index c739fd985..69b637cc1 100644
--- a/autobahn/wamp/flatbuffers/pubsub.fbs
+++ b/autobahn/wamp/flatbuffers/pubsub.fbs
@@ -186,7 +186,7 @@ table Event
// When using Payload.CRYPTOBOX, the public Cryptobox key of the key pair used for encrypting the payload.
enc_key: [uint8];
- // The WAMP session ID of the pubisher. Only filled when the publisher is disclosed.
+ // The WAMP session ID of the publisher. Only filled when the publisher is disclosed.
publisher: uint64;
// The WAMP authrole of the publisher. Only filled when publisher is disclosed.
diff --git a/autobahn/wamp/interfaces.py b/autobahn/wamp/interfaces.py
index 4b0c50223..3da6c3a69 100644
--- a/autobahn/wamp/interfaces.py
+++ b/autobahn/wamp/interfaces.py
@@ -356,7 +356,7 @@ def onUserError(self, fail, msg):
current stack-trace and then error-message to stdout.
ApplicationSession-derived objects may override this to
- provide logging if they prefer. The Twisted implemention does
+ provide logging if they prefer. The Twisted implementation does
this. (See :class:`autobahn.twisted.wamp.ApplicationSession`)
:param fail: The failure that occurred.
diff --git a/autobahn/wamp/message.py b/autobahn/wamp/message.py
index bb65b2598..479267aac 100644
--- a/autobahn/wamp/message.py
+++ b/autobahn/wamp/message.py
@@ -1876,7 +1876,7 @@ def __init__(self,
assert(retain is None or type(retain) == bool)
assert(transaction_hash is None or type(transaction_hash) == str)
- # publisher exlusion and black-/whitelisting
+ # publisher exclusion and black-/whitelisting
assert(exclude_me is None or type(exclude_me) == bool)
assert(exclude is None or type(exclude) == list)
@@ -1930,7 +1930,7 @@ def __init__(self,
self._payload = payload
self._acknowledge = acknowledge
- # publisher exlusion and black-/whitelisting
+ # publisher exclusion and black-/whitelisting
self._exclude_me = exclude_me
self._exclude = exclude
self._exclude_authid = exclude_authid
diff --git a/autobahn/wamp/protocol.py b/autobahn/wamp/protocol.py
index 20028d2ce..4df0f1ec1 100644
--- a/autobahn/wamp/protocol.py
+++ b/autobahn/wamp/protocol.py
@@ -339,7 +339,7 @@ def _exception_from_message(self, msg):
else:
exc = exception.ApplicationError(msg.error)
- # FIXME: cleanup and integate into ctors above
+ # FIXME: cleanup and integrate into ctors above
if hasattr(exc, 'enc_algo'):
exc.enc_algo = msg.enc_algo
if hasattr(exc, 'callee'):
@@ -1237,7 +1237,7 @@ def error(err):
reg = self._registrations[msg.registration]
except KeyError:
raise ProtocolError(
- "UNREGISTERED received for non-existant registration"
+ "UNREGISTERED received for non-existent registration"
" ID {0}".format(msg.registration)
)
self.log.debug(
diff --git a/autobahn/wamp/test/test_wamp_protocol.py b/autobahn/wamp/test/test_wamp_protocol.py
index db7e790be..86969dfba 100644
--- a/autobahn/wamp/test/test_wamp_protocol.py
+++ b/autobahn/wamp/test/test_wamp_protocol.py
@@ -308,7 +308,7 @@ def errback(fail):
self.assertEqual(1, len(got_errors))
# ...now let the async errback continue by completing the
# Deferred we returned in our errback (could be fail or
- # success, shoudln't matter)
+ # success, shouldn't matter)
error_d.callback(None)
# ensure we (now) get our errback
@@ -666,7 +666,7 @@ def test_unregister_no_such_registration(self):
message.Unregister(0, 1234)
)
self.assertIn(
- "UNREGISTERED received for non-existant registration",
+ "UNREGISTERED received for non-existent registration",
str(ctx.exception)
)
diff --git a/autobahn/wamp/test/test_wamp_user_handler_errors.py b/autobahn/wamp/test/test_wamp_user_handler_errors.py
index f3a312fe6..b31a68a75 100644
--- a/autobahn/wamp/test/test_wamp_user_handler_errors.py
+++ b/autobahn/wamp/test/test_wamp_user_handler_errors.py
@@ -120,7 +120,7 @@ def test_on_join(self):
session.onJoin = exception_raiser(exception)
msg = create_mock_welcome()
- # give the sesion a WELCOME, from which it should call onJoin
+ # give the session a WELCOME, from which it should call onJoin
session.onMessage(msg)
# make sure we got the right error out of onUserError
@@ -133,7 +133,7 @@ def test_on_join_deferred(self):
session.onJoin = async_exception_raiser(exception)
msg = create_mock_welcome()
- # give the sesion a WELCOME, from which it should call onJoin
+ # give the session a WELCOME, from which it should call onJoin
session.onMessage(msg)
# make sure we got the right error out of onUserError
diff --git a/autobahn/websocket/protocol.py b/autobahn/websocket/protocol.py
index c4ef43f88..f2718bf18 100755
--- a/autobahn/websocket/protocol.py
+++ b/autobahn/websocket/protocol.py
@@ -1679,7 +1679,7 @@ def onFrameData(self, payload):
compressedLen = len(payload)
self.log.debug(
"RX compressed [length]: octets",
- legnth=compressedLen,
+ length=compressedLen,
octets=_LazyHexFormatter(payload),
)
diff --git a/autobahn/websocket/types.py b/autobahn/websocket/types.py
index 00f22f5a3..0e2e9bb71 100644
--- a/autobahn/websocket/types.py
+++ b/autobahn/websocket/types.py
@@ -159,7 +159,7 @@ def __init__(self, host=None, port=None, resource=None, headers=None, useragent=
:param int port: the port to present to the server
- :param str resouce:
+ :param str resource:
:param headers: extra HTTP headers to send in the opening handshake
:type headers: dict
diff --git a/autobahn/xbr/_cli.py b/autobahn/xbr/_cli.py
index 0fcb86930..9b6c19c98 100644
--- a/autobahn/xbr/_cli.py
+++ b/autobahn/xbr/_cli.py
@@ -310,7 +310,7 @@ async def _do_market_realm(self, details):
# buyer/seller (payment/paying) channel
channel_type = self.config.extra['channel_type']
- # the delgate allowed to use the channel
+ # the delegate allowed to use the channel
delegate = self.config.extra['delegate']
# amount of market coins for initial channel balance
diff --git a/autobahn/xbr/_config.py b/autobahn/xbr/_config.py
index 54674c304..a99bc62d6 100644
--- a/autobahn/xbr/_config.py
+++ b/autobahn/xbr/_config.py
@@ -473,7 +473,7 @@ def convert(self, value, param, ctx):
value = web3.Web3.toChecksumAddress(value)
adr = binascii.a2b_hex(value[2:])
if len(value) != 20:
- raise ValueError('Ethereum addres must be 20 bytes (160 bit), but was {} bytes'.format(len(adr)))
+ raise ValueError('Ethereum address must be 20 bytes (160 bit), but was {} bytes'.format(len(adr)))
except Exception as e:
self.fail(style_error(str(e)))
else:
diff --git a/autobahn/xbr/_mnemonic.py b/autobahn/xbr/_mnemonic.py
index 20f17823a..2602aefd2 100755
--- a/autobahn/xbr/_mnemonic.py
+++ b/autobahn/xbr/_mnemonic.py
@@ -140,7 +140,7 @@ def parse_derivation_path(str_derivation_path):
def mnemonic_to_private_key(mnemonic, str_derivation_path=LEDGER_ETH_DERIVATION_PATH, passphrase=""):
- """ Performs all convertions to get a private key from a mnemonic sentence, including:
+ """ Performs all conversions to get a private key from a mnemonic sentence, including:
BIP39 mnemonic to seed
BIP32 seed to master key
diff --git a/autobahn/xbr/_seller.py b/autobahn/xbr/_seller.py
index 8be6e5be3..4784a563f 100644
--- a/autobahn/xbr/_seller.py
+++ b/autobahn/xbr/_seller.py
@@ -577,7 +577,7 @@ def close_channel(self, market_maker_adr, channel_oid, channel_seq, channel_bala
def sell(self, market_maker_adr, buyer_pubkey, key_id, channel_oid, channel_seq, amount, balance, signature, details=None):
"""
- Called by a XBR Market Maker to buy a data encyption key. The XBR Market Maker here is
+ Called by a XBR Market Maker to buy a data encryption key. The XBR Market Maker here is
acting for (triggered by) the XBR buyer delegate.
:param market_maker_adr: The market maker Ethereum address. The technical buyer is usually the
diff --git a/docs/changelog.rst b/docs/changelog.rst
index a543df433..6f10f2eb1 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -502,7 +502,7 @@ Changelog
18.9.1
------
-* new: Interrupt has Options.reason to signal detailed origin of call cancelation (active cancel vs passive timeout)
+* new: Interrupt has Options.reason to signal detailed origin of call cancellation (active cancel vs passive timeout)
* fix: Cancel and Interrupt gets ``"killnowait"`` mode
* new: Cancel and Interrupt no longer have ``ABORT/"abort"``
@@ -786,7 +786,7 @@ Changelog
* new: support new UBJSON WAMP serialization format
* new: publish universal wheels
* fix: replaced `msgpack-python` with `u-msgpack-python`
-* fix: some glitches with `eligible / exlude` when used with `authid / authrole`
+* fix: some glitches with `eligible / exclude` when used with `authid / authrole`
* fix: some logging glitches
* fix: pin Twisted at 16.1.1 (for now)
diff --git a/docs/reference/autobahn.asyncio.rst b/docs/reference/autobahn.asyncio.rst
index e4de2161c..0f6dd72bf 100644
--- a/docs/reference/autobahn.asyncio.rst
+++ b/docs/reference/autobahn.asyncio.rst
@@ -7,7 +7,7 @@ Autobahn asyncio specific classes. These are used when asyncio is run as the und
Component
---------
-The component API provides a high-level funcional style method of defining and running WAMP components including authentication configuration
+The component API provides a high-level functional style method of defining and running WAMP components including authentication configuration
.. autoclass:: autobahn.asyncio.component.Component
:members:
diff --git a/docs/reference/autobahn.twisted.rst b/docs/reference/autobahn.twisted.rst
index f95cff21e..f0d619fae 100644
--- a/docs/reference/autobahn.twisted.rst
+++ b/docs/reference/autobahn.twisted.rst
@@ -6,7 +6,7 @@ Autobahn Twisted specific classes. These are used when Twisted is run as the und
Component
---------
-The component API provides a high-level funcional style method of defining and running WAMP components including authentication configuration
+The component API provides a high-level functional style method of defining and running WAMP components including authentication configuration
.. autoclass:: autobahn.twisted.component.Component
:members:
diff --git a/docs/wamp/programming.rst b/docs/wamp/programming.rst
index 07dd7065b..fb0a742a6 100644
--- a/docs/wamp/programming.rst
+++ b/docs/wamp/programming.rst
@@ -160,7 +160,7 @@ Many of the examples in this documentation use a decorator style with fixed, sta
It is important to remember that :class:`Component` handles re-connection -- this implies there are times when your component is **not** connected. The `on_join` handlers are run whenever a fresh WAMP session is started, so this is the appropriate way to hook in "initialization"-style code (`on_leave` is where "un-initialization" code goes). Note that each new WAMP session will use a new instance of :class:`ApplicationSession`.
-Here's a slightly more complex example that is a small `Klein`_ Web application that publishes to a WAMP session when a certian URL is requested (note that the Crossbario.io router supports `various REST-style integrations `_ already). Using a similar pattern, you could tie together two or more :class:`Component` instances (even connecting to two or more *different* WAMP routers).
+Here's a slightly more complex example that is a small `Klein`_ Web application that publishes to a WAMP session when a certain URL is requested (note that the Crossbario.io router supports `various REST-style integrations `_ already). Using a similar pattern, you could tie together two or more :class:`Component` instances (even connecting to two or more *different* WAMP routers).
.. _Klein: https://github.com/twisted/klein
@@ -438,7 +438,7 @@ A *Publisher* publishes events to topics by providing the topic URI and any payl
*Subscribers* subscribe to topics they are interested in with *Brokers*. *Publishers* initiate publication first at a *Broker*. *Brokers* route events incoming from *Publishers* to *Subscribers* that are subscribed to respective topics.
-The *Publisher* and *Subscriber* will usually run application code, while the *Broker* works as a generic router for events thus decoupling *Publishers* from *Subscribers*. That is, there can be many *Subscribers* written in different languages on different machines which can all receive a single event published by an independant *Publisher*.
+The *Publisher* and *Subscriber* will usually run application code, while the *Broker* works as a generic router for events thus decoupling *Publishers* from *Subscribers*. That is, there can be many *Subscribers* written in different languages on different machines which can all receive a single event published by an independent *Publisher*.
.. _subscribing-to-topics:
@@ -655,7 +655,7 @@ Before any logging happens of course you must activate the logging system. There
If you have instead got your own log-starting code (e.g. ``twistd``) or Twisted/asyncio specific log handlers (``logging.Handler`` subclass on asyncio and ``ILogObserver`` implementer under Twisted) then you will still get |Ab| and `Crossbar`_ messages. Probably the formatting will be slightly different from what ``txaio.start_logging`` provides. In either case, **do not depend on the formatting** of the messages e.g. by "screen-scraping" the logs.
-We very much **recommend using the ``txaio.start_logging()`` method** of activating the logging system, as we've gone to pains to ensure that over-level logs are a "no-op" and incur minimal runtime cost. We achieve this by re-binding all out-of-scope methods on any logger created by ``txaio.make_logger()`` to a do-nothing function (by saving weak-refs of all the loggers created); at least on `PyPy`_ this is very well optimized out. This allows us to be generous with ``.debug()`` or ``.trace()`` calls without incurring very much overhead. Your Milage May Vary using other methods. If you haven't called ``txaio.start_logging()`` this optimization is not activated.
+We very much **recommend using the ``txaio.start_logging()`` method** of activating the logging system, as we've gone to pains to ensure that over-level logs are a "no-op" and incur minimal runtime cost. We achieve this by re-binding all out-of-scope methods on any logger created by ``txaio.make_logger()`` to a do-nothing function (by saving weak-refs of all the loggers created); at least on `PyPy`_ this is very well optimized out. This allows us to be generous with ``.debug()`` or ``.trace()`` calls without incurring very much overhead. Your Mileage May Vary using other methods. If you haven't called ``txaio.start_logging()`` this optimization is not activated.
Upgrading
diff --git a/docs/work/README.md b/docs/work/README.md
index d6461a53d..aba85938e 100644
--- a/docs/work/README.md
+++ b/docs/work/README.md
@@ -8,7 +8,7 @@
* performance (passthrough of app payloads, general zero copy)
* support end-to-end encryption
-* carrying proprietory binary payloads (MQTT)
+* carrying proprietary binary payloads (MQTT)
* strict static typing of interfaces
---
@@ -44,13 +44,13 @@ The approach taken (**XX**) allows for a number of useful features:
1. flexible support of popular dynamically typed serializers, namely: JSON, MsgPack, CBOR and UBJSON
2. allow arbitrary adhoc extensibility (as the router basically does not care about new app payloads)
-3. transparantly translate the *application payload* between serialization formats used by different clients connected at the same time.
+3. transparently translate the *application payload* between serialization formats used by different clients connected at the same time.
4. support optional router side application payload validation: both static, and dynamic (calling into user supplied payload validators)
However, a number of downsides have become apparent as well:
1. resource consumption: serialization/deserialization can eat significant chunks of CPU, and produce GC pressure
-2. legacy (MQTT) and proprietory payloads that should simply be transported "as is" (passthrough, without ever touching)
+2. legacy (MQTT) and proprietary payloads that should simply be transported "as is" (passthrough, without ever touching)
3. as apps and systems get larger and more complex, the dynamic typing flexibility turns into a major problem: **the internal and external interfaces and APIs in a microservices based application must be relied upon and their evolution actively managed**
The latter does not mean an "either or" question. You can have important base APIs and external interfaces defined rigorously, using static, strict typing discipline, while at the same time have other parts of your system evolve more freely, basically allowing weakly and dynamically typed data exchange - for limited areas.
@@ -60,7 +60,7 @@ The latter does not mean an "either or" question. You can have important base AP
### Payload Transparency Mode
-**Payload Transparancy Mode (PTM)** adds a 4th application payload variant to above **XX**
+**Payload Transparency Mode (PTM)** adds a 4th application payload variant to above **XX**
4. `[CALL, Request|id, Options|dict, Procedure|uri, Payload|binary]`
diff --git a/docs/work/apps.rst b/docs/work/apps.rst
index 339b5f6e1..a67a4b25b 100644
--- a/docs/work/apps.rst
+++ b/docs/work/apps.rst
@@ -4,7 +4,7 @@ WAMP Application
Introduction
------------
-Flask-like syntaxe for WAMP projects.
+Flask-like syntax for WAMP projects.
This is intended to make it easier to start with autobahn/crossbar.io
and abstract a lot of things : you don't have to think about the main
diff --git a/docs/work/programming.rst b/docs/work/programming.rst
index c2a62b291..ea258bdb1 100644
--- a/docs/work/programming.rst
+++ b/docs/work/programming.rst
@@ -197,7 +197,7 @@ The direct asyncio equivalent of above would be:
> Note: Part of the verbosity stems from the fact that, different from Twisted's `addCallback`, asyncio's `add_done_callback` sadly does not take and forward `args` and `kwargs` to the callback added.
>
-However, there is a better way, if we restructure the code a litte:
+However, there is a better way, if we restructure the code a little:
.. code-block:: python
diff --git a/docs/xbr-cli.rst b/docs/xbr-cli.rst
index 54dc50b57..6388ed7d2 100644
--- a/docs/xbr-cli.rst
+++ b/docs/xbr-cli.rst
@@ -367,7 +367,7 @@ When doing ``xbrnetwork get-member``, the information returned will include both
as well as your balance of XBR Token (which is one coin that can be used as a market-payment-coin in markets
configured to use XBR as a means of payment).
-Transfering XBR tokens looks like this
+Transferring XBR tokens looks like this
.. thumbnail:: _static/screenshots/xbr-token-transfer.png
diff --git a/examples/running-the-examples.md b/examples/running-the-examples.md
index 11b21f6ba..42ad9daf8 100644
--- a/examples/running-the-examples.md
+++ b/examples/running-the-examples.md
@@ -39,7 +39,7 @@ To run an example, you can have two (or three) terminal sessions open with:
2. backend
3. the router (e.g. `crossbar`)
-You can also run the frontend/backend in the same shell by putting one in the background. This makes tbe examples less clear, however:
+You can also run the frontend/backend in the same shell by putting one in the background. This makes the examples less clear, however:
```shell
python twisted/wamp/pubsub/basic/frontend.py &
diff --git a/examples/twisted/wamp/README.md b/examples/twisted/wamp/README.md
index 4293cd0c8..6af9af77a 100644
--- a/examples/twisted/wamp/README.md
+++ b/examples/twisted/wamp/README.md
@@ -31,7 +31,7 @@ The following examples show two alternative ways of connecting a WAMP client to
* [Decorators](rpc/decorators): register RPC methods using decorators
* [Errors](rpc/errors): map custom error classes to WAMP URIs
* [Options](rpc/options): show some RegistrationOptions and CallOptions use
- * [Progress](rpc/progress): progressive results for long-running oprations
+ * [Progress](rpc/progress): progressive results for long-running operations
* [Slow Square](rpc/slowsquare): an RPC call that takes some time
* [Time Service](rpc/timeservice): XXX delete?
diff --git a/examples/twisted/websocket/streaming/streaming_producer_client.py b/examples/twisted/websocket/streaming/streaming_producer_client.py
index 07d604a17..b08deeafc 100644
--- a/examples/twisted/websocket/streaming/streaming_producer_client.py
+++ b/examples/twisted/websocket/streaming/streaming_producer_client.py
@@ -78,7 +78,7 @@ class StreamingProducerHashClientProtocol(WebSocketClientProtocol):
sent to streaming WebSockets server, which computes a running SHA-256,
which it will send every BATCH_SIZE octets back to us. This example
uses a Twisted producer to produce the byte stream as fast as the
- receiver can consume, but not faster. Therefor, we don't need the
+ receiver can consume, but not faster. Therefore, we don't need the
application-level flow control as with the other examples.
"""
diff --git a/examples/xbr/test_payment_channel.py b/examples/xbr/test_payment_channel.py
index 88b5c27a1..d2d1919ae 100644
--- a/examples/xbr/test_payment_channel.py
+++ b/examples/xbr/test_payment_channel.py
@@ -37,7 +37,7 @@ def main(accounts):
recipient = args['receiver']
channel = args['channel']
- print('Actor {} opened payment channel {} in market {} with inital deposit of {}, delegate {} and recipient {}!'.format(actor['addr'], hl(channel), market['id'], amount, hl(delegate), recipient))
+ print('Actor {} opened payment channel {} in market {} with initial deposit of {}, delegate {} and recipient {}!'.format(actor['addr'], hl(channel), market['id'], amount, hl(delegate), recipient))
if __name__ == '__main__':