Skip to main content

The Python Stellar SDK library provides APIs to build transactions and connect to Horizon.

Project description

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

py-stellar-sdk is a Python library for communicating with a Stellar Horizon server. It is used for building Stellar apps on Python. It supports Python 3.6+ as well as PyPy 3.6+.

It provides:

  • a networking layer API for Horizon endpoints.

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

Documentation

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

Installing

Install and update using pipenv or pip:

pip install stellar-sdk==3.3.3

A Simple Example

Building transaction with synchronous server

# Alice pay 10.25 XLM to Bob
from stellar_sdk import 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 = server.fetch_base_fee()
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, "10.25", "XLM")
    .build()
)
transaction.sign(alice_keypair)
response = server.submit_transaction(transaction)
print(response)
  • Building transaction with asynchronous server

# Alice pay 10.25 XLM to Bob
import asyncio

from stellar_sdk import Server, Keypair, TransactionBuilder, Network
from stellar_sdk.client.aiohttp_client import AiohttpClient

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


async def payment():
    async with Server(
        horizon_url="https://horizon-testnet.stellar.org", client=AiohttpClient()
    ) as server:
        alice_account = await server.load_account(alice_keypair.public_key)
        base_fee = await server.fetch_base_fee()
        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, "10.25", "XLM")
            .build()
        )

        transaction.sign(alice_keypair)
        response = await server.submit_transaction(transaction)
        print(response)


if __name__ == "__main__":
    asyncio.run(payment())

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-3.3.3.tar.gz (176.6 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-3.3.3-py3-none-any.whl (407.0 kB view details)

Uploaded Python 3

File details

Details for the file stellar-sdk-3.3.3.tar.gz.

File metadata

  • Download URL: stellar-sdk-3.3.3.tar.gz
  • Upload date:
  • Size: 176.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for stellar-sdk-3.3.3.tar.gz
Algorithm Hash digest
SHA256 4815dafc15da0f606824167c9eefefd5cacdb2ccbdca491d03d4eded3efd2bc1
MD5 10a9ae0d05d6c5ea8a9bd9b9bd9ab18e
BLAKE2b-256 028fe5c995fc20d86ad4358ff5d8228d35c1d791666b6c4ae12f6f0e318ca56b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stellar_sdk-3.3.3-py3-none-any.whl
  • Upload date:
  • Size: 407.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1

File hashes

Hashes for stellar_sdk-3.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cbb9fef62032a594e2d475580299e14a2d3e298ae0dbc023042e6559d76abdae
MD5 f0a32ef98369907b0db9c287a9e0b2db
BLAKE2b-256 7b570c57c4345f62863db0b82c1d52a8f4c7f9c5b44548ad36cefe5a936f2c8b

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