Skip to main content

A Python client for LAN communications with Tewke devices

Project description

ci

pytewke

A Python client for local CoAP communications with Tewke devices

This library is under development

Usage

Install

pip install pytewke

Examples

Discovering Scenes and Targets

import asyncio
from pprint import pprint

from pytewke import Tap
from pytewke.error import PyTewkeDiscoveryError


async def test_device():
    """Test Tap Panel device."""
    # Replace with your device's IP address
    host = "w.x.y.z"

    tap = Tap(host)
    try:
        await tap.discover()
    except PyTewkeDiscoveryError as err:
        print(f"Error connecting to {host}, error: {repr(err)}")
        return

    print("Targets:")
    targets = await tap.get_targets()
    pprint(targets)

    print("Scenes:")
    scenes = await tap.get_scenes()
    pprint(scenes)


if __name__ == "__main__":
    asyncio.run(test_device())

Example script

The repository includes an example script to quickly try it out.

Uncomment the relevant lines in example.py to run different examples like discovering resources, reading config, observing state, etc.

python3 example.py

Note: if you have not installed pytewke but have cloned the library instead, you will need to add the src folder to your PYTHONPATH:

PYTHONPATH="${PYTHONPATH}:/path/to/pytewke/src" python3 example.py

Development

Requirements

  • aiocoap
  • cbor2
  • pydantic

Note: Python versions older than 3.12 have not been tested.

Development requirements

Run the following command inside this folder

pip install .[dev]

Note: You will need to add the src folder to your PYTHONPATH when using the example script or while running tests.

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

pytewke-0.5.0.tar.gz (35.5 MB view details)

Uploaded Source

Built Distribution

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

pytewke-0.5.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file pytewke-0.5.0.tar.gz.

File metadata

  • Download URL: pytewke-0.5.0.tar.gz
  • Upload date:
  • Size: 35.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pytewke-0.5.0.tar.gz
Algorithm Hash digest
SHA256 76f801b8a8556d2bebf90ebc260ecd7fae202765794b093474925f5a65b33322
MD5 0825d2df84f5d32927f57a9a3b648e65
BLAKE2b-256 d8f14b5631bb092a0de2408bb54dba98f31d0e9d9cb27ef7ecdc09593142d7a6

See more details on using hashes here.

File details

Details for the file pytewke-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pytewke-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pytewke-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eae27be711e5819f510e23733e14b3c8a19da4555c6d90fa44a8ca3af36696ba
MD5 0afe4e77a292cd98ee8fb4e47c725f90
BLAKE2b-256 d0ca26bc92bdf3edff778fd53fcac655a794fbf568487d17749ab253b7048b04

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