Skip to main content

Zusi3 TCP Client library with async support and no deps

Project description

pyzusi3

Library to talk to Zusi3 without any specialized purpose.

Intentionally the message parameters are taken almost word-by-word from Zusi documentation to make using the lib easier. So be prepared for some mixing of code language (english) and zusi-lib language (german).

Examples

Minimal code example

import asyncio

async def print_state(client):
    while True:
        print(client.local_state)
        asyncio.sleep(1)

tasks = []
async def main(ip, port):
    client = ZusiClient(ip, port, "pyzusi3 demo", "1.0")
    client.request_status(displays=[
            messages.FAHRPULT_ANZEIGEN.GESCHWINDIGKEIT,
            messages.FAHRPULT_ANZEIGEN.STATUS_SIFA
        ],
        programdata=[
            messages.PROGRAMMDATEN.ZUGDATEI,
            messages.PROGRAMMDATEN.ZUGNUMMER
        ]
    )

    main_task = asyncio.create_task(client.connect())
    tasks.append(main_task)

    watch_task = asyncio.create_task(print_state(client))
    tasks.append(watch_task)

if __name__ == "__main__":
    run_loop = asyncio.new_event_loop()
    run_loop.create_task(main(ZUSI_IP, ZUSI_PORT))
    run_loop.run_forever()

Interaction simulation

see interactiondemo.py

PySide6 UI

ZusiData

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

pyzusi3-1.2.1.tar.gz (89.4 kB view details)

Uploaded Source

Built Distribution

pyzusi3-1.2.1-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file pyzusi3-1.2.1.tar.gz.

File metadata

  • Download URL: pyzusi3-1.2.1.tar.gz
  • Upload date:
  • Size: 89.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pyzusi3-1.2.1.tar.gz
Algorithm Hash digest
SHA256 925ee3581967a940253a6bf86df9fd0c377d42f3f15a6b8cf6654690f42e547e
MD5 30029fe2066802096d8d6bb13794b892
BLAKE2b-256 86a6c70136244ea937963abfed64426e6ea79f628b6f31a7c263f2fed9de03ec

See more details on using hashes here.

File details

Details for the file pyzusi3-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyzusi3-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for pyzusi3-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2bd50f6e03d3c5c009a2759cf32e5e27bb96de83b9858376609889cf0861d361
MD5 81c1af001ceeb153cc14a684d8c277e6
BLAKE2b-256 82673fe9e64d86d2eb71e28c76692ec2f8030344058b0b3cf0074e50256285eb

See more details on using hashes here.

Supported by

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