A Python SDK for whitebit
Please read whitebit API document before continuing.
v4 is the preferred one to use
“You acknowledge that the software is provided “as is”. Author makes no representations or warranties with respect to the software whether express or implied, including but not limited to, implied warranties of merchantability and fitness for a particular purpose. author makes no representation or warranty that: (i) the use and distribution of the software will be uninterrupted or error free, and (ii) any use and distribution of the software is free from infringement of any third party intellectual property rights. It shall be your sole responsibility to make such determination before the use of software. Author disclaims any liability in case any such use and distribution infringe any third party’s intellectual property rights. Author hereby disclaims any warranty and liability whatsoever for any development created by or for you with respect to your customers. You acknowledge that you have relied on no warranties and that no warranties are made by author or granted by law whenever it is permitted by law.”
python3 -m pip install python-whitebit-sdk
Init client for API services. Get APIKey/SecretKey from your whitebit account.
from whitebit import MainAccountClient
account = MainAccountClient(api_key="", api_secret=""))
Following are some simple examples.
See the examples folder for full references.
# Create order/spot client
order = OrderClient(api_key="",
api_secret="")
# Call SDK function put_limit
print(order.put_limit("BTC_USDT", "sell", "0.1", "40000", True))
Init bot class and "on_message" method for work with ws responses. Get APIKey/SecretKey from your whitebit account.
class Bot(WhitebitWsClient):
def __init__(self):
super().__init__(key="", secret="")
async def on_message(self, event) -> None:
logging.info(event)
Following are some simple examples.
See the examples folder for full references.
class Bot(WhitebitWsClient):
'''Can be used to create a custom trading strategy/bot'''
def __init__(self):
super().__init__(key="", secret="")
async def on_message(self, event) -> None:
'''receives the websocket events'''
if 'result' in event:
result = event['result']
match result:
case 'pong': return
logging.info(event['result'])
return
else:
method = event['method']
match method:
case WhitebitWsClient.DEALS_UPDATE:
logging.info(event['params'])
return
async def main() -> None:
bot = Bot()
await bot.get_deals("BTC_USDT", 0, 100)
await bot.subscribe_deals(["BTC_USDT"])
while not bot.exception_occur:
await asyncio.sleep(100)
return
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO)
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
try:
asyncio.run(main())
except KeyboardInterrupt:
pass
finally:
loop.close()