Skip to main content

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

Project description

Travis (.org) Read the Docs Codecov Code Climate maintainability PyPI Python - Version PyPI - Implementation

This branch is about v2, click here for the v1 branch. Thank you for your patience as we transition!

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==2.1.0

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

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-2.1.1b1.tar.gz (107.0 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-2.1.1b1-py2.py3-none-any.whl (144.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file stellar-sdk-2.1.1b1.tar.gz.

File metadata

  • Download URL: stellar-sdk-2.1.1b1.tar.gz
  • Upload date:
  • Size: 107.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.4

File hashes

Hashes for stellar-sdk-2.1.1b1.tar.gz
Algorithm Hash digest
SHA256 b45cf9518c1fd75be001fcbb410c985206fdae0f8ac69366171af540ab036f98
MD5 0e469b598addfcacbbfe8426a9c4b70e
BLAKE2b-256 b92a05bfc0e501c23320e9fc52d868ff43c94fc9f33af88185e0fe904b372b3b

See more details on using hashes here.

File details

Details for the file stellar_sdk-2.1.1b1-py2.py3-none-any.whl.

File metadata

  • Download URL: stellar_sdk-2.1.1b1-py2.py3-none-any.whl
  • Upload date:
  • Size: 144.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.4

File hashes

Hashes for stellar_sdk-2.1.1b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8d50ee19e0916dd9adee4ed499463b9495bffa852758e5a1028320ce219b1330
MD5 63d33cc4d5f25703e6cebb134f0e5b4b
BLAKE2b-256 8ac7e12f74731928742fae95172674b0bffb04442a2c0c19462917df1e6c7f15

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