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.1.1.tar.gz (87.0 kB view details)

Uploaded Source

Built Distribution

pyzusi3-1.1.1-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyzusi3-1.1.1.tar.gz
  • Upload date:
  • Size: 87.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pyzusi3-1.1.1.tar.gz
Algorithm Hash digest
SHA256 fe0af4488919d089fca7a72cdf99a581635632438b14eed2d9d04b58e075309a
MD5 b41f11f35e83f5d46a4826eaa0203317
BLAKE2b-256 3faddf896e3ff9b1498df95ff030aab151f39ab38c373308d41733e6b1a39a02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyzusi3-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pyzusi3-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bac9a5b421053a99f4724fe5fb6534bc25a91d9a92312adb6fd537851a92971f
MD5 93c93993cbd365b6eb0eace2bce82c28
BLAKE2b-256 fe0432a3c00b3f571589422102c67551f1080e13690934af9e94761c63b4b3bb

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