pmxt 1.0.3__tar.gz → 1.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.
- {pmxt-1.0.3 → pmxt-1.1.0}/PKG-INFO +4 -4
- {pmxt-1.0.3 → pmxt-1.1.0}/README.md +3 -3
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/__init__.py +7 -1
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/api/default_api.py +578 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/api_client.py +1 -1
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/configuration.py +1 -1
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/__init__.py +3 -0
- pmxt-1.1.0/generated/pmxt_internal/models/watch_order_book_request.py +102 -0
- pmxt-1.1.0/generated/pmxt_internal/models/watch_order_book_request_args_inner.py +143 -0
- pmxt-1.1.0/generated/pmxt_internal/models/watch_trades_request.py +102 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/__init__.py +1 -1
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/_server/server/bundled.js +21931 -276
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/client.py +110 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/server_manager.py +51 -4
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt.egg-info/PKG-INFO +4 -4
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt.egg-info/SOURCES.txt +3 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pyproject.toml +1 -1
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/api/__init__.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/api_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/exceptions.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/balance.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/base_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/base_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/cancel_order_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/create_order200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/create_order_params.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/create_order_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/error_detail.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/error_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/exchange_credentials.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_balance200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_markets200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_markets_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_ohlcv200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_ohlcv_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_ohlcv_request_args_inner.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_open_orders200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_open_orders_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_order_book200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_order_book_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_positions200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_positions_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_trades200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/fetch_trades_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/get_markets_by_slug_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/health_check200_response.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/history_filter_params.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/market_filter_params.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/market_outcome.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/order.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/order_book.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/order_level.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/position.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/price_candle.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/search_markets_request.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/search_markets_request_args_inner.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/trade.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/models/unified_market.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/py.typed +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/generated/pmxt_internal/rest.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/_server/__init__.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/_server/bin/pmxt-ensure-server +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt/models.py +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt.egg-info/dependency_links.txt +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt.egg-info/requires.txt +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/pmxt.egg-info/top_level.txt +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/setup.cfg +0 -0
- {pmxt-1.0.3 → pmxt-1.1.0}/tests/test_integration.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pmxt
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: Unified prediction market data API - The ccxt for prediction markets
|
|
5
5
|
Author: PMXT Contributors
|
|
6
6
|
License: MIT
|
|
@@ -206,10 +206,10 @@ For deep-dive methods like `fetch_ohlcv()`, `fetch_order_book()`, and `fetch_tra
|
|
|
206
206
|
|
|
207
207
|
```python
|
|
208
208
|
markets = poly.search_markets("Trump")
|
|
209
|
-
outcome_id = markets[0].outcomes[0].id #
|
|
209
|
+
outcome_id = markets[0].outcomes[0].id # Correct
|
|
210
210
|
|
|
211
|
-
candles = poly.fetch_ohlcv(outcome_id, ...) #
|
|
212
|
-
candles = poly.fetch_ohlcv(markets[0].id, ...) #
|
|
211
|
+
candles = poly.fetch_ohlcv(outcome_id, ...) # Works
|
|
212
|
+
candles = poly.fetch_ohlcv(markets[0].id, ...) # Wrong!
|
|
213
213
|
```
|
|
214
214
|
|
|
215
215
|
### Prices are 0.0 to 1.0
|
|
@@ -172,10 +172,10 @@ For deep-dive methods like `fetch_ohlcv()`, `fetch_order_book()`, and `fetch_tra
|
|
|
172
172
|
|
|
173
173
|
```python
|
|
174
174
|
markets = poly.search_markets("Trump")
|
|
175
|
-
outcome_id = markets[0].outcomes[0].id #
|
|
175
|
+
outcome_id = markets[0].outcomes[0].id # Correct
|
|
176
176
|
|
|
177
|
-
candles = poly.fetch_ohlcv(outcome_id, ...) #
|
|
178
|
-
candles = poly.fetch_ohlcv(markets[0].id, ...) #
|
|
177
|
+
candles = poly.fetch_ohlcv(outcome_id, ...) # Works
|
|
178
|
+
candles = poly.fetch_ohlcv(markets[0].id, ...) # Wrong!
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
### Prices are 0.0 to 1.0
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
""" # noqa: E501
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
__version__ = "1.0
|
|
17
|
+
__version__ = "1.1.0"
|
|
18
18
|
|
|
19
19
|
# Define package exports
|
|
20
20
|
__all__ = [
|
|
@@ -66,6 +66,9 @@ __all__ = [
|
|
|
66
66
|
"SearchMarketsRequestArgsInner",
|
|
67
67
|
"Trade",
|
|
68
68
|
"UnifiedMarket",
|
|
69
|
+
"WatchOrderBookRequest",
|
|
70
|
+
"WatchOrderBookRequestArgsInner",
|
|
71
|
+
"WatchTradesRequest",
|
|
69
72
|
]
|
|
70
73
|
|
|
71
74
|
# import apis into sdk package
|
|
@@ -121,4 +124,7 @@ from pmxt_internal.models.search_markets_request import SearchMarketsRequest as
|
|
|
121
124
|
from pmxt_internal.models.search_markets_request_args_inner import SearchMarketsRequestArgsInner as SearchMarketsRequestArgsInner
|
|
122
125
|
from pmxt_internal.models.trade import Trade as Trade
|
|
123
126
|
from pmxt_internal.models.unified_market import UnifiedMarket as UnifiedMarket
|
|
127
|
+
from pmxt_internal.models.watch_order_book_request import WatchOrderBookRequest as WatchOrderBookRequest
|
|
128
|
+
from pmxt_internal.models.watch_order_book_request_args_inner import WatchOrderBookRequestArgsInner as WatchOrderBookRequestArgsInner
|
|
129
|
+
from pmxt_internal.models.watch_trades_request import WatchTradesRequest as WatchTradesRequest
|
|
124
130
|
|
|
@@ -38,6 +38,8 @@ from pmxt_internal.models.fetch_trades_request import FetchTradesRequest
|
|
|
38
38
|
from pmxt_internal.models.get_markets_by_slug_request import GetMarketsBySlugRequest
|
|
39
39
|
from pmxt_internal.models.health_check200_response import HealthCheck200Response
|
|
40
40
|
from pmxt_internal.models.search_markets_request import SearchMarketsRequest
|
|
41
|
+
from pmxt_internal.models.watch_order_book_request import WatchOrderBookRequest
|
|
42
|
+
from pmxt_internal.models.watch_trades_request import WatchTradesRequest
|
|
41
43
|
|
|
42
44
|
from pmxt_internal.api_client import ApiClient, RequestSerialized
|
|
43
45
|
from pmxt_internal.api_response import ApiResponse
|
|
@@ -3720,3 +3722,579 @@ class DefaultApi:
|
|
|
3720
3722
|
)
|
|
3721
3723
|
|
|
3722
3724
|
|
|
3725
|
+
|
|
3726
|
+
|
|
3727
|
+
@validate_call
|
|
3728
|
+
def watch_order_book(
|
|
3729
|
+
self,
|
|
3730
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
3731
|
+
watch_order_book_request: Optional[WatchOrderBookRequest] = None,
|
|
3732
|
+
_request_timeout: Union[
|
|
3733
|
+
None,
|
|
3734
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3735
|
+
Tuple[
|
|
3736
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3737
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3738
|
+
]
|
|
3739
|
+
] = None,
|
|
3740
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3741
|
+
_content_type: Optional[StrictStr] = None,
|
|
3742
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3743
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3744
|
+
) -> FetchOrderBook200Response:
|
|
3745
|
+
"""Watch Order Book (WebSocket Stream)
|
|
3746
|
+
|
|
3747
|
+
Subscribe to real-time order book updates via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
3748
|
+
|
|
3749
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
3750
|
+
:type exchange: str
|
|
3751
|
+
:param watch_order_book_request:
|
|
3752
|
+
:type watch_order_book_request: WatchOrderBookRequest
|
|
3753
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3754
|
+
number provided, it will be total request
|
|
3755
|
+
timeout. It can also be a pair (tuple) of
|
|
3756
|
+
(connection, read) timeouts.
|
|
3757
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3758
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3759
|
+
request; this effectively ignores the
|
|
3760
|
+
authentication in the spec for a single request.
|
|
3761
|
+
:type _request_auth: dict, optional
|
|
3762
|
+
:param _content_type: force content-type for the request.
|
|
3763
|
+
:type _content_type: str, Optional
|
|
3764
|
+
:param _headers: set to override the headers for a single
|
|
3765
|
+
request; this effectively ignores the headers
|
|
3766
|
+
in the spec for a single request.
|
|
3767
|
+
:type _headers: dict, optional
|
|
3768
|
+
:param _host_index: set to override the host_index for a single
|
|
3769
|
+
request; this effectively ignores the host_index
|
|
3770
|
+
in the spec for a single request.
|
|
3771
|
+
:type _host_index: int, optional
|
|
3772
|
+
:return: Returns the result object.
|
|
3773
|
+
""" # noqa: E501
|
|
3774
|
+
|
|
3775
|
+
_param = self._watch_order_book_serialize(
|
|
3776
|
+
exchange=exchange,
|
|
3777
|
+
watch_order_book_request=watch_order_book_request,
|
|
3778
|
+
_request_auth=_request_auth,
|
|
3779
|
+
_content_type=_content_type,
|
|
3780
|
+
_headers=_headers,
|
|
3781
|
+
_host_index=_host_index
|
|
3782
|
+
)
|
|
3783
|
+
|
|
3784
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3785
|
+
'200': "FetchOrderBook200Response",
|
|
3786
|
+
}
|
|
3787
|
+
response_data = self.api_client.call_api(
|
|
3788
|
+
*_param,
|
|
3789
|
+
_request_timeout=_request_timeout
|
|
3790
|
+
)
|
|
3791
|
+
response_data.read()
|
|
3792
|
+
return self.api_client.response_deserialize(
|
|
3793
|
+
response_data=response_data,
|
|
3794
|
+
response_types_map=_response_types_map,
|
|
3795
|
+
).data
|
|
3796
|
+
|
|
3797
|
+
|
|
3798
|
+
@validate_call
|
|
3799
|
+
def watch_order_book_with_http_info(
|
|
3800
|
+
self,
|
|
3801
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
3802
|
+
watch_order_book_request: Optional[WatchOrderBookRequest] = None,
|
|
3803
|
+
_request_timeout: Union[
|
|
3804
|
+
None,
|
|
3805
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3806
|
+
Tuple[
|
|
3807
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3808
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3809
|
+
]
|
|
3810
|
+
] = None,
|
|
3811
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3812
|
+
_content_type: Optional[StrictStr] = None,
|
|
3813
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3814
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3815
|
+
) -> ApiResponse[FetchOrderBook200Response]:
|
|
3816
|
+
"""Watch Order Book (WebSocket Stream)
|
|
3817
|
+
|
|
3818
|
+
Subscribe to real-time order book updates via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
3819
|
+
|
|
3820
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
3821
|
+
:type exchange: str
|
|
3822
|
+
:param watch_order_book_request:
|
|
3823
|
+
:type watch_order_book_request: WatchOrderBookRequest
|
|
3824
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3825
|
+
number provided, it will be total request
|
|
3826
|
+
timeout. It can also be a pair (tuple) of
|
|
3827
|
+
(connection, read) timeouts.
|
|
3828
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3829
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3830
|
+
request; this effectively ignores the
|
|
3831
|
+
authentication in the spec for a single request.
|
|
3832
|
+
:type _request_auth: dict, optional
|
|
3833
|
+
:param _content_type: force content-type for the request.
|
|
3834
|
+
:type _content_type: str, Optional
|
|
3835
|
+
:param _headers: set to override the headers for a single
|
|
3836
|
+
request; this effectively ignores the headers
|
|
3837
|
+
in the spec for a single request.
|
|
3838
|
+
:type _headers: dict, optional
|
|
3839
|
+
:param _host_index: set to override the host_index for a single
|
|
3840
|
+
request; this effectively ignores the host_index
|
|
3841
|
+
in the spec for a single request.
|
|
3842
|
+
:type _host_index: int, optional
|
|
3843
|
+
:return: Returns the result object.
|
|
3844
|
+
""" # noqa: E501
|
|
3845
|
+
|
|
3846
|
+
_param = self._watch_order_book_serialize(
|
|
3847
|
+
exchange=exchange,
|
|
3848
|
+
watch_order_book_request=watch_order_book_request,
|
|
3849
|
+
_request_auth=_request_auth,
|
|
3850
|
+
_content_type=_content_type,
|
|
3851
|
+
_headers=_headers,
|
|
3852
|
+
_host_index=_host_index
|
|
3853
|
+
)
|
|
3854
|
+
|
|
3855
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3856
|
+
'200': "FetchOrderBook200Response",
|
|
3857
|
+
}
|
|
3858
|
+
response_data = self.api_client.call_api(
|
|
3859
|
+
*_param,
|
|
3860
|
+
_request_timeout=_request_timeout
|
|
3861
|
+
)
|
|
3862
|
+
response_data.read()
|
|
3863
|
+
return self.api_client.response_deserialize(
|
|
3864
|
+
response_data=response_data,
|
|
3865
|
+
response_types_map=_response_types_map,
|
|
3866
|
+
)
|
|
3867
|
+
|
|
3868
|
+
|
|
3869
|
+
@validate_call
|
|
3870
|
+
def watch_order_book_without_preload_content(
|
|
3871
|
+
self,
|
|
3872
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
3873
|
+
watch_order_book_request: Optional[WatchOrderBookRequest] = None,
|
|
3874
|
+
_request_timeout: Union[
|
|
3875
|
+
None,
|
|
3876
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3877
|
+
Tuple[
|
|
3878
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
3879
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
3880
|
+
]
|
|
3881
|
+
] = None,
|
|
3882
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
3883
|
+
_content_type: Optional[StrictStr] = None,
|
|
3884
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
3885
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
3886
|
+
) -> RESTResponseType:
|
|
3887
|
+
"""Watch Order Book (WebSocket Stream)
|
|
3888
|
+
|
|
3889
|
+
Subscribe to real-time order book updates via WebSocket. Returns a promise that resolves with the next order book update. Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
3890
|
+
|
|
3891
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
3892
|
+
:type exchange: str
|
|
3893
|
+
:param watch_order_book_request:
|
|
3894
|
+
:type watch_order_book_request: WatchOrderBookRequest
|
|
3895
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3896
|
+
number provided, it will be total request
|
|
3897
|
+
timeout. It can also be a pair (tuple) of
|
|
3898
|
+
(connection, read) timeouts.
|
|
3899
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
3900
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3901
|
+
request; this effectively ignores the
|
|
3902
|
+
authentication in the spec for a single request.
|
|
3903
|
+
:type _request_auth: dict, optional
|
|
3904
|
+
:param _content_type: force content-type for the request.
|
|
3905
|
+
:type _content_type: str, Optional
|
|
3906
|
+
:param _headers: set to override the headers for a single
|
|
3907
|
+
request; this effectively ignores the headers
|
|
3908
|
+
in the spec for a single request.
|
|
3909
|
+
:type _headers: dict, optional
|
|
3910
|
+
:param _host_index: set to override the host_index for a single
|
|
3911
|
+
request; this effectively ignores the host_index
|
|
3912
|
+
in the spec for a single request.
|
|
3913
|
+
:type _host_index: int, optional
|
|
3914
|
+
:return: Returns the result object.
|
|
3915
|
+
""" # noqa: E501
|
|
3916
|
+
|
|
3917
|
+
_param = self._watch_order_book_serialize(
|
|
3918
|
+
exchange=exchange,
|
|
3919
|
+
watch_order_book_request=watch_order_book_request,
|
|
3920
|
+
_request_auth=_request_auth,
|
|
3921
|
+
_content_type=_content_type,
|
|
3922
|
+
_headers=_headers,
|
|
3923
|
+
_host_index=_host_index
|
|
3924
|
+
)
|
|
3925
|
+
|
|
3926
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
3927
|
+
'200': "FetchOrderBook200Response",
|
|
3928
|
+
}
|
|
3929
|
+
response_data = self.api_client.call_api(
|
|
3930
|
+
*_param,
|
|
3931
|
+
_request_timeout=_request_timeout
|
|
3932
|
+
)
|
|
3933
|
+
return response_data.response
|
|
3934
|
+
|
|
3935
|
+
|
|
3936
|
+
def _watch_order_book_serialize(
|
|
3937
|
+
self,
|
|
3938
|
+
exchange,
|
|
3939
|
+
watch_order_book_request,
|
|
3940
|
+
_request_auth,
|
|
3941
|
+
_content_type,
|
|
3942
|
+
_headers,
|
|
3943
|
+
_host_index,
|
|
3944
|
+
) -> RequestSerialized:
|
|
3945
|
+
|
|
3946
|
+
_host = None
|
|
3947
|
+
|
|
3948
|
+
_collection_formats: Dict[str, str] = {
|
|
3949
|
+
}
|
|
3950
|
+
|
|
3951
|
+
_path_params: Dict[str, str] = {}
|
|
3952
|
+
_query_params: List[Tuple[str, str]] = []
|
|
3953
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
3954
|
+
_form_params: List[Tuple[str, str]] = []
|
|
3955
|
+
_files: Dict[
|
|
3956
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
3957
|
+
] = {}
|
|
3958
|
+
_body_params: Optional[bytes] = None
|
|
3959
|
+
|
|
3960
|
+
# process the path parameters
|
|
3961
|
+
if exchange is not None:
|
|
3962
|
+
_path_params['exchange'] = exchange
|
|
3963
|
+
# process the query parameters
|
|
3964
|
+
# process the header parameters
|
|
3965
|
+
# process the form parameters
|
|
3966
|
+
# process the body parameter
|
|
3967
|
+
if watch_order_book_request is not None:
|
|
3968
|
+
_body_params = watch_order_book_request
|
|
3969
|
+
|
|
3970
|
+
|
|
3971
|
+
# set the HTTP header `Accept`
|
|
3972
|
+
if 'Accept' not in _header_params:
|
|
3973
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3974
|
+
[
|
|
3975
|
+
'application/json'
|
|
3976
|
+
]
|
|
3977
|
+
)
|
|
3978
|
+
|
|
3979
|
+
# set the HTTP header `Content-Type`
|
|
3980
|
+
if _content_type:
|
|
3981
|
+
_header_params['Content-Type'] = _content_type
|
|
3982
|
+
else:
|
|
3983
|
+
_default_content_type = (
|
|
3984
|
+
self.api_client.select_header_content_type(
|
|
3985
|
+
[
|
|
3986
|
+
'application/json'
|
|
3987
|
+
]
|
|
3988
|
+
)
|
|
3989
|
+
)
|
|
3990
|
+
if _default_content_type is not None:
|
|
3991
|
+
_header_params['Content-Type'] = _default_content_type
|
|
3992
|
+
|
|
3993
|
+
# authentication setting
|
|
3994
|
+
_auth_settings: List[str] = [
|
|
3995
|
+
]
|
|
3996
|
+
|
|
3997
|
+
return self.api_client.param_serialize(
|
|
3998
|
+
method='POST',
|
|
3999
|
+
resource_path='/api/{exchange}/watchOrderBook',
|
|
4000
|
+
path_params=_path_params,
|
|
4001
|
+
query_params=_query_params,
|
|
4002
|
+
header_params=_header_params,
|
|
4003
|
+
body=_body_params,
|
|
4004
|
+
post_params=_form_params,
|
|
4005
|
+
files=_files,
|
|
4006
|
+
auth_settings=_auth_settings,
|
|
4007
|
+
collection_formats=_collection_formats,
|
|
4008
|
+
_host=_host,
|
|
4009
|
+
_request_auth=_request_auth
|
|
4010
|
+
)
|
|
4011
|
+
|
|
4012
|
+
|
|
4013
|
+
|
|
4014
|
+
|
|
4015
|
+
@validate_call
|
|
4016
|
+
def watch_trades(
|
|
4017
|
+
self,
|
|
4018
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
4019
|
+
watch_trades_request: Optional[WatchTradesRequest] = None,
|
|
4020
|
+
_request_timeout: Union[
|
|
4021
|
+
None,
|
|
4022
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4023
|
+
Tuple[
|
|
4024
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4025
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4026
|
+
]
|
|
4027
|
+
] = None,
|
|
4028
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4029
|
+
_content_type: Optional[StrictStr] = None,
|
|
4030
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4031
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4032
|
+
) -> FetchTrades200Response:
|
|
4033
|
+
"""Watch Trades (WebSocket Stream)
|
|
4034
|
+
|
|
4035
|
+
Subscribe to real-time trade updates via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
4036
|
+
|
|
4037
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
4038
|
+
:type exchange: str
|
|
4039
|
+
:param watch_trades_request:
|
|
4040
|
+
:type watch_trades_request: WatchTradesRequest
|
|
4041
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4042
|
+
number provided, it will be total request
|
|
4043
|
+
timeout. It can also be a pair (tuple) of
|
|
4044
|
+
(connection, read) timeouts.
|
|
4045
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4046
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4047
|
+
request; this effectively ignores the
|
|
4048
|
+
authentication in the spec for a single request.
|
|
4049
|
+
:type _request_auth: dict, optional
|
|
4050
|
+
:param _content_type: force content-type for the request.
|
|
4051
|
+
:type _content_type: str, Optional
|
|
4052
|
+
:param _headers: set to override the headers for a single
|
|
4053
|
+
request; this effectively ignores the headers
|
|
4054
|
+
in the spec for a single request.
|
|
4055
|
+
:type _headers: dict, optional
|
|
4056
|
+
:param _host_index: set to override the host_index for a single
|
|
4057
|
+
request; this effectively ignores the host_index
|
|
4058
|
+
in the spec for a single request.
|
|
4059
|
+
:type _host_index: int, optional
|
|
4060
|
+
:return: Returns the result object.
|
|
4061
|
+
""" # noqa: E501
|
|
4062
|
+
|
|
4063
|
+
_param = self._watch_trades_serialize(
|
|
4064
|
+
exchange=exchange,
|
|
4065
|
+
watch_trades_request=watch_trades_request,
|
|
4066
|
+
_request_auth=_request_auth,
|
|
4067
|
+
_content_type=_content_type,
|
|
4068
|
+
_headers=_headers,
|
|
4069
|
+
_host_index=_host_index
|
|
4070
|
+
)
|
|
4071
|
+
|
|
4072
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4073
|
+
'200': "FetchTrades200Response",
|
|
4074
|
+
}
|
|
4075
|
+
response_data = self.api_client.call_api(
|
|
4076
|
+
*_param,
|
|
4077
|
+
_request_timeout=_request_timeout
|
|
4078
|
+
)
|
|
4079
|
+
response_data.read()
|
|
4080
|
+
return self.api_client.response_deserialize(
|
|
4081
|
+
response_data=response_data,
|
|
4082
|
+
response_types_map=_response_types_map,
|
|
4083
|
+
).data
|
|
4084
|
+
|
|
4085
|
+
|
|
4086
|
+
@validate_call
|
|
4087
|
+
def watch_trades_with_http_info(
|
|
4088
|
+
self,
|
|
4089
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
4090
|
+
watch_trades_request: Optional[WatchTradesRequest] = None,
|
|
4091
|
+
_request_timeout: Union[
|
|
4092
|
+
None,
|
|
4093
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4094
|
+
Tuple[
|
|
4095
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4096
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4097
|
+
]
|
|
4098
|
+
] = None,
|
|
4099
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4100
|
+
_content_type: Optional[StrictStr] = None,
|
|
4101
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4102
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4103
|
+
) -> ApiResponse[FetchTrades200Response]:
|
|
4104
|
+
"""Watch Trades (WebSocket Stream)
|
|
4105
|
+
|
|
4106
|
+
Subscribe to real-time trade updates via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
4107
|
+
|
|
4108
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
4109
|
+
:type exchange: str
|
|
4110
|
+
:param watch_trades_request:
|
|
4111
|
+
:type watch_trades_request: WatchTradesRequest
|
|
4112
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4113
|
+
number provided, it will be total request
|
|
4114
|
+
timeout. It can also be a pair (tuple) of
|
|
4115
|
+
(connection, read) timeouts.
|
|
4116
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4117
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4118
|
+
request; this effectively ignores the
|
|
4119
|
+
authentication in the spec for a single request.
|
|
4120
|
+
:type _request_auth: dict, optional
|
|
4121
|
+
:param _content_type: force content-type for the request.
|
|
4122
|
+
:type _content_type: str, Optional
|
|
4123
|
+
:param _headers: set to override the headers for a single
|
|
4124
|
+
request; this effectively ignores the headers
|
|
4125
|
+
in the spec for a single request.
|
|
4126
|
+
:type _headers: dict, optional
|
|
4127
|
+
:param _host_index: set to override the host_index for a single
|
|
4128
|
+
request; this effectively ignores the host_index
|
|
4129
|
+
in the spec for a single request.
|
|
4130
|
+
:type _host_index: int, optional
|
|
4131
|
+
:return: Returns the result object.
|
|
4132
|
+
""" # noqa: E501
|
|
4133
|
+
|
|
4134
|
+
_param = self._watch_trades_serialize(
|
|
4135
|
+
exchange=exchange,
|
|
4136
|
+
watch_trades_request=watch_trades_request,
|
|
4137
|
+
_request_auth=_request_auth,
|
|
4138
|
+
_content_type=_content_type,
|
|
4139
|
+
_headers=_headers,
|
|
4140
|
+
_host_index=_host_index
|
|
4141
|
+
)
|
|
4142
|
+
|
|
4143
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4144
|
+
'200': "FetchTrades200Response",
|
|
4145
|
+
}
|
|
4146
|
+
response_data = self.api_client.call_api(
|
|
4147
|
+
*_param,
|
|
4148
|
+
_request_timeout=_request_timeout
|
|
4149
|
+
)
|
|
4150
|
+
response_data.read()
|
|
4151
|
+
return self.api_client.response_deserialize(
|
|
4152
|
+
response_data=response_data,
|
|
4153
|
+
response_types_map=_response_types_map,
|
|
4154
|
+
)
|
|
4155
|
+
|
|
4156
|
+
|
|
4157
|
+
@validate_call
|
|
4158
|
+
def watch_trades_without_preload_content(
|
|
4159
|
+
self,
|
|
4160
|
+
exchange: Annotated[StrictStr, Field(description="The prediction market exchange to target.")],
|
|
4161
|
+
watch_trades_request: Optional[WatchTradesRequest] = None,
|
|
4162
|
+
_request_timeout: Union[
|
|
4163
|
+
None,
|
|
4164
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4165
|
+
Tuple[
|
|
4166
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
4167
|
+
Annotated[StrictFloat, Field(gt=0)]
|
|
4168
|
+
]
|
|
4169
|
+
] = None,
|
|
4170
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
4171
|
+
_content_type: Optional[StrictStr] = None,
|
|
4172
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
4173
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
4174
|
+
) -> RESTResponseType:
|
|
4175
|
+
"""Watch Trades (WebSocket Stream)
|
|
4176
|
+
|
|
4177
|
+
Subscribe to real-time trade updates via WebSocket. Returns a promise that resolves with the next trade(s). Call repeatedly in a loop to stream updates (CCXT Pro pattern).
|
|
4178
|
+
|
|
4179
|
+
:param exchange: The prediction market exchange to target. (required)
|
|
4180
|
+
:type exchange: str
|
|
4181
|
+
:param watch_trades_request:
|
|
4182
|
+
:type watch_trades_request: WatchTradesRequest
|
|
4183
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
4184
|
+
number provided, it will be total request
|
|
4185
|
+
timeout. It can also be a pair (tuple) of
|
|
4186
|
+
(connection, read) timeouts.
|
|
4187
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
4188
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
4189
|
+
request; this effectively ignores the
|
|
4190
|
+
authentication in the spec for a single request.
|
|
4191
|
+
:type _request_auth: dict, optional
|
|
4192
|
+
:param _content_type: force content-type for the request.
|
|
4193
|
+
:type _content_type: str, Optional
|
|
4194
|
+
:param _headers: set to override the headers for a single
|
|
4195
|
+
request; this effectively ignores the headers
|
|
4196
|
+
in the spec for a single request.
|
|
4197
|
+
:type _headers: dict, optional
|
|
4198
|
+
:param _host_index: set to override the host_index for a single
|
|
4199
|
+
request; this effectively ignores the host_index
|
|
4200
|
+
in the spec for a single request.
|
|
4201
|
+
:type _host_index: int, optional
|
|
4202
|
+
:return: Returns the result object.
|
|
4203
|
+
""" # noqa: E501
|
|
4204
|
+
|
|
4205
|
+
_param = self._watch_trades_serialize(
|
|
4206
|
+
exchange=exchange,
|
|
4207
|
+
watch_trades_request=watch_trades_request,
|
|
4208
|
+
_request_auth=_request_auth,
|
|
4209
|
+
_content_type=_content_type,
|
|
4210
|
+
_headers=_headers,
|
|
4211
|
+
_host_index=_host_index
|
|
4212
|
+
)
|
|
4213
|
+
|
|
4214
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
4215
|
+
'200': "FetchTrades200Response",
|
|
4216
|
+
}
|
|
4217
|
+
response_data = self.api_client.call_api(
|
|
4218
|
+
*_param,
|
|
4219
|
+
_request_timeout=_request_timeout
|
|
4220
|
+
)
|
|
4221
|
+
return response_data.response
|
|
4222
|
+
|
|
4223
|
+
|
|
4224
|
+
def _watch_trades_serialize(
|
|
4225
|
+
self,
|
|
4226
|
+
exchange,
|
|
4227
|
+
watch_trades_request,
|
|
4228
|
+
_request_auth,
|
|
4229
|
+
_content_type,
|
|
4230
|
+
_headers,
|
|
4231
|
+
_host_index,
|
|
4232
|
+
) -> RequestSerialized:
|
|
4233
|
+
|
|
4234
|
+
_host = None
|
|
4235
|
+
|
|
4236
|
+
_collection_formats: Dict[str, str] = {
|
|
4237
|
+
}
|
|
4238
|
+
|
|
4239
|
+
_path_params: Dict[str, str] = {}
|
|
4240
|
+
_query_params: List[Tuple[str, str]] = []
|
|
4241
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
4242
|
+
_form_params: List[Tuple[str, str]] = []
|
|
4243
|
+
_files: Dict[
|
|
4244
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
4245
|
+
] = {}
|
|
4246
|
+
_body_params: Optional[bytes] = None
|
|
4247
|
+
|
|
4248
|
+
# process the path parameters
|
|
4249
|
+
if exchange is not None:
|
|
4250
|
+
_path_params['exchange'] = exchange
|
|
4251
|
+
# process the query parameters
|
|
4252
|
+
# process the header parameters
|
|
4253
|
+
# process the form parameters
|
|
4254
|
+
# process the body parameter
|
|
4255
|
+
if watch_trades_request is not None:
|
|
4256
|
+
_body_params = watch_trades_request
|
|
4257
|
+
|
|
4258
|
+
|
|
4259
|
+
# set the HTTP header `Accept`
|
|
4260
|
+
if 'Accept' not in _header_params:
|
|
4261
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
4262
|
+
[
|
|
4263
|
+
'application/json'
|
|
4264
|
+
]
|
|
4265
|
+
)
|
|
4266
|
+
|
|
4267
|
+
# set the HTTP header `Content-Type`
|
|
4268
|
+
if _content_type:
|
|
4269
|
+
_header_params['Content-Type'] = _content_type
|
|
4270
|
+
else:
|
|
4271
|
+
_default_content_type = (
|
|
4272
|
+
self.api_client.select_header_content_type(
|
|
4273
|
+
[
|
|
4274
|
+
'application/json'
|
|
4275
|
+
]
|
|
4276
|
+
)
|
|
4277
|
+
)
|
|
4278
|
+
if _default_content_type is not None:
|
|
4279
|
+
_header_params['Content-Type'] = _default_content_type
|
|
4280
|
+
|
|
4281
|
+
# authentication setting
|
|
4282
|
+
_auth_settings: List[str] = [
|
|
4283
|
+
]
|
|
4284
|
+
|
|
4285
|
+
return self.api_client.param_serialize(
|
|
4286
|
+
method='POST',
|
|
4287
|
+
resource_path='/api/{exchange}/watchTrades',
|
|
4288
|
+
path_params=_path_params,
|
|
4289
|
+
query_params=_query_params,
|
|
4290
|
+
header_params=_header_params,
|
|
4291
|
+
body=_body_params,
|
|
4292
|
+
post_params=_form_params,
|
|
4293
|
+
files=_files,
|
|
4294
|
+
auth_settings=_auth_settings,
|
|
4295
|
+
collection_formats=_collection_formats,
|
|
4296
|
+
_host=_host,
|
|
4297
|
+
_request_auth=_request_auth
|
|
4298
|
+
)
|
|
4299
|
+
|
|
4300
|
+
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/1.0
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/1.1.0/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
def __enter__(self):
|
|
@@ -506,7 +506,7 @@ class Configuration:
|
|
|
506
506
|
"OS: {env}\n"\
|
|
507
507
|
"Python Version: {pyversion}\n"\
|
|
508
508
|
"Version of the API: 0.4.4\n"\
|
|
509
|
-
"SDK Package Version: 1.0
|
|
509
|
+
"SDK Package Version: 1.1.0".\
|
|
510
510
|
format(env=sys.platform, pyversion=sys.version)
|
|
511
511
|
|
|
512
512
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -51,4 +51,7 @@ from pmxt_internal.models.search_markets_request import SearchMarketsRequest
|
|
|
51
51
|
from pmxt_internal.models.search_markets_request_args_inner import SearchMarketsRequestArgsInner
|
|
52
52
|
from pmxt_internal.models.trade import Trade
|
|
53
53
|
from pmxt_internal.models.unified_market import UnifiedMarket
|
|
54
|
+
from pmxt_internal.models.watch_order_book_request import WatchOrderBookRequest
|
|
55
|
+
from pmxt_internal.models.watch_order_book_request_args_inner import WatchOrderBookRequestArgsInner
|
|
56
|
+
from pmxt_internal.models.watch_trades_request import WatchTradesRequest
|
|
54
57
|
|