README.md
# spoke_core
[](https://hex.pm/packages/spoke_core)
[](https://hexdocs.pm/spoke_core/)
This package defines the purely functional core of an MQTT client, using
[drift](https://hexdocs.pm/drift).
For a fully functional MQTT client, you can use the following packages instead:
* [spoke_mqtt_actor](https://hexdocs.pm/spoke_mqtt_actor) wraps the
functionality in an OTP actor on the Erlang target, and
[spoke_tcp](https://hexdocs.pm/spoke_tcp) provides TCP-based transport on Erlang.
* [spoke_mqtt_js](https://hexdocs.pm/spoke_mqtt_js) provides a WebSocket-based
wrapper for the JavaScript target.
As the package is primarily not intended for direct use,
the documentation is a bit sparse.