Skip to main content
The WAX Python SDK is distributed as hiveio-wax on PyPI. It provides native performance through Cython bindings to the C++ Hive protocol implementation.

Requirements

Before installing, ensure you have:
  • Python 3.12 or higher - The SDK requires modern Python features
  • pip - Python package installer (included with Python)
  • Operating system - Linux, macOS, or Windows with WSL
The SDK includes compiled native extensions. Pre-built wheels are available for common platforms. If a wheel isn’t available for your platform, pip will attempt to build from source (requires a C++ compiler).

Install from PyPI

Install the latest stable version:
Install a specific version:

Install with Beekeeper

For transaction signing with wallet integration, also install the Beekeeper Python client:
This enables secure key management through the Beekeeper wallet system.

Verify installation

Confirm the SDK is installed correctly:
Expected output:

Development installation

For contributing or testing unreleased features, install from source:

Clone the repository

Install Poetry

The project uses Poetry for dependency management:

Build and install

From the repository root:
This script:
  1. Sets up a Python virtual environment
  2. Installs build dependencies
  3. Compiles the Cython extensions
  4. Installs the package in development mode

Run tests

Configuration

The SDK supports configuration through options objects.

Offline mode (wax foundation)

Online mode (hive chain)

Virtual environments

It’s recommended to use virtual environments for project isolation.

Using venv

Using Poetry

Dependencies

The SDK automatically installs required dependencies:
  • protobuf - Protocol Buffer message handling
  • httpx - Async HTTP client for API calls (with HTTP/2 support)
  • python-dateutil - Date/time parsing and manipulation
  • typing-extensions - Extended type hints
  • hiveio-api - Generated API client definitions

Optional dependencies

  • beekeepy - Beekeeper wallet integration for transaction signing
  • pytest - For running tests
  • mypy - For type checking
  • ruff - For linting

Troubleshooting

Import errors

If you encounter import errors:
Ensure you’re importing from the correct package:

Build failures

If building from source fails:
  1. Ensure you have a C++ compiler:
    • Linux: sudo apt-get install build-essential
    • macOS: Install Xcode Command Line Tools
    • Windows: Use WSL or install Visual Studio Build Tools
  2. Ensure submodules are initialized:

Version conflicts

If you experience dependency version conflicts:

Next steps

Offline operations

Learn about create_wax_foundation for offline mode

Online operations

Learn about create_hive_chain for full blockchain access