# Binho Host Adapter Python Libraries

### Introduction

Cross-platform Python 3.x library for automated control of binho multi-protocol USB host adapters. More information about the hardware can be found at https://www.binho.io

### Dependencies

This library requires [pySerial](https://github.com/pyserial/pyserial) for cross-platform access of the serial port. This can typically be installed simply by running the following command:
```
pip install pyserial
```

### Installation

This library can be installed easily with the following command:
```
pip install binho-host-adapter
```

### Example Usage

```python
from binhoHostAdapter import binhoHostAdapter
from binhoHostAdapter import binhoUtilities

print("Demo Script with Binho Host Adapter Python Libraries")
print

utilities = binhoUtilities.binhoUtilities()
devices = utilities.listAvailableDevices()

if len(devices) == 0:
	print("No Devices Found!")
	exit()

elif len(devices) == 1:
	COMPORT = devices[0]
	print("Found 1 attached adapter @ " + devices[0])
	print
else:
	COMPORT = devices[0]
	print("Found more than 1 attached adapter, using first device found on " + COMPORT)
	print

print("Opening " + COMPORT + "...")
print

# create the binhoHostAdapter object
binho = binhoHostAdapter.binhoHostAdapter(COMPORT)

print("Connecting to host adapter...")
print(binho.getDeviceID())
print
```
### Documentation

The full set of documentation for this python library can be found at https://support.binho.io/python-libraries

### Releasing an updated package to PyPI

Packaging and releasing a new build version for distribution can be acheived by following the procedure here:
https://packaging.python.org/tutorials/packaging-projects/

Be sure to increment the version in the `setup.py` file before building the distribution using the commands below.

Dependencies for the packaging/distribution process can be installed with the following commands:

```
pip install --upgrade setuptools
pip install --upgrade wheel
pip install --upgrade twine
```

Building and releasing a package can be achieved with the following commands:
```
python setup.py sdist bdist_wheel
python -m twine upload dist/*
```