Metadata-Version: 2.1
Name: dynatalk
Version: 0.7.3
Summary: 
Author: wwj718
Author-email: wuwenjie718@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: amqtt (>=0.11.0b1,<0.12.0)
Requires-Dist: paho-mqtt (>=1.6.1,<2.0.0)
Description-Content-Type: text/markdown

# dynatalk-py

This repository is the Python client of [Dynatalk](https://github.com/wwj718/Dynatalk).

> Dynatalk focuses on communication among objects, especially concerning interoperability among different languages/environments. -- [Dynatalk](https://github.com/wwj718/Dynatalk).

To use Dynatalk, you need to:

1. [Run an MQTT broker](https://github.com/wwj718/Dynatalk/blob/main/mqtt/readme.md)
2. Start programming with the dynatalk client.

## Install

```bash
pip install dynatalk
```

## get started

```py
from dynatalk import Supervisor, PyDemoAgent

supervisor = Supervisor()
# The agent object can work as a server (providing services to other agents) or work as a client (requesting services from other agents).
agent = PyDemoAgent("PyDemoAgent") # PyDemoAgent provides two services: add, echo
supervisor.addAgent(agent)

# As a **client**, agent requests PyDemoAgent to execute add, the parameters are [1, 2]
agent.request("PyDemoAgent", "add", [1 ,2])
# agent.request("LivelyDemoAgent", "add", [1, 2])

# Unlike request, sendTo does not require a response
# agent.sendTo...
```

to discover agents on the current network:

```py
agent.broadcastHelp()
time.sleep(1)
print(agent.availableActions)
```

## CLi tools

### dynatalk message monitor

```bash
dynatalk-monitor
```

## FAQ

### Set up MQTT

Use environment variables to set up MQTT.


default is:

```
MQTT_HOST: 127.0.0.1
MQTT_PORT: 1883
MQTT_USERNAME: guest
MQTT_PASSWORD: test
```

[How to set environment variables in Python?](https://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python)



