This library simplifies writing Python-based integrations for the Unfolded Circle Remote devices by wrapping the WebSocket Integration API and supporting the available entities.
Note
Please note that this library is more of a convenience Python wrapper for the WebSocket Integreation-API than a full-featured SDK. It is based on our Node.js integration library.
Important
This is our first Python project, and we don't see ourselves as Python professionals.
Therefore, the library is most likely not yet that Pythonic!
We are still learning and value your feedback on how to improve it :-)
Not yet supported:
- Secure WebSocket
- Token-based authentication
Requirements:
- Python 3.11 or newer
Integrations using this library:
Use pip:
pip3 install ucapiSee examples directory for some minimal integration driver examples.
Certain features can be configured by environment variables:
| Variable | Values | Description |
|---|---|---|
| UC_CONFIG_HOME | directory path | Configuration directory to save the user configuration from the driver setup. Default: $HOME or current directory |
| UC_INTEGRATION_INTERFACE | address | Listening interface for WebSocket server. Default: 0.0.0.0 |
| UC_INTEGRATION_HTTP_PORT | number | WebSocket listening port. Default: port field in driver metadata json file, if not specified: 9090 |
| UC_MDNS_LOCAL_HOSTNAME | hostname | Published local hostname in mDNS service announcement. Default: short hostname with .local domain. |
| UC_DISABLE_MDNS_PUBLISH | true / false |
Disables mDNS service advertisement. Default: false |
We use SemVer for versioning. For the versions available, see the tags and releases on this repository.
The major changes found in each new release are listed in the changelog and under the GitHub releases.
Please read our contribution guidelines before opening a pull request.
This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for details.