Skip to main content

zaif-client is a python client (sync/async) library for zaif api.

Project description

PyPI version License: MIT

zaif-client is a python client (sync/async) library for zaif api

Installation

$ pip install zaif-client

Usage

Public

#
# sync
#
from zaif_client.public import Public

client = Public(public_key='your key', private_key='your secret key')
response = client.ticker()
print(response.status_code, response.json())

#
# async
#
import grequests
from zaif_client.publicasync import PublicAsync

client = PublicAsync(public_key='your key', private_key='your secret key')
reqs = [client.ticker(), client.depth(), ...]
response = grequests.map(reqs)
for r in response:
    print(r.status_code, r.json())

#
# /currencies/{currency}
#
client.currencies(currency='all')
# [{"name": "btc","is_token": false},{"name": "XCP","is_token": true},...]

#
# /currency_pairs/{currency_pair}
#
client.currency_pairs(currency_pair='all')
# [{"name": "BTC/JPY","title": "BTC/JPY","currency_pair": "btc_jpy","description": "\u30d3\u30c3\u30c8\u30b3\u30a4\u30f3\u30fb\u65e5\u672c\u5186\u306e\u53d6\u5f15\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059","is_token": false,"event_number": 0,"item_unit_min": 0.0001,"item_unit_step": 0.0001,"aux_unit_min": 5.0,"aux_unit_step": 5.0,"seq": 0,"aux_japanese": "\u65e5\u672c\u5186","item_japanese": "\u30d3\u30c3\u30c8\u30b3\u30a4\u30f3","aux_unit_point": 0,},{"name": "KINOKOUSAKA/JPY","title": "KINOKOUSAKA/JPY \u53d6\u5f15\u6240 - ZAIF Exchange","currency_pair": "kinokousaka_jpy","description": "KINOKOUSAKA/JPY \u53d6\u5f15\u6240\u3002KINOKOUSAKA\u3068\u65e5\u672c\u5186\u306e\u53d6\u5f15\u304c\u884c\u3048\u307e\u3059\u3002","is_token": true,"event_number": 1,"item_unit_min": 0.01,"item_unit_step": 0.01,"aux_unit_min": 0.01,"aux_unit_step": 0.01,"seq": 134,"aux_japanese": "\u65e5\u672c\u5186","item_japanese": "KINOKOUSAKA","aux_unit_point": 2,}...]

#
# /last_price/{currency_pair}
#
client.last_price(currency_pair='btc_jpy')
# {"last_price": 134820.0}

#
# /ticker/{currency_pair}
#
client.ticker(currency_pair='btc_jpy')
# {"last": 135875.0,"high": 136000.0,"low": 131570.0,"vwap": 133301.7489,"volume": 6889.215,"bid": 135875.0,"ask": 135920.0}

#
# /trades/{currency_pair}
#
client.trades(currency_pair='btc_jpy')
# [{"date": 1491756592,"price": 135340.0,"amount": 0.02,"tid": 43054307,"currency_pair": "btc_jpy","trade_type": "ask"},{"date": 1491756591,"price": 135345.0,"amount": 0.01,"tid": 43054306,"currency_pair": "btc_jpy","trade_type": "bid"},...]

#
# /depth/{currency_pair}
#
client.depth(currency_pair='btc_jpy')
# {"asks": [[134875.0,0.0063],[134885.0,0.1639],...],"bids": [[134870.0,0.01],[134865.0,0.3066],...]}

Trade

#
# sync
#
from zaif_client.trade import Trade

client = Trade(public_key='your key', private_key='your secret key')
response = client.get_info()
print(response.status_code, response.json())

#
# async
#
import grequests
from zaif_client.tradeasync import TradeAsync

client = TradeAsync(public_key='your key', private_key='your secret key')
reqs = [client.get_info(), client.get_info2(), ...]
response = grequests.map(reqs)
for r in response:
    print(r.status_code, r.json())

#
# get_info
#
client.get_info()
# {"success":1,"return":{"funds":{"jpy":15320,"btc":1.389,"xem":100.2,"mona":2600,"pepecash":0.1},"deposit":{"jpy":20440,"btc":1.479,"xem":100.2,"mona":3200,"pepecash":0.1},"rights":{"info":1,"trade":1,"withdraw":0,"personal_info":0,"id_info":0,},"trade_count":18,"open_orders":3,"server_time":1401950833}}

