/axia-pathfinder-client

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

axia-pathfinder-client

This is an early start at writing a python client/sdk for the the telnet based API on Axia Pathfinder software/appliances from the Telos Alliance.

Currently it is more a proof of concept rather than anything ready for production. We have plans to integrate it with our current songticker glue code.

Please raise an issue if you would like to collaborate with Radio Bern RaBe on this python/pathfinder integration effort. We plan on primarily focusing this library on our needs but contributions are always welcome and we would be happy to accomodate you!

Features

  • partially implements the "SAPv2" protocol as described in the pathfinder manual
    • only "LOGIN", "GET" and "SUB" operators are currently supported
    • "INDI" responses to "GET" requests get parsed and returned in a timeout governed timeout fashion
  • Also works with xNode Telnet interfaces
    • GPO responses to "GPO" requests are currently parsed
  • Uses a PEG-style parser-combinator based on parsy to parse responses from the telnet interfaces

Contributing

Please let us know what you would like to contribute before you get invested! This is really a proof of concept at this stage.

Development

python -mvenv venv
. venv/bin/activate

pip install poetry

poetry install

pre-commit hook

pip install pre-commit
pre-commit run -a

Testing

poetry run pytest