Skip to main content

Zusi3 TCP Client library with async support and no deps

Project description

WARNING

Zusi 3.5 introduced breaking changes without increasing API version, so ensure to use pyzusi 1.2.1 for Zusi 3.4 and below

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

AutoSifa Tool

Can be downloaded here, built as one file python executable, digitally signed ZusiData

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

Uploaded Source

Built Distribution

pyzusi3-3.0.0-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyzusi3-3.0.0.tar.gz
Algorithm Hash digest
SHA256 be3e3e65ddb9c9ce32b3a7fe69c69dff08c50367b9fa6ee8c7895d5e0f61942e
MD5 2da4f9d74716e49a82565b0c7f763c9d
BLAKE2b-256 ec16ef56855a034b30fe4c99f582dc7b0966ca52b5e7455a16f13d4f3a236441

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyzusi3-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3449167fee757cd417b2f58a9bc641a5ce1148760af3fb8319423604625e1ec8
MD5 7cbdd8dfba4b28729f78be9331abba77
BLAKE2b-256 d4ddd99fb650ae330b8f96144ea76669809e02b5a19436cf502c47cd9dcf6257

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