Skip to content

FrankC01/pysui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

994 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PySui

pysui

Downloads

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

  1. Fetch the latest pysui-fastcrypto binary from the release assets, unzip and pip install it
  2. pip install pysui

pysui SDK current (github)

Release-0.99.0

BREAKING CHANGES

  • profile_names(in_group=...) no longer mutates the active group as a side effect — callers relying on this behavior must call make_active() explicitly

  • use_account_for_gas moved from the transaction constructor to build-time parameters on build(), build_and_sign(), and transaction_data()

PyPi current

Release-0.98.0 - Released 2026-04-13

Client Instantiation Migration Guide

Release 0.98.0 introduces client_factory and PysuiConfiguration as the preferred way to create clients. The legacy SuiConfig, SuiClient (JSON-RPC), and SuiGQLClient (synchronous GraphQL) are deprecated and will be removed in a future release.

Before (deprecated)

JSON-RPC synchronous client:

from pysui import SuiConfig
from pysui.sui.sui_clients.sync_client import SuiClient

config = SuiConfig.default_config()
client = SuiClient(config=config)

JSON-RPC asynchronous client:

from pysui import SuiConfig
from pysui.sui.sui_clients.async_client import SuiClient

config = SuiConfig.default_config()
client = SuiClient(config=config)

GraphQL synchronous client:

from pysui import PysuiConfiguration
from pysui.sui.sui_pgql.pgql_clients import SuiGQLClient

client = SuiGQLClient(pysui_config=PysuiConfiguration())

GraphQL asynchronous client (direct instantiation):

from pysui import PysuiConfiguration
from pysui.sui.sui_pgql.pgql_clients import AsyncSuiGQLClient

client = AsyncSuiGQLClient(pysui_config=PysuiConfiguration())

gRPC asynchronous client (direct instantiation):

from pysui import PysuiConfiguration
from pysui.sui.sui_grpc.pgrpc_clients import SuiGrpcClient

client = SuiGrpcClient(pysui_config=PysuiConfiguration())

After (recommended)

Use client_factory with PysuiConfiguration. The active group's group_protocol setting determines whether a AsyncSuiGQLClient (GraphQL) or SuiGrpcClient (gRPC) is returned. Both implement the PysuiClient abstract interface.

Default active group (protocol auto-detected from config):

from pysui import PysuiConfiguration, client_factory

config = PysuiConfiguration()
client = client_factory(config)   # Returns AsyncSuiGQLClient or SuiGrpcClient

Non-standard group with explicit protocol:

from pysui import PysuiConfiguration, GroupProtocol, client_factory

config = PysuiConfiguration()
# group_name selects a named profile group; protocol must be specified explicitly
client = client_factory(config, group_name="my-custom-group", protocol=GroupProtocol.GRAPHQL)

Async usage pattern:

import asyncio
from pysui import PysuiConfiguration, client_factory

async def main():
    config = PysuiConfiguration()
    client = client_factory(config)
    txn = client.transaction(sender=config.active_address)
    # ... build and execute transaction ...

asyncio.run(main())

Added support for Mysten address balance

FULL Documentation

gRPC Support

GraphQL Support

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

About

SUI Python Client SDK

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors

Languages