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

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.0.0a4

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.0.0a4.tar.gz (105.3 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.0.0a4-py2.py3-none-any.whl (249.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file stellar-sdk-2.0.0a4.tar.gz.

File metadata

  • Download URL: stellar-sdk-2.0.0a4.tar.gz
  • Upload date:
  • Size: 105.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16

File hashes

Hashes for stellar-sdk-2.0.0a4.tar.gz
Algorithm Hash digest
SHA256 6f23ecd5d5be7b6e24df93cf3f9ce9278337afb3e11da685817c41834b8258df
MD5 5bbd04cc5288f33b678fb34074db71ea
BLAKE2b-256 58e9e43eff18e47a8a549b7f10965571818db2e060b03fa76cadc7dbd8d61a38

See more details on using hashes here.

File details

Details for the file stellar_sdk-2.0.0a4-py2.py3-none-any.whl.

File metadata

  • Download URL: stellar_sdk-2.0.0a4-py2.py3-none-any.whl
  • Upload date:
  • Size: 249.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.16

File hashes

Hashes for stellar_sdk-2.0.0a4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2affbd4b58985d1471c838180363bdfb333582b48fd7bb8f9b650d5359df0e61
MD5 d35e1410a4f3719980d787d0fcb2e5cf
BLAKE2b-256 e74af9cc5a711c406aa7b9326712a7d71d969be5c8d30cc1e799f627f6d62bca

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