Skip to main content

Python bindings for libxmtp (XMTP v3)

Project description

xmtp-bindings

Python bindings for libxmtp (XMTP v3) generated via UniFFI.

Install-time build

The Python package now builds the libxmtp native library during install. This requires:

  • Rust toolchain (cargo)
  • git

Environment overrides:

  • XMTP_LIBXMTP_PATH: use an existing libxmtp checkout instead of cloning
  • XMTP_LIBXMTP_REF: git ref (tag/branch/commit) to checkout
  • XMTP_LIBXMTP_REPO: override the libxmtp git URL
  • XMTP_BINDINGS_SKIP_BUILD=1: skip native build (requires a prebuilt libxmtpv3 next to xmtpv3.py)
  • XMTP_BINDINGS_FORCE_BUILD=1: rebuild even if a native library already exists

If XMTP_LIBXMTP_REF is not set, builds default to the pinned ref stored in src/xmtp_bindings/libxmtp.ref.

During builds, the UniFFI Python bindings (xmtpv3.py) are regenerated from the same libxmtp checkout used to build the native library to keep the wrapper and shared library in sync.

Manual build

These bindings are generated from the libxmtp Rust workspace. To regenerate manually:

# Clone libxmtp into .deps if needed
mkdir -p .deps
[ -d .deps/libxmtp ] || git clone --depth 1 https://github.com/xmtp/libxmtp .deps/libxmtp

# Build the native library
cd .deps/libxmtp
cargo build -p xmtpv3 --release

# Generate Python bindings
cd bindings_ffi
cargo run --bin ffi-uniffi-bindgen --release --features uniffi/cli generate \
  --library ../target/release/libxmtpv3.so \
  --out-dir ../../../bindings/python/src/xmtp_bindings \
  --language python

# Copy the shared library next to the generated module
cp ../target/release/libxmtpv3.so ../../../bindings/python/src/xmtp_bindings/

Notes

  • The generated xmtpv3.py expects libxmtpv3 to sit next to it.
  • This package is intended to be consumed by the higher-level python-sdk.

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

xmtp_bindings-0.1.4.tar.gz (66.6 kB view details)

Uploaded Source

Built Distributions

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

xmtp_bindings-0.1.4-cp313-cp313-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.13Windows x86-64

xmtp_bindings-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

xmtp_bindings-0.1.4-cp313-cp313-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

xmtp_bindings-0.1.4-cp312-cp312-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.12Windows x86-64

xmtp_bindings-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

xmtp_bindings-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

xmtp_bindings-0.1.4-cp311-cp311-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.11Windows x86-64

xmtp_bindings-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

xmtp_bindings-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

xmtp_bindings-0.1.4-cp310-cp310-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.10Windows x86-64

xmtp_bindings-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

xmtp_bindings-0.1.4-cp310-cp310-macosx_11_0_arm64.whl (10.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file xmtp_bindings-0.1.4.tar.gz.

File metadata

  • Download URL: xmtp_bindings-0.1.4.tar.gz
  • Upload date:
  • Size: 66.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for xmtp_bindings-0.1.4.tar.gz
Algorithm Hash digest
SHA256 cd3aa207d467556cf9617b0775007d6433e22a760a248933db0f759fbc86b81a
MD5 40e52f8a82c01e82c0519458c671e1ed
BLAKE2b-256 da469c8792626d7e40c59bbf01a2ca8aa73f432a847e0b058a6c69cf821b802b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4.tar.gz:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 48a735d5fa027c28da4ffe4cbeb5b545924a8198bf5505995951fbb579486620
MD5 7eb25e3406730b9233d0835760b2db10
BLAKE2b-256 cefaf8422083217893dc6d7a7bff5076c8b80d6c2da3f5ef15548786a9a36bea

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0f26ae5035279ce3b0e814493568030171d8d4da620b03861213106ba723cea
MD5 0c314657621dbfae37f3ba022d6dc6ba
BLAKE2b-256 bbf9c476c5914b62b8ef6b1c2e6f68b90ad482a0dba6168c923180b5cc4e18cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 204556c6e5baa4dfb222fe873409e092df4b51c7d810b9e5409754b5b8355116
MD5 fa23922d2c4f1737d60172b49a57dffb
BLAKE2b-256 cd94cb62568fd59d766f3fbdb4f0fe3a6980c237c21bce0624e2235c31b8a521

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ee4224bc8ffdb99266782fe88d401bc34d92a54377af3520f4b1494ce40b378a
MD5 f5ba7da0c3d0724f45aa4363a16854fa
BLAKE2b-256 8fdb5fdeaec381e29984f4261515524d0622c22b387d5c78d0ec6b06a4e778e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f71a673b14d474ab48c3765a86cd9c0e5c857f40c6a4e75930884fadeaec2805
MD5 f7c168a85500f095a0eaaa2c52586598
BLAKE2b-256 bb1ba13790eaa31496e04770d426ecbf45e608b442959202962ea58160082694

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31aac6c84eb3c8e1a438d275c4c7848da09924b0fef19fa976f012c5877ea03f
MD5 583f5e0f9e89cf89f10a359a3a49d1a4
BLAKE2b-256 4b5eef62273c5cce0b9fbe7054e84350f6af49b7f00d646c0fafb37e3372bc86

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d600b1e5a33c1c062a708fa6ad3bf37e3098ee787804b4debc7e706a9030ae7b
MD5 45097b69a5bb377d723a682115014c1c
BLAKE2b-256 7e6ab13cb9978adbcca843f5961b3cfd99e98e687b192cbb10d53e4898f32317

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b97fc45b65dd1b2eb52b74222f68d369099f76cb3e3b974c1906fe28977f2859
MD5 03c72b34e10e74e4c9eb360179d13f5b
BLAKE2b-256 2c65c5d522ddbdf6883cbc0203fc648f3b2ef94a6b7f39f1d646663ef4bc7125

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36997bf006089831a366d7d083190f62ed684468ab119cea4c66719ac21a4c8f
MD5 b0b8bdf964e964e38a8519902b7b8334
BLAKE2b-256 a3b141ed320133be0e34d12e853b412cba707bd68b2594c919c8aaf5543220a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ace64233607f2f000d186fe1c020fcb0d546764cb7a6cec1767139ba00b7e2f8
MD5 f8a39fd2b380114eaec78040fb69ed48
BLAKE2b-256 0543391aa10a65367671e7f38d15a2e03f4f435c0971fa53f92258188f8b8aa1

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9061e8e08c048b9c6ac42ff5cb05af005db80b31210bcfea77090d8215319739
MD5 a7d9a72d8f0bb45c74bf1090c1754650
BLAKE2b-256 6dd282925ff534f745fa507ae9082b4e93a851204ebaf1a07896e47a80cb8874

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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

File details

Details for the file xmtp_bindings-0.1.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for xmtp_bindings-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1c1271f6e872dd15c438d24970276f4007d392e32a85fb2529c8e1a1614cc05
MD5 2696664f6c76d188c70133675ab8ce64
BLAKE2b-256 04399bbf94804049601e48266256296e5d9d7322f3307222af9fc0a4534d4a47

See more details on using hashes here.

Provenance

The following attestation bundles were made for xmtp_bindings-0.1.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on pierce403/xmtp-py

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