FrankC01 / pysui

SUI Python Client SDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PySui

pysui

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.54.0

  • Supports SUI 1.21.x RPC API
  • Backwards compatable to Sui 1.18.x RPC API

See CHANGELOG

PyPi current

Release-0.53.0

Sui GraphQL RPC beta

MystenLabs announcement can be found Here. This change transitions from JSON RPC to GraphQL RPC.

With pysui 0.50.0 we released pysui's initial alignment with MystenLabs strategy. The timeline of changes will keep up with the Timeline as noted in the Sui GraphQL annoucement.

Note: The MystenLabs/Sui GraphQL RPC is currently only available on testnet

pysui 0.52.0 contains initial support for our February 2024 target:

  1. December 2023: Synchronous and asynchronous GraphQL clients (experimental) with intial 'read' queries parallel to current pysui read Builders. Also expose underlying GraphQL for users to craft their own queries.
  2. January 2024: Continue with GraphQL and Builder parity changes. Mysten to roll out live data to devnet, testnet and mainnet. Note, only testnet was available in Jan '24.
  3. February 2024: Begin deprecatating pysui Builders and existing SuiClients and enable SuiClient GraphQL 'streaming' support. Note, only testnet and mainnet are currently available in Feb '24, in addition:
  • DryRun and Execute are available
  • streaming is not yet supported
  • Examples for all supported queries and mutations are in pgql_s_example (Synchronous) and pgql_a_example (Asynchronous)
  1. Sometime in 2024: Remove Builders and Obsolete SuiClients and bump pysui to version 1.0.0.

You can read pysui documentation on graphql here

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

About

SUI Python Client SDK

License:Apache License 2.0


Languages

Language:Python 99.0%Language:Shell 0.6%Language:Move 0.4%