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-9.3.0.tar.gz (280.7 kB view details)

Uploaded Source

Built Distribution

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

stellar_sdk-9.3.0-py3-none-any.whl (681.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: stellar_sdk-9.3.0.tar.gz
  • Upload date:
  • Size: 280.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for stellar_sdk-9.3.0.tar.gz
Algorithm Hash digest
SHA256 1e6aef094bf9572f230a6d14666448e48fd3e6ea8e35eb7d5615ff57fab674eb
MD5 1bbeb2d087d1129fb0fe7136cd01067a
BLAKE2b-256 81b60e829ecdf5e0d2b59ab9a184bcaa1e7c111e10b13cbffb147c62f8b891dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stellar_sdk-9.3.0-py3-none-any.whl
  • Upload date:
  • Size: 681.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for stellar_sdk-9.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64f0c091992b9a94818ad30d134f086506c097f0cc795cae1d530fcd96d79c3a
MD5 f8f297103eec67a51f50a6edc3a4dd9e
BLAKE2b-256 b78d31420e49a0e81d2c28425dcf757afb38730ddd2db78290d1f374528c47b3

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