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.0rc3.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.0rc3-cp311-cp311-win_arm64.whl (13.4 kB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11

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

Uploaded CPython 3.11

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

File metadata

  • Download URL: gbp_stack-1.0.0rc3.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.0rc3.tar.gz
Algorithm Hash digest
SHA256 b84d473af394117108ad44ea006ebc9313a465e2399d9e0eb8e573d40261024e
MD5 711a0b73a91712fc53e2c60d4719967c
BLAKE2b-256 9bd39ee54038f5eaa5789daa51e79a3adc6de37b2d0d34f37166824ea21d9480

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 ce14af22758c775d0c54cfb5de51fbbad76bf287f5ee9bdbaa8f99c3b01ed5c3
MD5 dc661a559008195eacfcec57535df528
BLAKE2b-256 f60c0c7a4c11000f5a29a7cf496edcf63a82f80603edc9a03d627f01420c2e77

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 905880dcb9e817dadb1d9d6c41930aec197dc5582634e78783677babc0c051c7
MD5 a9d060d28dcf2ab11eeb17215187baf0
BLAKE2b-256 fbf49bf0c35d284491b064bf0f93a29831a0c65cc5af8fe95bb88d4ffeceb0fa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e191bf675eee444fb66f16a19ecd50227f41cb6a0820fdc5fc0d048df282738
MD5 ffd2610d84f70ce2468e4c402e817d2b
BLAKE2b-256 32ac7d5f3341ae1b902c92874ba2af8f11247224758984a163b5b078ffdee5a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7ff62d8304dde794118b30c1c33cc94543cc707bf07e25ad1cbf411dfad9397
MD5 1ada1799f18d97ea8bdee8d864eb84bb
BLAKE2b-256 4330dddcd23bff24b7efebb24a11907199269c9614eda343cf75eb0f58606ea6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 fc44b9662b9cbaed14504e2d7c4c9b055a45c3e0c2177a76b6053a89e8a2936b
MD5 72fa01811df7a8c0ac5f974eb1b84b90
BLAKE2b-256 9ce34f48b740a15b617263881084699ed460cf739a9e4df104a534a735af6099

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for gbp_stack-1.0.0rc3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1468aa8d3df166ac334f4d430a5008c55e649b339d66d6af035532c3173330ea
MD5 36a93bb3113a0194fb7ae14ea65a648c
BLAKE2b-256 d03902abef745698ac7419aaab7bdfdfc7aca72858b447870dfef19d31d77a7a

See more details on using hashes here.

Provenance

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