Skip to main content

Python bindings for the Group Protocol Stack: a layered, end-to-end encrypted group-messaging protocol family built on top of MLS (RFC 9420).

Project description

gbp-stack — Python bindings for the Group Protocol Stack

License: Apache 2.0

Python bindings for the Group Protocol Stack: a layered, end-to-end encrypted group-messaging protocol family built on top of MLS (RFC 9420).

This package wraps the native gbp_stack shared library through ctypes. The wheel for each supported platform bundles the appropriate native binary under gbp_stack/_native/<rid>/.

Layers

┌── application ──────────────────────────────────────────────────────┐
│   GtpClient · GapClient · GspClient   (TCP / UDP / SCTP-like)       │
├──────────────────────────────────────────────────────────────────────┤
│   GroupNode (GBP — IP-like base)                                    │
├──────────────────────────────────────────────────────────────────────┤
│   MlsContext (RFC 9420)                                             │
└──────────────────────────────────────────────────────────────────────┘

Quick start

from gbp_stack import MlsContext, GroupNode, GtpClient

with MlsContext.create("alice") as alice_mls, \
     MlsContext.create("bob")   as bob_mls:

    bob_kp  = bob_mls.export_key_package()
    welcome = alice_mls.invite(bob_kp)
    bob_mls.accept_welcome(welcome)

    group_id = alice_mls.group_id
    with GroupNode.create(member_id=1, group_id=group_id) as alice, \
         GroupNode.create(member_id=2, group_id=group_id) as bob, \
         GtpClient.create() as gtp_alice, \
         GtpClient.create() as gtp_bob:

        alice.bootstrap_as_creator(alice_mls.epoch)
        bob.bootstrap_as_joiner(bob_mls.epoch)

        frame = gtp_alice.send(alice, alice_mls, target=2,
                                message_id=0xCAFE_F00D, text="hello")
        for ev in bob.on_wire(bob_mls, frame.wire):
            if ev.kind == "payload_received" and ev.stream_type == 2:
                print(gtp_bob.accept(ev.plaintext).text)

License

Licensed under Apache License, Version 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gbp_stack-0.2.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gbp_stack-0.2.0-cp311-cp311-win_arm64.whl (13.3 kB view details)

Uploaded CPython 3.11Windows ARM64

gbp_stack-0.2.0-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

gbp_stack-0.2.0-cp311-cp311-manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11

gbp_stack-0.2.0-cp311-cp311-manylinux2014_aarch64.whl (13.2 kB view details)

Uploaded CPython 3.11

gbp_stack-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

gbp_stack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file gbp_stack-0.2.0.tar.gz.

File metadata

  • Download URL: gbp_stack-0.2.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gbp_stack-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d244b6e4b7f559ee8fb58474fa876e244c2601e3e7de23be66548b24aa0c8777
MD5 346e42b0cb202292517f3c0d91a30c7f
BLAKE2b-256 f7d65ac312f1e372c6cc3038e225e29b4812540beec28fee1a0180c37304819a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0.tar.gz:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: gbp_stack-0.2.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 abdd9c461031be710e66a19baf21033cc7be3f044bbfb16735fb3fd81e1560a2
MD5 8db305f98fea937dd7f6245581a9edb8
BLAKE2b-256 c35d7d9112dfabd5e0baa0827922f134fdd7864577526c41c959a51e638b44be

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-win_arm64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: gbp_stack-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6ff77caabce28088c6342bab36a896cf927c3d83650ed0ff2fb6a6c4c8914ba7
MD5 77e2369b6a77630f3b7b9d99e42f5137
BLAKE2b-256 b6840c902d5447373e88318b366c82d956205adbc38c7a5bace887306ff602ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22bb00ff5b7957a7ac8eb7836110e37b16709e719c51de838b96a5820d936e31
MD5 62c3a3bd51bd7029914eefc72fc1255c
BLAKE2b-256 3b9f2e0cddbd849d6737d76422e57fa3ddf4756204e75de93be646c3c5f17022

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-manylinux2014_x86_64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff17e8eca199294f36f9ef14b3c19e577c15b6f41925b26f0ff52ecd234832af
MD5 97630f6b3df3d84024efa92b11b18566
BLAKE2b-256 0fed2f6e8c9a37fe03a90e9fa590f1e0db671c77630dd0cc5071dbb42a717a2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-manylinux2014_aarch64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3e1db41b8dcd9459f5fdfe361463f995180f0511ab486c6f5c065fb26651d656
MD5 77f0c456387ebdb2c163945e6f4583bb
BLAKE2b-256 df11f168e912ac1334b11bd59ed110f2206d7d3a6ea9bb3dc53fcabae580c6c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gbp_stack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gbp_stack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 264db243a0213a7c4481a7fc112014e9f55a2c88710b648ffe53b6b458ed2808
MD5 9d745dd5a4dd41e5299577bb6d87cb4c
BLAKE2b-256 44d6e13fd5816bbd58202807cd9babf251d2e2b12db18876736a5b9227c000cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on F000NKKK/Group-Protocol-Stack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page