Skip to main content

Injective Python SDK, with Exchange API client

Project description

Injective Python SDK

Dependencies

Ubuntu

sudo apt install python3.X-dev autoconf automake build-essential libffi-dev libtool pkg-config

Fedora

sudo dnf install python3-devel autoconf automake gcc gcc-c++ libffi-devel libtool make pkgconfig

macOS

brew install autoconf automake libtool

Quick Start

Installation

pip install injective-py

Usage

Requires Python 3.7+

Examples

$ pipenv shell
$ pipenv install

# connecting to Injective Exchange API
# and listening for new orders from a specific spot market
$ python examples/exchange_client/spot_exchange_rpc/8_StreamOrders.py

# sending a msg with bank transfer
# signs and posts a transaction to the Injective Chain
$ python examples/chain_client/1_MsgSend.py

Upgrade pip to the latest version, if you see these warnings:

WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
WARNING: Additional context:   user = True   home = None   root = None   prefix = None

Development

  1. Generate proto binding & build
make gen
python -m build
  1. Enable dev env
pipenv shell
pipenv install --dev
  1. Install pkg
# from local build
pip uninstall injective-py
pip install injective-py --no-index --find-links /path/to/injective/sdk-python/dist

# from pypi
pip uninstall injective-py
pip install injective-py
  1. Fetch latest denom config
python pyinjective/fetch_metadata.py

Note that the sync client has been deprecated as of April 18, 2022. If you are using the sync client please make sure to transition to the async client, for more information read here

Changelogs

0.5.7.9

  • Add support for conditional orders & order mask
  • Add support for custom network
  • Add chain event streaming support
  • Re-gen proto files

0.5.7.8

  • Add state as a request param in OrdersHistory
  • Add market_id as an optional param in Positions
  • Re-gen proto files

0.5.7.7

  • Add start_time and end_time in TradesRequest

0.5.7.6

  • Add OrdersHistory
  • Add SendToInjective
  • Add MsgRewardsOptOut
  • Re-gen ini files

0.5.7.5

  • Fix MsgExternalTransfer
  • Adapt TradesRequest to optional args

0.5.7.4

  • Refactor fetch_metadata script to use K8S
  • Refactor testnet network config to K8S
  • Remove print logs and standardized logging to info
  • Print support for custom cookie in client initialization

0.5.7.3

  • Add multi-subaccount and multi-market support in TradesRequest

0.5.7.2

  • Fix MsgInstantBinaryOptionsLaunch

0.5.7.1

  • Add optional argument to bypass ini file load in binary options

0.5.7.0

  • Add GetTxRequest Tendermint
  • Re-gen ini files

0.5.6.9

  • Add MsgExternalTransfer to the composer
  • Add support for Binary Options
  • Add multi-subaccount support in local order hash calculation
  • Re-gen ini files

0.5.6.8

  • Add skip & limit params to Exchange API methods
  • Add more methods in ExplorerRPC
  • Add bank balance chain queries
  • Remove LB endpoint and keep K8S as default
  • Refactored local order hash computation
  • Re-gen ini files

0.5.6.6

  • Add PO orders in local order hash computation function
  • Add automatic timeout height in transactions
  • Add automatic session renewal for K8S
  • Add MsgDelegate and MsgWithdrawDelegatorReward in the composer
  • Add typed authz support in the composer
  • Decouple SendToCosmos from the composer and remove web3 dependency
  • Re-gen ini files

0.5.6.5

  • Add MsgRelayPriceFeedPrice in the composer
  • Add Post-only orders in the composer
  • Add OrderbooksRequest in the clients
  • Add support for multiple markets in StreamTrades and StreamPosition
  • Add support for multiple subaccounts in StreamTrades and StreamPosition
  • Add K8S endpoint to mainnet network options
  • Add MsgRegisterAsDMM to the composer
  • Add functions to close chain/exchange channels
  • Re-gen ini files

License

Apache Software License 2.0

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

injective-py-0.5.8.1.tar.gz (471.1 kB view hashes)

Uploaded Source

Built Distribution

injective_py-0.5.8.1-py3-none-any.whl (709.2 kB view hashes)

Uploaded Python 3

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