The Python Stellar SDK library provides APIs to build transactions and connect to Horizon and Stellar RPC server.
Project description
Stellar Python SDK
py-stellar-base is a Python library for communicating with a Stellar Horizon server and Stellar RPC server. It is used for building Stellar apps on Python. It supports Python 3.10+ as well as PyPy 3.10+.
It provides:
- a networking layer API for Horizon endpoints.
- a networking layer API for Stellar RPC server methods.
- facilities for building and signing transactions, for communicating with a Stellar Horizon and Stellar 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]
If you need to Shamir backup support, please use the following command to install the required dependencies.
pip install --upgrade stellar-sdk[shamir]
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-contract-bindings
stellar-contract-bindings allows you to generate Python bindings for Stellar Soroban smart contracts, it makes calling Stellar Soroban contracts easier. click here for more information.
stellar-model
stellar-model allows you to parse the JSON returned by Stellar Horizon into the Python models, click here for more information.
Contributing
Contributions are welcome! See CONTRIBUTING.md for more details.
Links
- Document: https://stellar-sdk.readthedocs.io
- Code: https://github.com/StellarCN/py-stellar-base
- Examples: https://github.com/StellarCN/py-stellar-base/tree/main/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-base!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stellar_sdk-13.2.1.tar.gz.
File metadata
- Download URL: stellar_sdk-13.2.1.tar.gz
- Upload date:
- Size: 321.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0fcc97b24f246381943fd1722068d85341854e60c43425d06468ec3c6f47472
|
|
| MD5 |
23f39ebfc612675db7a1d54a7b139586
|
|
| BLAKE2b-256 |
5e6c25f1cb4c0c62618ccac2ce64f64ca4f720e0fa32c7eb7591a8ee7829036e
|
Provenance
The following attestation bundles were made for stellar_sdk-13.2.1.tar.gz:
Publisher:
continuous-integration-workflow.yml on StellarCN/py-stellar-base
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stellar_sdk-13.2.1.tar.gz -
Subject digest:
e0fcc97b24f246381943fd1722068d85341854e60c43425d06468ec3c6f47472 - Sigstore transparency entry: 839814810
- Sigstore integration time:
-
Permalink:
StellarCN/py-stellar-base@445865f838e10848df110e1be04b2acb37318768 -
Branch / Tag:
refs/tags/13.2.1 - Owner: https://github.com/StellarCN
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
continuous-integration-workflow.yml@445865f838e10848df110e1be04b2acb37318768 -
Trigger Event:
release
-
Statement type:
File details
Details for the file stellar_sdk-13.2.1-py3-none-any.whl.
File metadata
- Download URL: stellar_sdk-13.2.1-py3-none-any.whl
- Upload date:
- Size: 771.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66936d463a0e6467d64370f8fa3b2bcc2bebcc17ba6d5000d647d7c35caa4660
|
|
| MD5 |
4a0fbaaad07e003d0f1155a3adfa08f9
|
|
| BLAKE2b-256 |
a4fff9409220ef749c39f8413b4fb1711894ccad336dbd6909eba972066ea506
|
Provenance
The following attestation bundles were made for stellar_sdk-13.2.1-py3-none-any.whl:
Publisher:
continuous-integration-workflow.yml on StellarCN/py-stellar-base
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
stellar_sdk-13.2.1-py3-none-any.whl -
Subject digest:
66936d463a0e6467d64370f8fa3b2bcc2bebcc17ba6d5000d647d7c35caa4660 - Sigstore transparency entry: 839814822
- Sigstore integration time:
-
Permalink:
StellarCN/py-stellar-base@445865f838e10848df110e1be04b2acb37318768 -
Branch / Tag:
refs/tags/13.2.1 - Owner: https://github.com/StellarCN
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
continuous-integration-workflow.yml@445865f838e10848df110e1be04b2acb37318768 -
Trigger Event:
release
-
Statement type: