Skip to main content

BURST link protocol

Binary Utility for Reliable Stream Transfer (BURST) is a cross-platform library that provides a robust link layer protocol for transmitting binary data over streams (e.g. UART). It ensures data integrity by applying a 16-bit checksum and utilizes COBS (Consistent Overhead Byte Stuffing) encoding to format packets efficiently.

Features

  • Multi-language Support: Seamless integration with Python, C, and C++ projects.
  • Reliable Transmission: 16-bit checksum ensures error detection.
  • Efficient Encoding: Uses COBS encoding to convert data into a stream-friendly format.

Design

The following diagram illustrates the data flow within the BURST protocol:

design

Installation

Prebuilt Wheels

Prebuilt wheels are available for Windows, Linux and MacOS, they can be installed using pip:

pip install burst-link-protocol

From Source

Note: You need a valid C++ compiler and Python 3.7+ installed on your system.

Basic installation

uv pip install --reinstall -e .

Fast build

uv pip install --reinstall --no-build-isolation -ve .

Auto rebuild on run

uv pip install --reinstall --no-build-isolation -Ceditable.rebuild=true -ve .
# or 
pip install --no-build-isolation -Ceditable.rebuild=true -ve .

Python Stub files generation

They are generated automatically buy can also be generated

python -m nanobind.stubgen -m nanobind_example_ext

Test

pytest test

Metadata

Release files for burst-link-protocol 1.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for burst-link-protocol 1.1.5
File Size Uploaded Provenance Actions
burst_link_protocol-1.1.5.tar.gz 44.3 kB With provenance Details for burst_link_protocol-1.1.5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for burst-link-protocol 1.1.5
File Actions
burst_link_protocol-1.1.5-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details for burst_link_protocol-1.1.5-pp311-pypy311_pp73-win_amd64.whl
burst_link_protocol-1.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details for burst_link_protocol-1.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
burst_link_protocol-1.1.5-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-32 Details for burst_link_protocol-1.1.5-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
burst_link_protocol-1.1.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 11.0+ ARM64 Details for burst_link_protocol-1.1.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl
burst_link_protocol-1.1.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 macOS 10.15+ x86-64 Details for burst_link_protocol-1.1.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
burst_link_protocol-1.1.5-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details for burst_link_protocol-1.1.5-pp310-pypy310_pp73-win_amd64.whl
burst_link_protocol-1.1.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-64 Details for burst_link_protocol-1.1.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
burst_link_protocol-1.1.5-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-32 Details for burst_link_protocol-1.1.5-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
burst_link_protocol-1.1.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64 Details for burst_link_protocol-1.1.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl
burst_link_protocol-1.1.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 10.15+ x86-64 Details for burst_link_protocol-1.1.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
burst_link_protocol-1.1.5-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details for burst_link_protocol-1.1.5-cp312-abi3-win_amd64.whl
burst_link_protocol-1.1.5-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details for burst_link_protocol-1.1.5-cp312-abi3-win32.whl
burst_link_protocol-1.1.5-cp312-abi3-musllinux_1_2_x86_64.whl CPython 3.12 abi3 Linux musl 1.2+ x86-64 Details for burst_link_protocol-1.1.5-cp312-abi3-musllinux_1_2_x86_64.whl
burst_link_protocol-1.1.5-cp312-abi3-musllinux_1_2_i686.whl CPython 3.12 abi3 Linux musl 1.2+ x86-32 Details for burst_link_protocol-1.1.5-cp312-abi3-musllinux_1_2_i686.whl
burst_link_protocol-1.1.5-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details for burst_link_protocol-1.1.5-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
burst_link_protocol-1.1.5-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-32 Details for burst_link_protocol-1.1.5-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
burst_link_protocol-1.1.5-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details for burst_link_protocol-1.1.5-cp312-abi3-macosx_11_0_arm64.whl
burst_link_protocol-1.1.5-cp312-abi3-macosx_10_14_x86_64.whl CPython 3.12 abi3 macOS 10.14+ x86-64 Details for burst_link_protocol-1.1.5-cp312-abi3-macosx_10_14_x86_64.whl
burst_link_protocol-1.1.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for burst_link_protocol-1.1.5-cp311-cp311-win_amd64.whl
burst_link_protocol-1.1.5-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for burst_link_protocol-1.1.5-cp311-cp311-win32.whl
burst_link_protocol-1.1.5-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for burst_link_protocol-1.1.5-cp311-cp311-musllinux_1_2_x86_64.whl
burst_link_protocol-1.1.5-cp311-cp311-musllinux_1_2_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-32 Details for burst_link_protocol-1.1.5-cp311-cp311-musllinux_1_2_i686.whl
burst_link_protocol-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for burst_link_protocol-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
burst_link_protocol-1.1.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32 Details for burst_link_protocol-1.1.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
burst_link_protocol-1.1.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for burst_link_protocol-1.1.5-cp311-cp311-macosx_11_0_arm64.whl
burst_link_protocol-1.1.5-cp311-cp311-macosx_10_14_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.14+ x86-64 Details for burst_link_protocol-1.1.5-cp311-cp311-macosx_10_14_x86_64.whl
burst_link_protocol-1.1.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for burst_link_protocol-1.1.5-cp310-cp310-win_amd64.whl
burst_link_protocol-1.1.5-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for burst_link_protocol-1.1.5-cp310-cp310-win32.whl
burst_link_protocol-1.1.5-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for burst_link_protocol-1.1.5-cp310-cp310-musllinux_1_2_x86_64.whl
burst_link_protocol-1.1.5-cp310-cp310-musllinux_1_2_i686.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-32 Details for burst_link_protocol-1.1.5-cp310-cp310-musllinux_1_2_i686.whl
burst_link_protocol-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for burst_link_protocol-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
burst_link_protocol-1.1.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32 Details for burst_link_protocol-1.1.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
burst_link_protocol-1.1.5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for burst_link_protocol-1.1.5-cp310-cp310-macosx_11_0_arm64.whl
burst_link_protocol-1.1.5-cp310-cp310-macosx_10_14_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.14+ x86-64 Details for burst_link_protocol-1.1.5-cp310-cp310-macosx_10_14_x86_64.whl

Total release size: 15.5 MB

Security for burst-link-protocol 1.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 35 files in this release have been uploaded with provenance metadata.

Select from 35 files

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page