Commit Graph

38 Commits

Author SHA1 Message Date
Davide Casale
36725a183e Move _BfxWebsocketBucket class in its own file bfxapi/websocket/_BfxWebsocketBucket.py. 2023-01-19 18:12:12 +01:00
Davide Casale
ff58f049a7 Separate _BfxWebsocketInputs from bfxapi/websocket/BfxWebsocketClient.py to _BfxWebsocketInputs.py. Rename websocket authenticated inputs methods. Refactoring to maintain consistency across the library. 2023-01-12 18:10:00 +01:00
Davide Casale
6217f9040c Rename bfxapi/utils/decimal.py to encoder.py. Add support for datetime JSON serialization. Update class reference in BfxWebsocketClient.py. 2022-12-20 18:40:41 +01:00
Davide Casale
0a53ab7f7e Apply lots of refactoring to the websocket subpackage (fix every mypy error and warning). Add integers.py and decimal.py to bfxapi.utils package. Update requirements.txt and setup.py with new mypy dependencies. 2022-12-16 18:30:41 +01:00
Davide Casale
48f1745f10 Add MAXIMUM_BUCKETS_AMOUNT constant to BfxWebsocketClient class. 2022-11-30 17:55:10 +01:00
Davide Casale
509223ae9b Add order_multiple_operations input in _BfxWebsocketInputs. 2022-11-30 17:34:13 +01:00
Davide Casale
e71d4b6e26 Add new websocket authenticated inputs in _BfxWebsocketInputs class. Add new type hinting inside bfxapi/websocket/typings.py. 2022-11-30 17:24:51 +01:00
Davide Casale
d9ecbaa9f0 Change exception formatting inside error .add_listener in BfxWebsocketClient. 2022-11-29 18:05:20 +01:00
Davide Casale
bfd05cf7c7 Add traceback import and implementation. 2022-11-29 17:53:39 +01:00
Davide Casale
e262c81f97 Change default log_level value (from 'INFO' to 'ERROR'). Implement error event into AsyncIOEventEmitter. Add error logging. 2022-11-29 17:17:17 +01:00
Davide Casale
b308bbacbd Add Flags enumeration to enums.py. Rename new_order and new_position to order_new and position_new to mantain consistency. Add _BfxWebsocketInputs class with order_new, order_update and order_cancel inputs. 2022-11-29 15:26:02 +01:00
Davide Casale
fa073823ce Add .run method in BfxWebsocketClient class. 2022-11-28 17:08:27 +01:00
Davide Casale
4bb62a942f Allow users to use .on and .once as non-decorators methods. 2022-11-28 16:58:09 +01:00
Davide Casale
9e8bea905a Rename .chanIds field in _BfxWebsocketBucket to .subscriptions. 2022-11-28 16:50:07 +01:00
Davide Casale
3a09ba2e90 Add filter parameter to BfxWebsocketClient's __init__.py. Rewrite .notify coroutine adding new feature. Add Notifications channel handlers in handlers.py. Add Notification serializer in serializers.py. 2022-11-24 17:31:47 +01:00
Davide Casale
c8d8586841 Add bfxapi/websocket/enums.py file. Rewrite bfxapi.websocket's __init__.py. Rename HEARTBEAT constant to _HEARTBEAT to make it internal. 2022-11-23 16:56:13 +01:00
Davide Casale
4933ae6d9a Add new_order (coroutine) websocket authenticated input. Fix bug in BfxWebsocketClient.__require_websocket_authentication decorator. 2022-11-23 16:45:33 +01:00
Davide Casale
45a9565cf4 Fix bug regarding closing websocket connection with .close coroutine method. 2022-11-23 16:28:05 +01:00
Davide Casale
acbed0bc57 Fix small bug from merge conflicts resolving. 2022-11-22 18:58:36 +01:00
Davide Casale
29abf2d7ea Merge branch 'master' into add-logging-system 2022-11-22 18:49:55 +01:00
itsdeka
958134b0f4 Add bfxapi/utils subpackage. Add bfxapi/utils/logger.py. Implement logger with log_level in BfxWebsocketClient.py. 2022-11-22 17:40:26 +00:00
Davide Casale
a8dec5c6bc Rename bfxapi/websocket/errors.py to exceptions.py. Add Errors enumeration inside BfxWebsocketClient.py and bfxapi/websocket/__init__.py. 2022-11-22 18:11:05 +01:00
Davide Casale
999766a307 Add .close coroutine to BfxWebsocketClient and _BfxWebsocketBucket classes. 2022-11-22 18:02:19 +01:00
Davide Casale
721e82b86d Add pendings in _BfxWebsocketBucket. Add new logic for selecting the bucket with less connections. Add ._unsubscribe coroutine. 2022-11-22 17:21:21 +01:00
Davide Casale
92f6e691f5 Add BfxWebsocketBucket class in bfxapi/websocket/BfxWebsocketClient.py. Implement running multiple websocket client concurrently using asyncio to allow more than 25 connections to public channels. Rewrite BfxWebsocketClient to handle only websocket authenticated channels. 2022-11-21 18:41:05 +01:00
Davide Casale
8e56e9971e Rename error event to wss-error. 2022-11-21 16:28:55 +01:00
Davide Casale
7314578dd7 Separate _require_websocket_connection decorator from BfxWebsocketClient class. Add _require_websocket_authentication decorator. Implement .notify method in bfxapi/websocket/BfxWebsocketClient.py. 2022-11-17 18:54:43 +01:00
Davide Casale
d58c60b02d Add EventNotSupported exception in errors.py. 2022-11-16 19:01:52 +01:00
Davide Casale
d3715d3f9c Fix small bug in bfxapi/websocket/BfxWebsocketClient.py. 2022-11-15 18:37:17 +01:00
Davide Casale
7fcd2e0970 Add OutdatedClientVersion exception in bfxapi/websocket/errors.py. Add check for version mismatch between client and server. Add support for error event. 2022-11-15 18:06:21 +01:00
Davide Casale
7d6ba4302a Rename AuthenticatedEventsHandler to AuthenticatedChannelsHandler. Rewrite handlers.py gathering events in channels. Update references in bfxapi. 2022-11-14 18:37:31 +01:00
Davide Casale
a03a82d57a Add support for various new authenticated channels. Add new typings in bfxapi/websocket/typings.py. Add BfxWebsocketException in bfxapi/websocket/errors.py. 2022-11-11 18:54:38 +01:00
Davide Casale
61b082db2e Rewrite AuthenticatedEventsHandler with _label_array_elements logic. Add support to multiple new events. Fix bug in BfxWebsocketClient.py. 2022-11-10 11:57:57 +01:00
Davide Casale
50644e8116 Rename manager.py to handlers.py. Add code to BfxWebsocketClient.py to handle authenticated channel. Update bfxapi/websocket/__init__.py imports. 2022-11-09 19:13:48 +01:00
Davide Casale
1fc9aacd86 Add authenticate method in BfxWebsocketClient. Add API_KEY and API_SECRET to Client's constructor parameters. Add new AuthenticationCredentialsError exception. 2022-11-09 18:26:30 +01:00
Davide Casale
a37b7dda33 Add bfxapi/websocket/errors.py script. Add __require_websocket_connection decorator inside BfxWebsocketClient class. Implement unsubscribe and clear methods. 2022-11-08 17:47:46 +01:00
Davide Casale
5dfe3d6b13 Add bfxapi/websocket/manager.py file. Separate channel handlers from BfxWebsocketClient.py to manager.py. Fix bug in subscribe method. 2022-11-08 17:04:22 +01:00
Davide Casale
048eedcd8e Add bfxapi package. Add bfxapi.websocket subpackage. Add requirements.txt file. 2022-11-07 18:35:39 +01:00