Skip to main content

Aptos SDK

Project description

Aptos Python SDK

Discord PyPI Package Version PyPI Package Downloads

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

  • Download the Aptos CLI.
  • Set the environment variable APTOS_CLI_PATH to the full path of the CLI.
  • make examples_cli

We of course allow you to do this a bit more manually by:

First, run a local testnet (run this from the root of aptos-core):

cargo run -p aptos -- node run-local-testnet --force-restart --assume-yes

Next, tell the end-to-end tests to talk to this locally running testnet:

export APTOS_NODE_URL="http://127.0.0.1:8080/v1"
export APTOS_FAUCET_URL="http://127.0.0.1:8081"

Finally run the tests:

make examples

Note: These end-to-end tests are tested against a node built from the same commit as part of CI, not devnet. For examples tested against devnet, see developer-docs-site/static/examples/python/ from the root of the repo.

Integration Testing Using the Aptos CLI

make examples_cli

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

Generating types

The Python openapi-python-client tool cannot parse references. Therefore there are three options:

  • Use swagger-cli to dereference, gain a type explosion, and still have missing types
  • Live without missing types
  • Write a pure python implementation with no autogenerated code

Currently the team is moving forward with pure python, but leaves the following notes for the curious:

npm install  -g @apidevtools/swagger-cli
swagger-cli bundle --dereference ../../../api/doc/v0/openapi.yaml  -t yaml > openapi.yaml
python3 -m openapi_python_client generate --path openapi.yaml
mv aptos-dev-api-specification-client/aptos_dev_api_specification_client/ aptos_sdk/openapi

Semantic versioning

This project follows semver as closely as possible

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

aptos_sdk-0.8.1.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

aptos_sdk-0.8.1-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file aptos_sdk-0.8.1.tar.gz.

File metadata

  • Download URL: aptos_sdk-0.8.1.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.8 Linux/6.8.0-arch1-1

File hashes

Hashes for aptos_sdk-0.8.1.tar.gz
Algorithm Hash digest
SHA256 62c0ec38f613a8f35c2fb5e0e496aad4e185f845dbe7decbb7cf3eff3233808f
MD5 b98023d6fa88ca158c46dfadd1ef1241
BLAKE2b-256 8f3baacb2e99132b64fff01cccf32b0d925071a0bb94cad4eaf3e474b51df2e9

See more details on using hashes here.

File details

Details for the file aptos_sdk-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: aptos_sdk-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.11.8 Linux/6.8.0-arch1-1

File hashes

Hashes for aptos_sdk-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 04e4b4240a89d9b0e6d1fa81c4e50e38b6827f14a67932634fad5c087e8a9291
MD5 0a701d3ec5849db4e5f459d775ed964d
BLAKE2b-256 45572a3cacdb0579ae17049e4942a8979d1117018b9fb2ab71a6a91e4ada856c

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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page