The Python Stellar SDK library provides APIs to build transactions and connect to Horizon.
Project description
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.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())
Links
Document: https://stellar-sdk.readthedocs.io
Examples: https://github.com/StellarCN/py-stellar-base/blob/v2/examples
Issue tracker: https://github.com/StellarCN/py-stellar-base/issues
License: Apache License 2.0
Releases: https://pypi.org/project/stellar-sdk/
Thank you to all the people who have already contributed to py-stellar-sdk!
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
Built Distribution
Hashes for stellar_sdk-2.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4c18191f300e5ea83f4ca2282c1f5ba3af017ed182430d090746b4fb6cb5afb |
|
MD5 | de6025cff6cdd57abf02e4a1255f5718 |
|
BLAKE2b-256 | f0d9c584a9984fba365402b760aa886dcb69141b55b1845fa2c651bbb9387584 |