Skip to main content

Python wrapper for the Unfolded Circle Integration API

Project description

Python API wrapper for the UC Integration API

PyPi License Code style: black

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:

Installation

Use pip:

pip3 install ucapi

See examples directory for some minimal integration driver examples.

Environment Variables

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

Versioning

We use SemVer for versioning. For the versions available, see the tags and releases on this repository.

Changelog

The major changes found in each new release are listed in the changelog and under the GitHub releases.

Contributions

Please read our contribution guidelines before opening a pull request.

License

This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for details.

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

ucapi-0.5.2.tar.gz (54.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ucapi-0.5.2-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file ucapi-0.5.2.tar.gz.

File metadata

  • Download URL: ucapi-0.5.2.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ucapi-0.5.2.tar.gz
Algorithm Hash digest
SHA256 2ae8073e2045cdc68e04c876674c5bc2de4d527e13d6650e8fa6bd35fb3a57e9
MD5 5e0975be4557c4aa2bcb1af6145870bf
BLAKE2b-256 07115e3a21213c5dc83f811c28835b6fcf09e4e55a0f10778e7a517e334c13e5

See more details on using hashes here.

File details

Details for the file ucapi-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: ucapi-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ucapi-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 acfe2ed6fe3619b589b3f4b0172d8a4f86ea1960ccfd3f2fd70d408c9be2dad1
MD5 48a5f9cafcd63c074a5bbd9dc02fee86
BLAKE2b-256 cddc2e76db66a470d0cecad1fbaad62b16040d9106b62b672c06b46406a10096

See more details on using hashes here.

Supported by

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