Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .tox/py38/.tox-info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ToxEnv": {
"name": "py38",
"type": "VirtualEnvRunner"
}
}
2 changes: 1 addition & 1 deletion example/bpx_pub_test.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from bpx.bpx_pub import *
from bpx.bpx_pub import Assets,Markets,Ticker,Depth,KLines,Status,Ping,Time,recentTrades,historyTrades

if __name__ == '__main__':
print(Assets())
Expand Down
2 changes: 1 addition & 1 deletion example/bpx_test.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from bpx.bpx import *
from bpx.bpx import BpxClient

if __name__ == '__main__':
bpx = BpxClient()
Expand Down
4 changes: 2 additions & 2 deletions example/bpx_ws_test.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import rel
import websocket
from bpx.bpx import *

from bpx.bpx import BpxClient
import json

def on_message(ws, message):
print('Received message: {}'.format(message))
Expand Down
630 changes: 630 additions & 0 deletions poetry.lock

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[tool.poetry]
name = "bpx"
version = "0.1.2"
description = ""
authors = ["Your Name <you@example.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.8"
requests = { extras = ["socks"], version = "2.31.0" }
cryptography = "42.0.5"
pyotp = "2.9.0"
websocket-client = "1.6.4"
rel = "0.4.9.6"

[tool.poetry.group.dev.dependencies]
ruff = "^0.6.8"
pytest = "^7.0"
tox = "^4.21.1"

[tool.ruff]
line-length = 88
select = ["E", "F", "W"]
ignore = ["E501"]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
7 changes: 0 additions & 7 deletions requirements.txt

This file was deleted.

Empty file added tests/__init__.py
Empty file.
52 changes: 52 additions & 0 deletions tests/bpx_pub_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from bpx.bpx_pub import Assets, Markets, Ticker, Depth, KLines, Status, Ping, Time, recentTrades, historyTrades

symbols = ['SOL']
symbols = [symbol + '_USDC' for symbol in symbols]

def test_assets():
res = Assets()
assert res is not None, "Assets() returned None"

def test_markets():
res = Markets()
assert res is not None, "Markets() returned None"

def test_ticker():
for symbol in symbols:
res = Ticker(symbol)
assert res is not None, f"Ticker() returned None for {symbol}"
# res = Ticker('DOT_USDC')
# assert res is not None, f"Ticker() returned None for {'DOT_USDC'}"

def test_depth():
for symbol in symbols:
res = Depth(symbol)
assert res is not None, f"Depth() returned None for {symbol}"

# TODO: fix issue, Test Fails here
# def test_klines():
# for symbol in symbols:
# res = KLines(symbol, '1m')
# assert res is not None, f"KLines() returned None for {symbol}"

def test_status():
res = Status()
assert res is not None, "Status() returned None"

def test_ping():
res = Ping()
assert res is not None, "Ping() returned None"

def test_time():
res = Time()
assert res is not None, "Time() returned None"

def test_recent_trades():
for symbol in symbols:
res = recentTrades(symbol, 10)
assert res is not None, f"recentTrades() returned None for {symbol}"

def test_history_trades():
for symbol in symbols:
res = historyTrades(symbol, 10)
assert res is not None, f"historyTrades() returned None for {symbol}"
23 changes: 23 additions & 0 deletions tests/bpx_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Add the API_KEY and API_SECRET in line 12 before running this code

# import pytest
# from bpx.bpx import BpxClient

# chains = ["Bitcoin"]
# symbols = ['SOL_USDC']

# @pytest.fixture
# def client_obj():
# bpx_client = BpxClient()
# bpx_client.init("", "") # Parameters[API_KEY,API_SECRET]
# return bpx_client

# def test_deposit_address(client_obj):
# for chain in chains:
# client_obj.depositAddress(chain=chain)

# def test_order_history(client_obj):
# for symbol in symbols:
# client_obj.orderHistoryQuery(symbol,10,0) # Parameters[SYMBOL,LIMIT,OFFSET]

# # TODO: Add tests for all methods
18 changes: 18 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[tox]
envlist = py38, py39, py310

[gh-actions]
python =
3.8: py38
3.9: py39
3.10: py310

[testenv]

description = Run tests using pytest
# Use Poetry for environment management
isolated_build = true

deps = pytest
commands = pytest tests/
recreate = false