#
# get_info2
#
client.get_info2()
# {"success": 1,"return": {"funds": {"jpy": 15320,"btc": 1.389,"xem": 100.2,"mona": 2600,"pepecash": 0.1},"deposit": {"jpy": 20440,"btc": 1.479,"xem": 100.2,"mona": 3200,"pepecash": 0.1},"rights": {"info": 1,"trade": 1,"withdraw": 0,"personal_info": 0},"open_orders": 3,"server_time": 1401950833}

#
# get_personal_info
#
client.get_personal_info()
# {"success": 1,"return": {"ranking_nickname": "ニックネーム","icon_path": "https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png"}}

#
# get_id_info
#
client.get_id_info()
# {'success': 1, 'return': {'user': {'certified': True, 'kana': 'カナ', 'id': 123123, 'name': '氏名', 'email': 'メール'}}}

#
# trade_history
#
client.trade_history()
# {"success": 1,"return": {"182": {"currency_pair": "btc_jpy","action": "bid","amount": 0.03,"price": 56000,"fee": 0,"your_action": "ask","bonus": 1.6,"timestamp": 1402018713,"comment" : "demo"}}}

#
# active_orders
#
client.active_orders()
# {"success": 1,"return": {"184": {"currency_pair": "btc_jpy","action": "ask","amount": 0.03,"price": 56000,"timestamp": 1402021125,"comment" : "demo"}}}is_token_bothがtrueの時は下記{"success": 1,"return": {"active_orders": {"184": {"currency_pair": "btc_jpy","action": "ask","amount": 0.03,"price": 56000,"timestamp": 1402021125,"comment" : "demo"},"token_active_orders": {"235": {"currency_pair": "kaori_jpy","action": "ask","amount": 0.3,"price": 10,"timestamp": 1402064525,"comment" : "demo"}}}}}

#
# trade
#
client.trade(currency_pair='btc_jpy', action='bid', price=1, amount=1)
# {"success": 1,"return": {"received": 0.1,"remains": 0,"order_id": 0,"funds": {"jpy": 325,"btc": 1.392,"mona": 2600}}}

#
# cancel_order
#
client.cancel_order(currency_pair='btc_jpy', order_id=184)
# {"success": 1,"return": {"order_id": 184,"funds": {"jpy": 15320,"btc": 1.392,"mona": 2600,"kaori": 0.1}}}

#
# withdraw
#
client.withdraw(currency='btc', address='xxxxxxx', amount=1)
# {"success": 1,"return": {"id": 23634,"fee": 0.001,"txid":,"funds": {"jpy": 15320,"btc": 1.392,"xem": 100.2,"mona": 2600}}

#
# deposit_history
#
client.deposit_history(currency='jpy')
# {"success":1,"return":{"3816":{"timestamp":1435745065,"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2","amount":0.001,"txid":"64dcf59523379ba282ae8cd61d2e9382c7849afe3a3802c0abb08a60067a159f",},"3814":{"timestamp":1435548083,"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2","amount":0.001,"txid":"7d012cfff6e67a8938f93215367eef4177604459631ea62c85550980dca71819"},}}

#
# withdraw_history
#
client.withdraw_history(currency='jpy')
# {"success":1,"return":{"3816":{"timestamp":1435745065,"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2","amount":0.001,"txid":"64dcf59523379ba282ae8cd61d2e9382c7849afe3a3802c0abb08a60067a159f",},"3814":{"timestamp":1435548083,"address":"12qwQ3sPJJAosodSUhSpMds4WfUPBeFEM2","amount":0.001,"txid":"7d012cfff6e67a8938f93215367eef4177604459631ea62c85550980dca71819"},}}

Futures

#
# sync
#
from zaif_client.futures import Futures

client = Futures(public_key='your key', private_key='your secret key')
response = client.ticker()
print(response.status_code, response.json())

#
# async
#
import grequests
from zaif_client.futuresasync import FuturesAsync

client = FuturesAsync(public_key='your key', private_key='your secret key')
reqs = [client.ticker(), client.depth(), ...]
response = grequests.map(reqs)
for r in response:
    print(r.status_code, r.json())

#
# /groups/{group_id}
#
client.groups(group_id='all')
# [{"id": 1,"currency_pair": "btc_jpy","start_timestamp": 1480518000,"end_timestamp": 4102412399,"use_swap": false},{"id": 2,"currency_pair": "btc_jpy","start_timestamp": 1488294000,"end_timestamp": 1498834800,"use_swap": false}]

#
# /last_price/{group_id}/{currency_pair}
#
client.last_price(group_id='all', currency_pair='btc_jpy')
# [{"last_price": 112155.0, "group_id": 1},{"last_price": 106100.0, "group_id": 2},...]

