Python Client SDK for Sui blockchain
- Rust (stable) for installation of Sui Binaries (optional) and building
pysui-fastcrypto
Rust wrapper (required) - Python version >= 3.10
Note: If moving from 0.51.0 or earlier it is recommended to start a new virtual environment and installing from PyPi!
Release-0.61.0
- Supports SUI 1.26.x RPC API
- Backwards compatable to Sui 1.18.x RPC API
See CHANGELOG
Release-0.60.0 - Released 2024-05-15
-
Supports SUI 1.26.x RPC API
-
Backwards compatable to Sui 1.18.x RPC API
MystenLabs announcement can be found Here. This change transitions from JSON RPC to GraphQL RPC.
Note: MystenLabs/Sui GraphQL RPC is available on devnet, testnet and mainnet. Note that devnet beta is still quite fragile and we recommend using testnet beta.
Note: Functionality of pysui GraphQl should be considered beta, use in production is at your own risk.
With pysui 0.50.0 we released beta pysui
's beta alignment with MystenLabs strategy. The timeline of changes will keep up with the Timeline as noted in the Sui GraphQL annoucement. We are not yet stable and have Client and TransactionBuilder running against Sui GraphQL.
We continue to monitor and support changes from MystenLabs as they occur.
- Synchronous Client - Examples for all supported QueryNode queries and mutations
- Asynchronous Client - Examples for all supported QueryNode queries and mutations
- Synchronous TransactionBuilder - Example of new pysui Transaction Builder leveraging Sui GraphQL
You can read pysui documentation on graphql beta here
- Sui GraphQL fails fetching ProtocolConfiguration versions greater than 39
- No subscription support at this time
See CHANGELOG
We would appreciate using the github issue log to let us know!
See Strategies
Discord server click here:
There is a companion package called pysui-gadgets with a few utilities and ge-gaws that you may find interesting. It is a separate package also on on PyPi.
We leverage suibase for our testing and SuiConfig includes an option for interacting directly with local nodes created by suibase
Requires:
- Linux or macos (x86_64 or Mx)
- Rust (stable) which also includes rustup and cargo
- python 3.10 or greater
- pkg-config
- libtool
- sui binaries to support
publish
Sui move packages
You will need suibase
for interacting with local nodes, it is an indispensible addition to Sui developers tools!
python3 -m venv env
If, instead, you want to work with repo latest source code then read DEVELOP from repo
source env/bin/activate
or
. env/bin/activate
pip install pysui
See samples