Skip to main content

Lightweight Python Client library for the Aleph.im network

Project description

aleph-sdk-python

Python SDK for the Aleph.im network, next generation network of decentralized big data applications.

Development follows the Aleph Whitepaper.

Documentation

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.

Requirements

Linux

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.

macOs

This project does not support Python 3.12 on macOS. Please use Python 3.11 instead.

$ brew tap cuber/homebrew-libsecp256k1
$ brew install libsecp256k1

Installation

Using pip and PyPI:

$ pip install aleph-sdk-python

Additional dependencies

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 signatures
  • cosmos for Substrate/Cosmos accounts and signatures
  • nuls2 for NULS2 accounts and signatures
  • polkadot for Polkadot accounts and signatures
  • ledger for Ledger hardware wallet support, see Usage with LedgerHQ hardware
  • mqtt for MQTT-related functionalities, see examples/mqtt.py
  • docs for building the documentation, see Documentation
  • dns for DNS-related functionalities
  • all installs all extra dependencies

Installation for development

Setup a virtual environment using hatch:

$ hatch shell

Then install the SDK from source with all extra dependencies:

$ pip install -e .[all]

Running tests & Hatch scripts

You can use the test env defined for hatch to run the tests:

$ hatch run test:run

See hatch env show for more information about all the environments and their scripts.

Generating the documentation [DEPRECATED]

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

Usage with LedgerHQ hardware

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.

Debian / Ubuntu

Install ledger-wallets-udev.

sudo apt-get install ledger-wallets-udev

On NixOS

Configure hardware.ledger.enable = true.

Other Linux systems

See https://github.com/LedgerHQ/udev-rules

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aleph_sdk_python-1.0.0rc1.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

aleph_sdk_python-1.0.0rc1-py2.py3-none-any.whl (51.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file aleph_sdk_python-1.0.0rc1.tar.gz.

File metadata

  • Download URL: aleph_sdk_python-1.0.0rc1.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for aleph_sdk_python-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 71dfa36db03d7d05ce50e65410b1e6f8f97a5ecdda7fd97c55f518ce329d9e8f
MD5 59cc56785add43952e849e78a507ec4e
BLAKE2b-256 e00d74e435b53dd14b44e55787de658802ce17e65e8e27d1073c00b0e84f6d6b

See more details on using hashes here.

Provenance

File details

Details for the file aleph_sdk_python-1.0.0rc1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for aleph_sdk_python-1.0.0rc1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 464bc1a27bf121b2a9d99fb789576878a79b313eb7c5dfaf21abd27c294fe393
MD5 c7d0f3adc1717d61761c2cbc229f9a86
BLAKE2b-256 a48100d4e339d7739091d99a53938bd18e7f275bfe696cd2a5dc69c607380173

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page