Injective Python SDK, with Exchange API client
Project description
Injective Python SDK
Dependences
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
Example usage
from pyinjective.composer import Composer as ProtoMsgComposer
from pyinjective.client import Client
from pyinjective.transaction import Transaction
from pyinjective.constant import Network
from pyinjective.wallet import PrivateKey, PublicKey, Address
Usage
Requires Python 3.7+
$ pipenv shell
$ pipenv install
# connecting to Injective Exchange API
# and listening for new orders from one specific spot market
$ python examples/exchange_api_examples/spot_exchange_rpc/8_StreamOrdersRequest.py
# sending a msg with bank transfer
# signs and posts a Tx to the Injective Chain
$ python examples/chain_client_examples/1_CosmosBankMsgSend.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
- Generate proto binding & build
make gen
python -m build
- Enable dev env
pipenv shell
pipenv install --dev
- 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
- Fetch latest denom config
python pyinjective/fetch_metadata.py
Changelogs
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.5.tar.gz
(403.4 kB
view hashes)
Built Distribution
injective_py-0.5.5-py3-none-any.whl
(593.0 kB
view hashes)
Close
Hashes for injective_py-0.5.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e00cec03c5945ce1390d61dbeb2144fe0b7f9b6514f94d6eb0a11638f7711890 |
|
MD5 | b74061ca80efb30cf4a640a17f855b40 |
|
BLAKE2b-256 | 30ed5d2a6a35bd5941118335adc14071b18b02251566a6e5cf77c806f7062c7f |