galaxy-beep-frame (0.2.2)

Published 2026-09-07 00:48:25 +00:00 by linarphy in linarphy/galaxy-beep-frame

Installation

pip install --index-url  galaxy-beep-frame

About this package

Interface for BEEP Frame manipulation

Galaxy BEEP frame

Build and manage Block Extensible Exchange Protocol (BEEP) Frame.

Getting started

Requirements

  • Python >= 3.14

Installation

Tip

This library is a core component of galaxy_beep, a soon to be developed BEEP server. Installing it alone is not intended as it is designed as a dependency.

To install this package in the current python environment, use: python -m pip install galaxy_beep_frame

Usage

from io import BytesIO

from galaxy_beep_frame import (
    Frame,
    ContinuationIndicator,
    PossibleHeaderType,
)

# emitter
frame = Frame(
    payload=(
        b"Content-Type: application/beep+xml\r\n"
        b"\r\n"
        b"<greeting>\r\n"
        b"   <profile uri='http://iana.org/beep/TLS' />\r\n"
        b"</greeting>\r\n"
    ),
    channel_number=0,
    message_number=0,
    sequence_number=0,
    answer_number=None,
    continuation_indicator=ContinuationIndicator.COMPLETE,
    header_type=PossibleHeaderType.RPY,
)

bus = BytesIO()
frame.write(bus)

# client
frames = list(Frame.read(bus))

if len(frames) > 0:
    greeting_frame = frames[0]

Caution

This library is intended for developer use. It is a component of galaxy_beep package, not yet developed. It is not intended to use alone.

Documentation

A complete documentation is available in the wiki.

Development

Development Requirements

This project use mise to manage development tools.

Tip

If mise is installed, and mise.toml is trusted with mise trust, all tools can be installed automatically with `mise install``

This project use the following tools:

  • just: command runner
  • hatch: project manager and package builder
  • uv: package installer
  • ruff: python linter and formatter
  • ty: python type checker
  • jujutsu: version control

Note

Tools used in the project consume and produce interoperable format to avoid vendor lock-in. This is the toolchain of the current maintener.

Development Usage

just can be used to speed up development for an identical toolchain.

Before making a commit, just fix will run all tests, format the code, lint and type check. If you don’t want to modify the code, just check will run all tests, lint and type check without any attempt to fix any issue.

Before a version change, just release will push all local commits to repository and publish the new package version.

All available commands can be listed with just -l.

License

This project is licensed under the GNU GPL v3+. See license file for more information.

Acknowledgement

Thanks to all the people that worked on the tools used, like python, neovim and mise.

Requirements

Requires Python: >=3.14
Details
PyPI
2026-09-07 00:48:25 +00:00
12
431 KiB
Assets (2)
Versions (11) View all
0.2.2 2026-09-07
0.2.1 2026-09-07
0.2.0 2026-09-07
0.1.2 2026-09-02
0.1.1 2026-08-31