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

For installing bip32 module specifically:

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/sync/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/sync/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

Changelogs

0.5.6.2

  • Add authz support in composer and client
  • Add historical rewards for Trade & Earn

0.5.6.1

  • Add devnet ini to local env

0.5.6.0

  • Add local env in networks

0.5.5.9

  • Add MsgBatchUpdateOrders to the composer
  • Add skip/limit parameters to funding payments

0.5.5.8

  • Fix stream_bids in async client
  • Add more messages in MsgResponses for simulation

0.5.5.5

  • Refactor LCD endpoints
  • Regen ini files

0.5.5.1

  • Add ATOM back to denoms_mainnet.ini

0.5.5

  • Added MsgBid to the Composer and provided an example
  • Refactored the clients and composer with kwargs for optional arguments

0.5.4

  • Added PortfolioRequest, GetTxByHashRequest, AuctionRequest, AuctionsRequest, StreamBidsRequest and provided examples
  • Updated the composer with MsgIncreasePosition and MsgLiquidatePosition
  • Added reduce-only orders to the composer and updated examples

0.5.3

  • Add skip, and limit to trade request

0.5.2

  • Add sync init_num_seq, changed previous init_num_seq to async_init_num_seq
  • Add staging mainnet endpoint, update market metadata
  • Protobuf regen
  • Response parser improvements
  • Fix type hints

0.5.1

  • Add AsyncClient
  • Add MetaRPC API

0.4.8

  • Add tokyo as optional API node option for mainnet
  • Improve conversion utils, include gas estimation in simulation response
  • Update exchange client
  • Add display fields, update ini files, fix derv quantity conversion
  • Minor format fixes

0.4.5

  • Wrap exchange grpc client into Client class.
  • Add Single-threaded pending sequence management.

0.4.4

  • Allow to parse one or multiple exchange responses in simulation/tx response data.
  • Add simulation before broadcasting tx for gas estimation and error preview.
  • Add devnet to network options.

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.6.2.tar.gz (388.3 kB view details)

Uploaded Source

Built Distribution

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

injective_py-0.5.6.2-py3-none-any.whl (597.9 kB view details)

Uploaded Python 3

File details

Details for the file injective-py-0.5.6.2.tar.gz.

File metadata

  • Download URL: injective-py-0.5.6.2.tar.gz
  • Upload date:
  • Size: 388.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for injective-py-0.5.6.2.tar.gz
Algorithm Hash digest
SHA256 c4a9434b9be06cade92c2f2774ef2a5074669afc160f25f50faa9021d07eca3f
MD5 e0c560f776f1ecdf3d8619884a6e17fa
BLAKE2b-256 627fa203247bd807568b7986a90af9835e3030b75345289debf942b1060a4e82

See more details on using hashes here.

File details

Details for the file injective_py-0.5.6.2-py3-none-any.whl.

File metadata

  • Download URL: injective_py-0.5.6.2-py3-none-any.whl
  • Upload date:
  • Size: 597.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for injective_py-0.5.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b20de4e8f3536f564837cf3dbd06e602e603ee966a676ef12a08a2a386ff848d
MD5 66b7f8ac1d37cb571ce1ed06510756f5
BLAKE2b-256 c36e285e937315cf117d1f992b4c4fe454a220fbdf5271eaff3f9480c160babd

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