Skip to content

recoord/python4yahdlc

 
 

Repository files navigation

python4yahdlc

PyPI Package Latest Release PyPI Package Downloads Per Month PyPI Package Python Versions Build Status Master Branch Build Status Develop Branch Code Coverage LGTM Grade LGTM Alerts

python4yahdlc is a Python binding of the yahdlc library, allowing to encode and decode HDLC frames.

Dependencies

This software requires Python 3.

Installation

With pip (recommanded)

pip3 install --upgrade python4yahdlc

From sources

git clone https://github.com/SkypLabs/python4yahdlc.git
cd python4yahdlc
git submodule update --init --recursive
python3 setup.py install

You need the setuptools package to execute setup.py.

Usage

To generate a new HDLC data frame:

from yahdlc import *

frame = frame_data('hello world!')

To generate a new HDLC ACK frame with a specific sequence number:

frame = frame_data('', FRAME_ACK, 3)

The highest sequence number is 7 and the following frame types are available:

  • FRAME_DATA
  • FRAME_ACK
  • FRAME_NACK

Note that when you generate an ACK or NACK frame, the payload is useless.

To decode a received HDLC frame:

data, ftype, seq_no = get_data(frame)

For a more advanced use, take a look at the examples available in the examples folder.

Development

Releasing a new version

Before publishing the new release:

  • Run all tests and be sure they all pass
  • Update the VERSION variable in setup.py
  • Update MANIFEST.in if needed
  • Update the package's metadata (description, classifiers, etc) in setup.py if needed
  • Update README.rst and examples/README.rst if needed

After having pushed the changes:

  • Edit the release note on GitHub

License

This project is released under the GPL version 3 license. The yahdlc library is released under the MIT license.

Packages

No packages published

Languages

  • C 56.4%
  • Python 43.6%