Wrap the pytlas library across multiple channels
Library and Command Line Utilities to communicate with the pytlas open-source assistant using channels (such as GSM or MQTT).
It wraps the pytlas library in a tiny server accessible from multiple channels to make it easy to create clients in the language of your choice to trigger user agents.
$ pip install pytlas_broker # Gets the latest release from pypi $ git clone https://github.com/atlassistant/pytlas-broker && cd pytlas-broker && pip install -e . # or directly from source
For now, both the server and the client CLI communicates with an MQTT server. If you wish to provider host, port and credentials, just sets pytlas settings in the mqtt section:
skills/[mqtt] host= localhostport= 1883username= password=
At the moment, the CLI will serve agents loaded from a configuration folder using MQTT.
It assumes the following directory structure:
default/ # Represents the default directory if the user does not have one
skills/ # Referenced via the below pytlas.ini file
cache/ # Cache folder for pytlas interpreter
pytlas.ini # This file will be loaded at startup by the CLI for initial configuration
cache/ # Cache folder specific for that user
pytlas.ini # May override settings for this user only
When the server receive a message from an opened channel, it will create an agent for the user (if it doesn’t exist yet) and answer on the last available channel for that user.
To start the broker, use the following command:
$ pytlas-broker serve your_data_folder/
And if you have already cloned the pytlas repository in the previous folder, you can serve the examples right away using:
$ pytlas-broker serve ../pytlas/ --default example
Once your server is running, you can start a tiny REPL client with the command:
$ pytlas-broker repl
$ pip install -e .[test] $ python -m nose --with-doctest -v --with-coverage --cover-package=pytlas_broker
$ pylint --rcfile .pylintrc pytlas_broker setup.py # in the root directory
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.