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-1.0.0rc1.tar.gz (10.5 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-1.0.0rc1-cp311-cp311-win_arm64.whl (13.4 kB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11

gbp_stack-1.0.0rc1-cp311-cp311-manylinux2014_aarch64.whl (13.3 kB view details)

Uploaded CPython 3.11

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

Uploaded CPython 3.11macOS 11.0+ x86-64

gbp_stack-1.0.0rc1-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-1.0.0rc1.tar.gz.

File metadata

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

File hashes

Hashes for gbp_stack-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 18b079afe5cb85ac9f620339adbc817a55191ba90f627471331bf82a40fa53d4
MD5 a8d29a4169246e210a829aa8bb9aa9a4
BLAKE2b-256 518bd5e529f08230192a4bfb1e4cc224116496d13b99a6c471f7a23bb0abe289

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1.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-1.0.0rc1-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 4c872a70d426d286460e9a5bc38d72817de38a85563665bccc6d3f11e2f0847a
MD5 456c88e6dc0a7a60fe569115a672b5c5
BLAKE2b-256 336f7b30847a5444fab20af4808eb1cb2e26831a149ba2fb8b77845c23448105

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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-1.0.0rc1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6de72c4ee2ace90009fc6441c7572024c8c48b18e6163380cb08133fca181026
MD5 11f25e8b7279f79f1f399d79337944d3
BLAKE2b-256 4a55cd95745f757265766f5fc56b0cb0dbcc79e036b0e6daf6d64a8d6c5813c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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-1.0.0rc1-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da35f643a27408dd42ca489a45ead6124015d4fc5ae3b84678185da2185484ab
MD5 65e4dd5175f3ad431a3d7c28cf64c333
BLAKE2b-256 58cd4b78dfa6de380e85cc04f3278cbf02807f1e35aa1fcbb8d7e9bafb8adab5

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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-1.0.0rc1-cp311-cp311-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6de4ec9e104f47f7253751e4b3cc178505d518f1bf86a0e3ada0d17bb7f2536
MD5 ca57da4c2eee1962d65ab47d75bb043d
BLAKE2b-256 506d540469171c2f7a81e114f7f4a7bfa48a37cd45a2ccd069dcfdfbc3b05541

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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-1.0.0rc1-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 483663b0894f66d387c025054db0c29c84d8e1183da5c11c0aee9a224d353334
MD5 5165c12c430aea34819eb02b035c294e
BLAKE2b-256 4f22f8f17f15119a9c7ac3cca945588a43273051f1e98b96e7f0ab676710fabb

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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-1.0.0rc1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ff3098f23623e3d651f02dff081b5990b434f1d3e1029bd28e4a0008f4dba57
MD5 8e0703c3ee68b51d0a301329d3711295
BLAKE2b-256 32bfc173d4e1b38ab57ba5f32382ce8bb68147c8543568dd1f2abc45b82fd008

See more details on using hashes here.

Provenance

The following attestation bundles were made for gbp_stack-1.0.0rc1-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