Skip to content

FrankC01/pysui

Repository files navigation

PySui

pysui

Downloads

Python Client SDK for Sui blockchain

pysui SDK Dependencies

  • 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!

pysui SDK current (github)

Release-0.72.0

  • Supports SUI 1.38.x JSON RPC API, SUI 1.37.x GRAPHQL
  • JSON RPC API backwards compatable to Sui 1.30.x

See CHANGELOG

PyPi current

Release-0.72.0 - Released 2024-11-13

  • Supports SUI 1.38.x JSON RPC API, SUI 1.37.x GRAPHQL

  • JSON RPC API backwards compatable to Sui 1.31.x

  • Latest PyPi Version

Sui GraphQL RPC beta

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 usable but we recommend using testnet or mainnet beta for stability. We are tracking a few failures we are monitoring Isssues.

Sui GraphQL IDEs

Mainnet

Testnet

Devnet

pysui GraphQL support

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 however we have Clients and TransactionBuilder running against Sui GraphQL.

We continue to monitor and support changes from MystenLabs as they occur.

Examples

  • pgql_s_example - Synchronous examples for all supported QueryNode queries and mutations
  • pgql_a_example - Asynchronous examples for all supported QueryNode queries and mutations
  • pgql_s_ptb - Example of new pysui Transaction Builder leveraging Sui GraphQL

You can read pysui documentation on graphql beta here

Known Issues

  • No subscription support at this time

FULL Documentation

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 click here:

Additions

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.

Local node support

We leverage suibase for our testing and SuiConfig includes an option for interacting directly with local nodes created by suibase

Ready to run

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!

Setup environment

python3 -m venv env

If, instead, you want to work with repo latest source code then read DEVELOP from repo

Activate

source env/bin/activate

or

. env/bin/activate

Install pysui

pip install pysui

Samples

See samples