Aptos Python SDK
This provides basic functionalities to interact with Aptos. Get started here.
Currently, this is still in development and may not be suitable for production purposes.
Note: The sync client is deprecated, please only start new projects using the async client. Feature contributions to the sync client will be rejected.
Requirements
This SDK uses Poetry for packaging and dependency management:
curl -sSL https://install.python-poetry.org | python3 -
poetry install
Unit testing
make test
E2E testing and Using the Aptos CLI
You can do this a bit more manually by:
First, run a local testnet (run this from the root of aptos-core):
aptos node run-local-testnet --force-restart --assume-yes --with-indexer-api
Next, tell the end-to-end tests to talk to this locally running testnet:
export APTOS_CORE_REPO="/path/to/repo"
export APTOS_FAUCET_URL="http://127.0.0.1:8081"
export APTOS_INDEXER_URL="http://127.0.0.1:8090/v1/graphql"
export APTOS_NODE_URL="http://127.0.0.1:8080/v1"
Finally run the tests:
make examples
Integration Testing Using the Aptos CLI:
make integration_test
[!NOTE]
The Python SDK does not require the Indexer, if you would prefer to test without it, unset or do not set the environmental variable APTOS_INDEXER_URL
and exclude --with-indexer-api
from running the aptos node software.
Autoformatting
make fmt
Autolinting
make lint
Package Publishing
- Download the Aptos CLI.
- Set the environment variable
APTOS_CLI_PATH
to the full path of the CLI. poetry run python -m aptos_sdk.cli
and set the appropriate command-line parameters
Semantic versioning
This project follows semver as closely as possible