SUI client Python SDK
Project description
pysui
Python Client SDK for Sui blockchain
A cup of coffee
- The team could use a cup or carafe. Sui address
0xc45e5ea887e037ddc6a482afa412773b4291c8fdc338f647fb0fcea324975d8e
pysui SDK install
With Rust on machine
pip install pysui if first time or
pip install -U --upgrade-strategy eager pysui if upgrading.
Without Rust on machine
- Fetch the latest pysui-fastcrypto binary from the release assets, unzip and
pipinstall it pip install pysui
pysui SDK current (github)
Release-0.99.1
PyPi current
Release-0.99.1 - Released 2026-05-21
⚠️ Deprecation Notice: Release 1.0.0 will remove the legacy JSON-RPC client and synchronous GraphQL client. If your code uses either, migrate before upgrading. See the Migration Guide on ReadTheDocs.
This is a significant release that redesigns pysui around the Unified Client Interface (UCI). It introduces breaking changes — see CHANGELOG for the full list.
Unified Client Interface (UCI)
The UCI provides a protocol-agnostic programming model: write application code once and run it transparently on either GraphQL or gRPC. The active transport is determined by configuration at runtime — no code changes required to switch.
The UCI is built on four pillars:
-
Thin Client Design — pysui clients carry no convenience methods such as
get_coinsorget_object. All data access goes through typed request objects dispatched viaawait client.execute(command=...), keeping the client surface small and transport-neutral. -
Protocol-Agnostic Command Execution — Use
await client.execute(command=...)with anySuiCommandsubclass. The same code runs identically on both GraphQL and gRPC. Switching protocols requires only a configuration change. -
Shared Transaction Infrastructure — PTBs with unified transaction builders and executor factories work across all protocols. Obtain a transaction builder via
await client.transaction(**kwargs), and executors viaawait client.serial_executor(options=...)orawait client.parallel_executor(options=...). -
Protocol-Level Access — When you need capabilities beyond
SuiCommand: use GraphQL QueryNodes viaexecute_query_nodefor custom queries, or gRPC Requests viaexecute_grpc_requestfor direct gRPC access.
FULL Documentation
gRPC Support
- Refer to pysui-grpc
GraphQL Support
- Refer to pysui-graphql
Changelog
See CHANGELOG
Issues and enhancement requests
We would appreciate using the github issue log to let us know!
Release/Publish Strategy
See Strategies
Discord
Discord server invitation is Found here:
Local node support
Note: Only supported for JSON RPC clients, GraphQL not available for suibase at this time.
We leverage suibase for our testing and SuiConfig includes an option for interacting directly with local nodes created by suibase
Sample utilities
Note: Sample utiities are implemented using GraphQL
See samples
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pysui-0.99.1-py3-none-any.whl.
File metadata
- Download URL: pysui-0.99.1-py3-none-any.whl
- Upload date:
- Size: 434.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ee329b0afbdfae8be404d289d1ba1e740730616a214e2d7bc80377c281d2b8a
|
|
| MD5 |
5cb50e0f438c3d3f99ca88edb2d812f7
|
|
| BLAKE2b-256 |
2c12cb2101cc8ec88011e457b5316321c45365550ba5c8dd25cc30e2982a090a
|