Skip to main content

The MultiversX Python SDK.

Project description

mx-sdk-py

The Python SDK for interacting with MultiversX. It's an all in one sdk that can be used to create transactions (including smart contract calls and deployments), sign and broadcast transactions, create wallets and many more.

Documentation

Development setup

Virtual environment

Create a virtual environment and install the dependencies:

python3 -m venv ./venv
source ./venv/bin/activate
pip install -r ./requirements.txt --upgrade

Install development dependencies, as well:

pip install -r ./requirements-dev.txt --upgrade

Allow pre-commit to automatically run on git commit:

pre-commit install

Above, requirements.txt should mirror the dependencies section of pyproject.toml.

If using VSCode, restart it or follow these steps:

  • Ctrl + Shift + P
  • Select Interpreter
  • Choose ./venv/bin/python.

Tests

Run the tests as follows:

This command runs all tests:

pytest .

If you want to skip network interaction tests run:

pytest -m "not networkInteraction"

We have some tests fetching mainnet transactions that are quite time consuming. To skip those, run this command:

pytest -m "not mainnet"

Generate test coverage report

First, we run the tests using coverage:

coverage run -m pytest .

Then, we can generate a report in the terminal using:

coverage report

We can also generate a html report using:

coverage html

Regenerating the docs

Each time a new module/submodule is added it needs to be added to the docs, as well. To do so cd in the root directory then run the following command:

sphinx-apidoc -f -o docs/ multiversx_sdk/ '*_test.py' '*constants.py'

This command will regenerate the .rst files for each module, excluding the tests and the constants.py files.

Also, each time a new version is released, the conf.py file should be updated accordingly.

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

multiversx_sdk-1.3.1.tar.gz (16.1 MB view details)

Uploaded Source

Built Distribution

multiversx_sdk-1.3.1-py3-none-any.whl (16.2 MB view details)

Uploaded Python 3

File details

Details for the file multiversx_sdk-1.3.1.tar.gz.

File metadata

  • Download URL: multiversx_sdk-1.3.1.tar.gz
  • Upload date:
  • Size: 16.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for multiversx_sdk-1.3.1.tar.gz
Algorithm Hash digest
SHA256 3edc2359d25ae5b7eff6d880e0c3d879d493c3d12d2b2375255b0cbe09f52baf
MD5 c766ffdaab883f799eeecdab88ac2106
BLAKE2b-256 d880d49c1994f8dc100cb01c4f2a202af484381da35f71546bc0320f93b7b963

See more details on using hashes here.

File details

Details for the file multiversx_sdk-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for multiversx_sdk-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f892bbf603ad2745644fff2582228d3078d4369e8e408cf532d7640d44ccd21d
MD5 e3c86d4c3c311a1c973948c15a5de7fe
BLAKE2b-256 f7293f5ac5c9f162b7f3bafe2b94539eb2410202737fa68514e364256797b084

See more details on using hashes here.

Supported by

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