pybinbot 2.0.0__tar.gz → 2.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pybinbot-2.0.0/pybinbot.egg-info → pybinbot-2.1.0}/PKG-INFO +6 -6
- {pybinbot-2.0.0 → pybinbot-2.1.0}/README.md +4 -4
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/__init__.py +0 -24
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/rest.py +1 -1
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/candles.py +2 -2
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/maths.py +1 -1
- {pybinbot-2.0.0 → pybinbot-2.1.0/pybinbot.egg-info}/PKG-INFO +6 -6
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pyproject.toml +2 -2
- {pybinbot-2.0.0 → pybinbot-2.1.0}/LICENSE +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/MANIFEST.in +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/binance/base.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/binance/exceptions.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/binbot/base.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/binbot/exceptions.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/coingecko.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/base.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/exceptions.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/futures.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/market.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/apis/kucoin/orders.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/__init__.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/autotrade_settings.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/bot.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/bot_base.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/deal.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/derivatives.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/grid_ladder.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/order.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/routes.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/signals.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/models/symbol.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/py.typed +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/__init__.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/beta.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/breadth.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/cache.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/enums.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/handlers.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/heikin_ashi.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/indicators.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/logging_config.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/price_crossings.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/telegram_delivery.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/timestamps.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/types.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/shared/utils.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/streaming/binance/async_socket_client.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/streaming/binance/socket_client.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/streaming/binance/socket_manager.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot/streaming/kucoin/kucoin_async_client.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot.egg-info/SOURCES.txt +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot.egg-info/dependency_links.txt +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot.egg-info/requires.txt +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/pybinbot.egg-info/top_level.txt +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/setup.cfg +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_beta.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_binbot_api.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_bot_futures_leverage.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_breadth.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_candles.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_coingecko.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_conditional_futures_orders.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_deal_model.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_derivatives_api.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_futures_place_order.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_grid_ladder.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_handlers.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_heikin_ashi.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_indicators.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_kucoin_api.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_logging_config.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_matching_engine.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_maths.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_price_crossings.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_symbol_model.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_telegram_delivery.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_timestamps.py +0 -0
- {pybinbot-2.0.0 → pybinbot-2.1.0}/tests/test_utils.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pybinbot
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: Utility functions for the binbot project.
|
|
5
5
|
Author-email: Carlos Wu <carkodw@gmail.com>
|
|
6
|
-
Requires-Python: >=3.
|
|
6
|
+
Requires-Python: >=3.15
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: pydantic[email]>=2.0.0
|
|
@@ -37,12 +37,12 @@ This module re-exports the internal ``shared`` and ``models`` packages and the m
|
|
|
37
37
|
|
|
38
38
|
from pybinbot import round_numbers, ExchangeId
|
|
39
39
|
|
|
40
|
-
Python 3.
|
|
41
|
-
pybinbot
|
|
42
|
-
dependencies. Consumers can import the modules or commonly used types and functions:
|
|
40
|
+
Python 3.15 or newer is required. Pandas and NumPy use matching version pins in
|
|
41
|
+
pybinbot, binbot, and binquant. Import these libraries directly:
|
|
43
42
|
|
|
44
43
|
```python
|
|
45
|
-
|
|
44
|
+
import numpy as np
|
|
45
|
+
import pandas as pd
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
|
|
@@ -8,12 +8,12 @@ This module re-exports the internal ``shared`` and ``models`` packages and the m
|
|
|
8
8
|
|
|
9
9
|
from pybinbot import round_numbers, ExchangeId
|
|
10
10
|
|
|
11
|
-
Python 3.
|
|
12
|
-
pybinbot
|
|
13
|
-
dependencies. Consumers can import the modules or commonly used types and functions:
|
|
11
|
+
Python 3.15 or newer is required. Pandas and NumPy use matching version pins in
|
|
12
|
+
pybinbot, binbot, and binquant. Import these libraries directly:
|
|
14
13
|
|
|
15
14
|
```python
|
|
16
|
-
|
|
15
|
+
import numpy as np
|
|
16
|
+
import pandas as pd
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
|
|
@@ -5,18 +5,6 @@ models, while still allowing access to the structured subpackages via
|
|
|
5
5
|
``pybinbot.shared`` and ``pybinbot.models``.
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
import numpy as numpy
|
|
9
|
-
import pandas as pandas
|
|
10
|
-
from numpy import isnan as isnan, log as log, nan as nan
|
|
11
|
-
from pandas import (
|
|
12
|
-
DataFrame as DataFrame,
|
|
13
|
-
Series as Series,
|
|
14
|
-
concat as concat,
|
|
15
|
-
to_datetime as to_datetime,
|
|
16
|
-
to_numeric as to_numeric,
|
|
17
|
-
)
|
|
18
|
-
from pandas.api.types import is_numeric_dtype as is_numeric_dtype
|
|
19
|
-
|
|
20
8
|
from pybinbot.shared.maths import (
|
|
21
9
|
STOP_LIMIT_OFFSET_RATIO,
|
|
22
10
|
ceil_price_to_tick,
|
|
@@ -185,18 +173,6 @@ from . import models, shared, apis
|
|
|
185
173
|
configure_logging()
|
|
186
174
|
|
|
187
175
|
__all__ = [
|
|
188
|
-
# Numerical dependencies shared by binbot and binquant.
|
|
189
|
-
"numpy",
|
|
190
|
-
"pandas",
|
|
191
|
-
"DataFrame",
|
|
192
|
-
"Series",
|
|
193
|
-
"concat",
|
|
194
|
-
"to_datetime",
|
|
195
|
-
"to_numeric",
|
|
196
|
-
"is_numeric_dtype",
|
|
197
|
-
"isnan",
|
|
198
|
-
"log",
|
|
199
|
-
"nan",
|
|
200
176
|
"BinanceFundingRate",
|
|
201
177
|
"BinanceFundingRatesResponse",
|
|
202
178
|
"FundingRateHistoryPoint",
|
|
@@ -126,7 +126,7 @@ class Candles:
|
|
|
126
126
|
continue
|
|
127
127
|
try:
|
|
128
128
|
open_time = float(open_time_value)
|
|
129
|
-
except
|
|
129
|
+
except TypeError, ValueError:
|
|
130
130
|
continue
|
|
131
131
|
if not isfinite(open_time):
|
|
132
132
|
continue
|
|
@@ -140,7 +140,7 @@ class Candles:
|
|
|
140
140
|
continue
|
|
141
141
|
try:
|
|
142
142
|
close_time = float(close_time_value)
|
|
143
|
-
except
|
|
143
|
+
except TypeError, ValueError:
|
|
144
144
|
continue
|
|
145
145
|
if not isfinite(close_time):
|
|
146
146
|
continue
|
|
@@ -14,7 +14,7 @@ STOP_LIMIT_OFFSET_RATIO = 0.005 # 0.5% of the stop price
|
|
|
14
14
|
def coerce_number(value: Any) -> float | None:
|
|
15
15
|
try:
|
|
16
16
|
parsed = float(value)
|
|
17
|
-
except
|
|
17
|
+
except TypeError, ValueError:
|
|
18
18
|
return None
|
|
19
19
|
if not math.isfinite(parsed):
|
|
20
20
|
return None
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pybinbot
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: Utility functions for the binbot project.
|
|
5
5
|
Author-email: Carlos Wu <carkodw@gmail.com>
|
|
6
|
-
Requires-Python: >=3.
|
|
6
|
+
Requires-Python: >=3.15
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: pydantic[email]>=2.0.0
|
|
@@ -37,12 +37,12 @@ This module re-exports the internal ``shared`` and ``models`` packages and the m
|
|
|
37
37
|
|
|
38
38
|
from pybinbot import round_numbers, ExchangeId
|
|
39
39
|
|
|
40
|
-
Python 3.
|
|
41
|
-
pybinbot
|
|
42
|
-
dependencies. Consumers can import the modules or commonly used types and functions:
|
|
40
|
+
Python 3.15 or newer is required. Pandas and NumPy use matching version pins in
|
|
41
|
+
pybinbot, binbot, and binquant. Import these libraries directly:
|
|
43
42
|
|
|
44
43
|
```python
|
|
45
|
-
|
|
44
|
+
import numpy as np
|
|
45
|
+
import pandas as pd
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
|
|
@@ -22,13 +22,13 @@ build-backend = "setuptools.build_meta"
|
|
|
22
22
|
|
|
23
23
|
[project]
|
|
24
24
|
name = "pybinbot"
|
|
25
|
-
version = "2.
|
|
25
|
+
version = "2.1.0"
|
|
26
26
|
description = "Utility functions for the binbot project."
|
|
27
27
|
authors = [
|
|
28
28
|
{ name="Carlos Wu", email="carkodw@gmail.com" }
|
|
29
29
|
]
|
|
30
30
|
readme = "README.md"
|
|
31
|
-
requires-python = ">=3.
|
|
31
|
+
requires-python = ">=3.15"
|
|
32
32
|
dependencies = [
|
|
33
33
|
"pydantic[email]>=2.0.0",
|
|
34
34
|
"numpy==2.5.4",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|