Skip to main content

SUI client Python SDK

Project description

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

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())

PyPi current

Release-0.97.0 - Released 2026-04-06

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

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysui-0.98.0-py3-none-any.whl (394.8 kB view details)

Uploaded Python 3

File details

Details for the file pysui-0.98.0-py3-none-any.whl.

File metadata

  • Download URL: pysui-0.98.0-py3-none-any.whl
  • Upload date:
  • Size: 394.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for pysui-0.98.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4107318d0523f76f79135052e1b70c4724c4e52430150c9f85b452848a7f4836
MD5 9badd07755bcb54ec323cd3769730202
BLAKE2b-256 4b4c1614098b2945f44d8575a59457bb4896357fc853cbf8c1d67677bd99f1a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page