Skip to main content

Python Client library for the Aleph Cloud network

Project description

aleph-client

Python Client for the Aleph Cloud network, next generation network of decentralized big data applications. Development follows the Aleph Whitepaper.

Documentation

Documentation can be found on https://docs.aleph.cloud/devhub/sdks-and-tools/aleph-cli/

Requirements

Linux

Some cryptographic functionalities use curve secp256k1 and require installing libsecp256k1.

apt-get install -y python3-pip libsecp256k1-dev squashfs-tools

macOs

brew tap cuber/homebrew-libsecp256k1
brew install libsecp256k1

Windows

We recommend using WSL (Windows Subsystem for Linux).

Installation

From PyPI

Using pip and PyPI:

pip install aleph-client

Using a container

Use the Aleph client and it's CLI from within Docker or Podman with:

docker run --rm -ti -v $(pwd)/<data:/data> ghcr.io/aleph-im/aleph-client/aleph-client:master --help

Warning: This will use an ephemeral key pair that will be discarded when stopping the container

Installation for development

We recommend using hatch for development.

Hatch is a modern, extensible Python project manager. It creates a virtual environment for each project and manages dependencies.

pip install hatch

Running tests

hatch test

or

hatch run testing:cov

Formatting code

hatch run linting:fmt

Checking types

hatch run linting:typing

Publish to PyPI

hatch build
hatch upload

If you want NULS2 support you will need to install nuls2-python (currently only available on github):

pip install aleph-sdk-python[nuls2]

To install from source and still be able to modify the source code:

pip install -e .

Updating the User Documentation

The user documentation for Aleph is maintained in the aleph-docs repository. The CLI page is generated using the typer command. When releasing a new version, it's important to update the documentation as part of the release process.

If you have the aleph-docs repository cloned as a sibling folder to your current directory, you can use the following command to generate updated documentation:

./scripts/gendoc.py src/aleph_client/__main__.py docs \
    --name aleph --title 'Aleph CLI Documentation' \
    --output ../aleph-docs/docs/tools/aleph-client/usage.md

Then, open a Pull Request (PR) on the aleph-docs repository with your changes.

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_client-1.9.0.tar.gz (78.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aleph_client-1.9.0-py3-none-any.whl (92.1 kB view details)

Uploaded Python 3

File details

Details for the file aleph_client-1.9.0.tar.gz.

File metadata

  • Download URL: aleph_client-1.9.0.tar.gz
  • Upload date:
  • Size: 78.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for aleph_client-1.9.0.tar.gz
Algorithm Hash digest
SHA256 13a5a40783c1da18e9f1b3aeba44ef39add72d48c59e62bffbe14899c61cef7a
MD5 3d6ff0bed8d759ceee51875c73229c89
BLAKE2b-256 9d7b0c32d7fadeb7cc2dc155431559175775d52e489bc312e263f75bf48c2003

See more details on using hashes here.

File details

Details for the file aleph_client-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: aleph_client-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 92.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for aleph_client-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01021a6266bdc1810758cef248061742fafba62e49bdd1356507b8a01f2e78cb
MD5 98fa9cdd08dcf9954c74c43d3ce507f8
BLAKE2b-256 2b9c732e4d39fe20345c9fc35a4f133bc9a19b74c8b834628f56b9852f7277b8

See more details on using hashes here.

Supported by

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