Skip to main content

SDK for Hyperliquid API trading with Python.

Project description

hyperliquid-python-sdk

Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions License

SDK for Hyperliquid API trading with Python.

Installation

pip install hyperliquid-python-sdk

Configuration

  • Set the public key as the account_address in examples/config.json.
  • Set your private key as the secret_key in examples/config.json.
  • See the example of loading the config in examples/example_utils.py

[Optional] Generate a new API key for an API Wallet

Generate and authorize a new API private key on https://app.hyperliquid.xyz/API, and set the API wallet's private key as the secret_key in examples/config.json. Note that you must still set the public key of the main wallet not the API wallet as the account_address in examples/config.json

Usage Examples

from hyperliquid.info import Info
from hyperliquid.utils import constants

info = Info(constants.TESTNET_API_URL, skip_ws=True)
user_state = info.user_state("0xcd5051944f780a621ee62e39e493c489668acf4d")
print(user_state)

See examples for more complete examples. You can also checkout the repo and run any of the examples after configuring your private key e.g.

cp examples/config.json.example examples/config.json
vim examples/config.json
python examples/basic_order.py

Getting started with contributing to this repo

  1. Download Poetry: https://python-poetry.org/.

    • Note that in the install script you might have to set symlinks=True in venv.EnvBuilder.
    • Note that Poetry v2 is not supported, so you'll need to specify a specific version e.g. curl -sSL https://install.python-poetry.org | POETRY_VERSION=1.4.1 python3 -
  2. Point poetry to correct version of python. For development we require python 3.10 exactly. Some dependencies have issues on 3.11, while older versions don't have correct typing support. brew install python@3.10 && poetry env use /opt/homebrew/Cellar/python@3.10/3.10.16/bin/python3.10

  3. Install dependencies:

make install

Makefile usage

CLI commands for faster development. See make help for more details.

check-safety          Run safety checks on dependencies
cleanup               Cleanup project
install               Install dependencies from poetry.lock
install-types         Find and install additional types for mypy
lint                  Alias for the pre-commit target
lockfile-update       Update poetry.lock
lockfile-update-full  Fully regenerate poetry.lock
poetry-download       Download and install poetry
pre-commit            Run linters + formatters via pre-commit, run "make pre-commit hook=black" to run only black
test                  Run tests with pytest
update-dev-deps       Update development dependencies to latest versions

Releases

You can see the list of available releases on the GitHub Releases page.

We follow the Semantic Versions specification and use Release Drafter. As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready. With the categories option, you can categorize pull requests in release notes using labels.

List of labels and corresponding titles

Label Title in Releases
enhancement, feature Features
bug, refactoring, bugfix, fix Fixes & Refactoring
build, ci, testing Build System & CI/CD
breaking Breaking Changes
documentation Documentation
dependencies Dependencies updates

Building and releasing

Building a new version of the application contains steps:

  • Bump the version of your package with poetry version <version>. You can pass the new version explicitly, or a rule such as major, minor, or patch. For more details, refer to the Semantic Versions standard.
  • Make a commit to GitHub
  • Create a GitHub release
  • poetry publish --build

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

@misc{hyperliquid-python-sdk,
  author = {Hyperliquid},
  title = {SDK for Hyperliquid API trading with Python.},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/hyperliquid-dex/hyperliquid-python-sdk}}
}

Credits

This project was generated with python-package-template.

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

hyperliquid_felix-0.23.1.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

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

hyperliquid_felix-0.23.1-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file hyperliquid_felix-0.23.1.tar.gz.

File metadata

  • Download URL: hyperliquid_felix-0.23.1.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.9 Darwin/25.3.0

File hashes

Hashes for hyperliquid_felix-0.23.1.tar.gz
Algorithm Hash digest
SHA256 bdd744bfcd5bbece840945795a84d59e8af3c43b5602d7d52fe4a7562d18c557
MD5 6894300495040cdb7e9b0223b6af3571
BLAKE2b-256 114344f48c5ca1b52778f0d9869bc22f2669c0205ba85dffe365170b945bb2ec

See more details on using hashes here.

File details

Details for the file hyperliquid_felix-0.23.1-py3-none-any.whl.

File metadata

  • Download URL: hyperliquid_felix-0.23.1-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.9 Darwin/25.3.0

File hashes

Hashes for hyperliquid_felix-0.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd2a6cad80c51c5e754d713389ce2fbe3bd19cb1c234255ee377d4573a27e100
MD5 50495c0ae0d8911512317aa4fb7237a7
BLAKE2b-256 9ead0a1a7b7187f8ff2d03e46a8afa29ae8ee530793d5f56f7439d12414f1a3d

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