<commit_before># The Python Banyan Framework
![](https://github.com/MrYsLab/python_banyan/blob/master/images/BanyanTree.png)


The Python Banyan Framework is a lightweight, reactive framework used to
create flexible, non-blocking, event driven, asynchronous applications.

Python Banyan comes with [full documentation](https://mryslab.github.io/python_banyan/#)
 that includes a [User's Guide](https://mryslab.github.io/python_banyan/#users_guide/) 
 with hands-on examples, as well documentation for the
 [OneGPIO Project](https://mryslab.github.io/python_banyan/#gpio_intro/) 
 that allows you to quickly and easily build reusable GPIO projects for the
 Arduino, ESP-8266, and Raspberry Pi.

Base class API's may be viewed [here.](http://htmlpreview.github.com/?https://github.com/MrYsLab/python_banyan/blob/master/html/python_banyan/index.html)

It is being used by [Palace Games](https://www.raspberrypi.org/blog/raspberry-pi-escape-room/)
to concurrently monitor hundreds of real-time sensors and actuators.

* Based on a network connected Publish/Subscribe model,  Banyan components publish 
user defined protocol messages in the form of Python dictionaries.
* A Banyan protocol message may contain Numpy data.
* Applications may reside on a single computer or be distributed across 
multiple computers without having to change source code.
* Compatible Banyan Frameworks are available for [JavaScript](https://github.com/MrYsLab/js-banyan), [Ruby](https://github.com/MrYsLab/rb_banyan), and
[Java](https://github.com/MrYsLab/javabanyan). Components written in any of these languages can interact with components of a differing language without modification.
* Runs on Python 2 or Python 3 (recommended).


To install,  view the full [installation instructions.](https://mryslab.github.io/python_banyan/install/#installing-python-banyan_1)

A Simple Banyan Echo Server:

```
import sys<commit_msg>added html API documenatation<commit_after># The Python Banyan Framework
![](https://github.com/MrYsLab/python_banyan/blob/master/images/BanyanTree.png)


The Python Banyan Framework is a lightweight, reactive framework used to
create flexible, non-blocking, event driven, asynchronous applications.

Python Banyan comes with [full documentation](https://mryslab.github.io/python_banyan/#)
 that includes a [User's Guide](https://mryslab.github.io/python_banyan/#users_guide/) 
 with hands-on examples, as well documentation for the
 [OneGPIO Project](https://mryslab.github.io/python_banyan/#gpio_intro/) 
 that allows you to quickly and easily build reusable GPIO projects for the
 Arduino, ESP-8266, and Raspberry Pi.

Base class API's may be viewed [here.](http://htmlpreview.github.com/?https://github.com/MrYsLab/python_banyan/blob/master/html/python_banyan/index.html)


It is being used by [Palace Games](https://www.raspberrypi.org/blog/raspberry-pi-escape-room/)
to concurrently monitor hundreds of real-time sensors and actuators.

* Based on a network connected Publish/Subscribe model,  Banyan components publish 
user defined protocol messages in the form of Python dictionaries.
* A Banyan protocol message may contain Numpy data.
* Applications may reside on a single computer or be distributed across 
multiple computers without having to change source code.
* Compatible Banyan Frameworks are available for [JavaScript](https://github.com/MrYsLab/js-banyan), [Ruby](https://github.com/MrYsLab/rb_banyan), and
[Java](https://github.com/MrYsLab/javabanyan). Components written in any of these languages can interact with components of a differing language without modification.
* Runs on Python 2 or Python 3 (recommended).


To install,  view the full [installation instructions.](https://mryslab.github.io/python_banyan/install/#installing-python-banyan_1)

A Simple Banyan Echo Server:

```
import sys
{'fraction_non_alphanumeric': 0.09521318336385037, 'fraction_numerical': 0.0036620455139942452, 'mean_word_length': 5.2178861788617885, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 20, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '696238', 'n_tokens_mistral': 1194, 'n_tokens_neox': 1093, 'n_words': 366}