Skip to main content

Wrap the pytlas library across multiple channels

Project description

Library and Command Line Utilities to communicate with the pytlas open-source assistant using channels (such as GSM or MQTT).

Purpose

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.

Installation

$ 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

Getting started

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:

[pytlas]
skills_dir=skills/

[mqtt]
host=localhost
port=1883
username=
password=

Server

At the moment, the CLI will serve agents loaded from a configuration folder using MQTT.

It assumes the following directory structure:

  • your_data_folder/

    • 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

    • john/

      • 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

Client

Once your server is running, you can start a tiny REPL client with the command:

$ pytlas-broker repl

Testing

$ pip install -e .[test]
$ python -m nose --with-doctest -v --with-coverage --cover-package=pytlas_broker

Linting

$ pylint --rcfile .pylintrc pytlas_broker setup.py # in the root directory

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytlas_broker-1.0.0.tar.gz (15.3 kB view details)

Uploaded Source

File details

Details for the file pytlas_broker-1.0.0.tar.gz.

File metadata

  • Download URL: pytlas_broker-1.0.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for pytlas_broker-1.0.0.tar.gz
Algorithm Hash digest
SHA256 73bd69dba645698c5402e5da44ca20dce673656ecc3978455b95cb39d5745ce4
MD5 c7b6132d0b9e8bc9b556aabe1a9986b5
BLAKE2b-256 77aa30ec7583607e29047078a4b0112619631abf6a8635451171eaad00702170

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page