semvec/pypi-packages huggingface dataset:
odyssey-posbus-client 0.0.1a5
Odyssey posbus client
Requires Python: >=3.10

# Python client

Python library to connect to Momentum websocket backend.

The Momentum backend exposes a websocket with a custom binary protocol. This library is for client to connect and talk the custom protocol.

** This a low level library wrapping the Go client code, not for direct usage. **


## Requirements

- Python 3.10 or 3.11
- Currently Linux x86_64 platform, else you have to build the client library yourself.

To build:
- Make
- Go 1.20+
- [Hatch](https://hatch.pypa.io/latest/)



## Build

For a local development build, run make from the project top level dir:

`make py`

This will generate a python package inside `py/odyssey_posbus_client` and a wheel package in `py/dist`.


## Distribute

To build official wheel packages, [cibuildwheel](https://cibuildwheel.readthedocs.io/) is required.

`make python_wheels`


## Release

Releases are done automatically based on git tags. Create a git tag like `py@1.2.3` to trigger CI/CD workflow.


## Implementation

This auto generates python bindings for the Go client code. By first generating a C library with cgo and then generating python bindings for that.
Because of limitations of the generation tool a custom Go package is used to create a simplified interface.