Skip to main content

The Python Stellar SDK library provides APIs to build transactions and connect to Horizon and Soroban-RPC server.

Project description

GitHub Workflow Status Read the Docs PyPI - Downloads Code Climate maintainability Codecov PyPI Python - Version PyPI - Implementation Stellar Protocol

py-stellar-base is a Python library for communicating with a Stellar Horizon server and Soroban-RPC server. It is used for building Stellar apps on Python. It supports Python 3.8+ as well as PyPy 3.8+.

It provides:

  • a networking layer API for Horizon endpoints.

  • a networking layer API for Soroban-RPC server methods.

  • facilities for building and signing transactions, for communicating with a Stellar Horizon and Soroban-RPC instance, and for submitting transactions or querying network history.

Documentation

py-stellar-base’s documentation can be found at https://stellar-sdk.readthedocs.io.

Installing

pip install --upgrade stellar-sdk

If you need to use asynchronous, please use the following command to install the required dependencies.

pip install --upgrade stellar-sdk[aiohttp]

We follow Semantic Versioning 2.0.0, and I strongly recommend that you specify its major version number in the dependency file to avoid the unknown effects of breaking changes.

A Simple Example

You can find more examples here.

# Alice pay 10.25 XLM to Bob
from stellar_sdk import Asset, Server, Keypair, TransactionBuilder, Network

alice_keypair = Keypair.from_secret("SBFZCHU5645DOKRWYBXVOXY2ELGJKFRX6VGGPRYUWHQ7PMXXJNDZFMKD")
bob_address = "GA7YNBW5CBTJZ3ZZOWX3ZNBKD6OE7A7IHUQVWMY62W2ZBG2SGZVOOPVH"

server = Server("https://horizon-testnet.stellar.org")
alice_account = server.load_account(alice_keypair.public_key)
base_fee = 100
transaction = (
    TransactionBuilder(
        source_account=alice_account,
        network_passphrase=Network.TESTNET_NETWORK_PASSPHRASE,
        base_fee=base_fee,
    )
    .add_text_memo("Hello, Stellar!")
    .append_payment_op(bob_address, Asset.native(), "10.25")
    .set_timeout(30)
    .build()
)
transaction.sign(alice_keypair)
response = server.submit_transaction(transaction)
print(response)

stellar-model

stellar-model allows you to parse the JSON returned by Stellar Horizon into the Python models, click here for more information.

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 Distribution

stellar_sdk-11.1.0.tar.gz (287.0 kB view details)

Uploaded Source

Built Distribution

stellar_sdk-11.1.0-py3-none-any.whl (693.2 kB view details)

Uploaded Python 3

File details

Details for the file stellar_sdk-11.1.0.tar.gz.

File metadata

  • Download URL: stellar_sdk-11.1.0.tar.gz
  • Upload date:
  • Size: 287.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for stellar_sdk-11.1.0.tar.gz
Algorithm Hash digest
SHA256 3469f5a5146074e274ddaea338502511fe29448c21108337e71bf91167e4f1ee
MD5 51121bbbe906e34fbcbac6f8eb1cafb1
BLAKE2b-256 554855fa1d1e36187e4e08b01bad2f85c99931127446c4d0ae33cf4edf969b71

See more details on using hashes here.

File details

Details for the file stellar_sdk-11.1.0-py3-none-any.whl.

File metadata

  • Download URL: stellar_sdk-11.1.0-py3-none-any.whl
  • Upload date:
  • Size: 693.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for stellar_sdk-11.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8559e1881a4151d31e0a8ee3635cfde5b4f36109546f4710962bf6a1197078a
MD5 8733006bb7bdef0cbaf558bd27b1ac5b
BLAKE2b-256 ca13c24adea61be71a16bd801387b55af5941d65f8ddc75341a390c28326a09c

See more details on using hashes here.

Supported by

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