#
# /ticker/{group_id}/{currency_pair}
#
client.ticker(group_id=1, currency_pair='btc_jpy')
# {"last": 112155.0,"high": 117000.0,"low": 112155.0,"vwap": 115847.1429,"volume": 150.0007,"bid": 116995.0,"ask": 117000.0}

#
# /trades/{group_id}/{currency_pair}
#
client.trades(group_id=1, currency_pair='btc_jpy')
# [{"date": 1491756592,"price": 135340.0,"amount": 0.02,"tid": 102659,"currency_pair": "btc_jpy","trade_type": "ask"},{"date": 1491756591,"price": 135345.0,"amount": 0.01,"tid": 102658,"currency_pair": "btc_jpy","trade_type": "bid"},...]

#
# /depth/{group_id}/{currency_pair}
#
client.depth(group_id=1, currency_pair='btc_jpy')
# {"asks": [[134875.0,0.0063],[134885.0,0.1639],...],"bids": [[134870.0,0.01],[134865.0,0.3066],...]}

Leverage

#
# sync
#
from zaif_client.leverage import Leverage

client = Leverage(public_key='your key', private_key='your secret key')
response = client.ticker()
print(response.status_code, response.json())

#
# async
#
import grequests
from zaif_client.leverageasync import LeverageAsync

client = LeverageAsync(public_key='your key', private_key='your secret key')
reqs = [client.ticker(), client.depth(), ...]
response = grequests.map(reqs)
for r in response:
    print(r.status_code, r.json())

#
# get_positions
#
client.get_positions(group_id=1, type='margin')
# {"success": 1,"return": {"182": {"group_id": 1,"currency_pair": "btc_jpy","action": "bid","leverage": 2.5,"price": 110005,"limit": 130000,"stop": 90000,"amount": 0.03,"fee_spent": 0,"timestamp": 1402018713,"term_end": 1404610713,"timestamp_closed": 1402019000,"deposit": 35.76 ,"deposit_jpy": 35.76,"refunded": 35.76 ,"refunded_jpy": 35.76,"swap": 0,}}}

#
# position_history
#
client.position_history(group_id=1, type='margin', leverage_id=1)
# {"success": 1,"return": {"182": {"group_id": 1,"currency_pair": "btc_jpy","action": "bid","amount": 0.0001,"price": 499000"timestamp": 1504251232"your_action": "bid","bid_leverage_id": 182,},"183": {"group_id": 1,"currency_pair": "btc_jpy","action": "ask","amount": 0.0001,"price": 450000"timestamp": 1504251267"your_action": "ask","ask_leverage_id": 182,},}}

#
# active_positions
#
client.active_positions(group_id=1, type='margin')
# {"success": 1,"return": {"184": {"group_id": "1","currency_pair": "btc_jpy","action": "ask","amount": 0.0001,"price": 450000,"timestamp": 1402021125,"term_end": 1404613125,"leverage": 1,"fee_spent": 0.0015,"price_avg": 450000,"amount_done": 0.0001,"deposit_jpy": 48.72}}}

#
# create_position
#
client.create_position(group_id=1, type='margin', currency_pair='btc_jpy', action='bid', price=1, amount=1, leverage=1)
# {"success": 1,"return": {"leverage_id": 22258,"timestamp": 1504253833,"term_end": 1506845833,"price_avg": 118000,"amount_done": 0.0001,"deposit_jpy": 11.92,"funds": {"jpy": 325,"btc": 1.392,"mona": 2600}}}

#
# change_position
#
client.change_position(group_id=1, type='margin', leverage_id=1, price=1)
# {"success": 1,"return": {"leverage_id": 22258,"price_avg": 118000,"amount_done": 0.0001,}}

#
# cancel_position
#
client.cancel_position(group_id=1, type='margin', leverage_id=1)
# {'success': 1,'return': {'leverage_id': 2072,'refunded_jpy': 645.96,'funds': {'btc': 0.496,'jpy': 1564.96,'xem': 0.0,'mona': 10.0},'fee_spent': 0.0,'timestamp_closed': '1508384951','swap': 0.0}}

Contributing

  1. Fork it

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -am 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request

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

zaif-client-0.1.1.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file zaif-client-0.1.1.tar.gz.

File metadata

  • Download URL: zaif-client-0.1.1.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for zaif-client-0.1.1.tar.gz
Algorithm Hash digest
SHA256 22c1a23e80a9890ffc6472d29c8cffa02b2a26c4bb6adf998cbd8a7acb4142b8
MD5 b48bb2d9903a27e1979de14a83783c39
BLAKE2b-256 de5436424c085284fb2d327aa39149f22aa6aa8d9a8c8c5db4cdab9ba5b4a762

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