Python SDK for the Aleph.im network, next generation network of decentralized big data applications.
Development follows the Aleph Whitepaper.
The latest documentation, albeit incomplete, is available at https://docs.aleph.im/libraries/python-sdk/.
For the full documentation, please refer to the docstrings in the source code.
Some cryptographic functionalities use curve secp256k1 and require installing libsecp256k1.
$ apt-get install -y python3-pip libsecp256k1-dev
Using some chains may also require installing libgmp3-dev
.
This project does not support Python 3.12 on macOS. Please use Python 3.11 instead.
$ brew tap cuber/homebrew-libsecp256k1
$ brew install libsecp256k1
Using pip and PyPI:
$ pip install aleph-sdk-python
Some functionalities require additional dependencies. They can be installed like this:
$ pip install aleph-sdk-python[solana, dns]
The following extra dependencies are available:
solana
for Solana accounts and signaturescosmos
for Substrate/Cosmos accounts and signaturesnuls2
for NULS2 accounts and signaturespolkadot
for Polkadot accounts and signaturesledger
for Ledger hardware wallet support, see Usage with LedgerHQ hardwaremqtt
for MQTT-related functionalities, see examples/mqtt.pydocs
for building the documentation, see Documentationdns
for DNS-related functionalitiesall
installs all extra dependencies
Setup a virtual environment using hatch:
$ hatch shell
Then install the SDK from source with all extra dependencies:
$ pip install -e .[all]
You can use the test env defined for hatch to run the tests:
$ hatch run testing:run
See hatch env show
for more information about all the environments and their scripts.
The documentation is built using Sphinx.
To build the documentation, install the SDK with the docs
extra dependencies:
$ pip install -e .[docs]
Then build the documentation:
$ cd docs
$ make html
The SDK supports signatures using app-ethereum, the Ethereum app for the Ledger hardware wallets.
This has been tested successfully on Linux (amd64). Let us know if it works for you on other operating systems.
Using a Ledger device on Linux requires root access or the setup of udev rules.
Unlocking the device is required before using the relevant SDK functions.
Install ledger-wallets-udev.
sudo apt-get install ledger-wallets-udev
Configure hardware.ledger.enable = true
.