The Kaspa Python SDK provides bindings to Rust & Rusty-Kaspa source, allowing Python developers to interact with the Kaspa BlockDAG.
A native extension module, kaspa, is built from these bindings using PyO3 and Maturin.
Important
This project has moved! Welcome to the new home of Kaspa Python SDK, which historically lived here.
Versions < 1.1.0 were built from the old repository.
Versions >= 1.1.0 are/will be built from this repository.
This SDK provides features in two primary categories:
- RPC Client - Connect to Kaspa nodes & PNN, perform calls, subscriptions, etc.
- Wallet Management - Wallet related functionality (key management, derivation, addresses, transactions, etc.).
This package strives to mirror the Kaspa WASM32 SDK from a feature and API perspective, while respecting Python conventions.
Most feature gaps with WASM32 SDK exist around Wallet functionality. Over time, features will be added to the Python SDK to bring it as close as possible.
Full documentation is available on the documentation site, including (but not limited to):
The documentation site is versioned:
devrefers to the latest inmainbranchlatestrefers to the most recent production release- Specific version tags are available
Documentation is not available for versions prior to 1.1.0. However, the API is very close, if not the exact same, for those versions and 1.1.0.
The Kaspa Python SDK is available on PyPi (link). As such, it can be installed from PyPi via:
pip install kaspaSecurity-critical applications should consider building and installing from source. Instructions can be found here on the documentation site.
A very basic RPC example:
import asyncio
from kaspa import Resolver, RpcClient
async def main():
# Connect to Public Node Network (PNN) with Resolver
client = RpcClient(resolver=Resolver())
await client.connect()
# Execute RPC Call
print(await client.get_block_dag_info())
if __name__ == "__main__":
asyncio.run(main())Additional detailed examples can be found in the following locations:
The Contributing Guide details various technical core concepts and information about this project.
This project is licensed under the ISC License.