aiocoap – The Python CoAP library¶
It uses the asyncio module introduced in Python 3.4 to facilitate concurrent operations while maintaining a simple to use interface and not depending on anything outside the standard library.
aiocoap is originally based on txThings. If you want to use CoAP in your existing twisted application, or can not migrate to Python 3 yet, that is probably more useful to you than aiocoap.
All examples can be run directly from a source code copy. If you prefer to install it, the usual Python mechanisms apply.
When application/link-format typed resources (RFC 6690) are supposed to be used, the link_header module is required as well. When the respective code paths are used without the module, an ImportError will be raised, or a 5.00 status code will be returned.
aiocoap tries to stay close to PEP8 recommendations and general best practice,
and should thus be easy to contribute to. Unit tests are implemented in the
./tests/ directory; complete test coverage is aimed for, but not yet
complete (and might never be, as the error handling for pathological network
partners is hard to trigger with a library designed not to misbehave).
Documentation is built using sphinx; hacks used there are described in
Bugs from design goal and wishlist to typos are currently tracked in github (see below).
aiocoap is published under the MIT License, see LICENSE for details.
- Copyright (c) 2012-2014 Maciej Wasilak <http://sixpinetrees.blogspot.com/>,
- 2013-2014 Christian Amsüss <firstname.lastname@example.org>
- aiocoap module
- aiocoap.protocol module
- aiocoap.message module
- aiocoap.interfaces module
- aiocoap.proxy module
- aiocoap.proxy.client module
- aiocoap.proxy.server module
- aiocoap.cli module
- aiocoap.cli.proxy module
- aiocoap.numbers module
- aiocoap.error module
- aiocoap.options module
- aiocoap.optiontypes module
- aiocoap.resource module
- aiocoap.dump module
- aiocoap.util module
- aiocoap.util.asyncio module
- aiocoap.util.queuewithend module
- Usage Examples
- CoAP tools