pmxt 1.3.3__py3-none-any.whl → 1.4.0__py3-none-any.whl
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/__init__.py +1 -1
- pmxt/_server/server/bundled.js +55 -0
- pmxt/client.py +83 -1
- pmxt/models.py +57 -6
- {pmxt-1.3.3.dist-info → pmxt-1.4.0.dist-info}/METADATA +3 -1
- {pmxt-1.3.3.dist-info → pmxt-1.4.0.dist-info}/RECORD +18 -13
- pmxt_internal/__init__.py +11 -1
- pmxt_internal/api/default_api.py +573 -0
- pmxt_internal/api_client.py +1 -1
- pmxt_internal/configuration.py +1 -1
- pmxt_internal/models/__init__.py +5 -0
- pmxt_internal/models/execution_price_result.py +91 -0
- pmxt_internal/models/get_execution_price200_response.py +95 -0
- pmxt_internal/models/get_execution_price_detailed200_response.py +99 -0
- pmxt_internal/models/get_execution_price_request.py +102 -0
- pmxt_internal/models/get_execution_price_request_args_inner.py +157 -0
- {pmxt-1.3.3.dist-info → pmxt-1.4.0.dist-info}/WHEEL +0 -0
- {pmxt-1.3.3.dist-info → pmxt-1.4.0.dist-info}/top_level.txt +0 -0
pmxt/__init__.py
CHANGED
pmxt/_server/server/bundled.js
CHANGED
|
@@ -24359,12 +24359,61 @@ var require_lib3 = __commonJS({
|
|
|
24359
24359
|
}
|
|
24360
24360
|
});
|
|
24361
24361
|
|
|
24362
|
+
// dist/utils/math.js
|
|
24363
|
+
var require_math = __commonJS({
|
|
24364
|
+
"dist/utils/math.js"(exports2) {
|
|
24365
|
+
"use strict";
|
|
24366
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
24367
|
+
exports2.getExecutionPrice = getExecutionPrice;
|
|
24368
|
+
exports2.getExecutionPriceDetailed = getExecutionPriceDetailed;
|
|
24369
|
+
function getExecutionPrice(orderBook, side, amount) {
|
|
24370
|
+
const result = getExecutionPriceDetailed(orderBook, side, amount);
|
|
24371
|
+
return result.fullyFilled ? result.price : 0;
|
|
24372
|
+
}
|
|
24373
|
+
function getExecutionPriceDetailed(orderBook, side, amount) {
|
|
24374
|
+
if (amount <= 0) {
|
|
24375
|
+
throw new Error("Amount must be greater than 0");
|
|
24376
|
+
}
|
|
24377
|
+
let levels = (side === "buy" ? orderBook.asks : orderBook.bids).filter((l) => l.size > 0);
|
|
24378
|
+
levels.sort((a, b) => side === "buy" ? a.price - b.price : b.price - a.price);
|
|
24379
|
+
if (levels.length === 0) {
|
|
24380
|
+
return {
|
|
24381
|
+
price: 0,
|
|
24382
|
+
filledAmount: 0,
|
|
24383
|
+
fullyFilled: false
|
|
24384
|
+
};
|
|
24385
|
+
}
|
|
24386
|
+
let remainingAmount = amount;
|
|
24387
|
+
let totalCost = 0;
|
|
24388
|
+
let filledAmount = 0;
|
|
24389
|
+
const EPSILON = 1e-8;
|
|
24390
|
+
for (const level of levels) {
|
|
24391
|
+
if (remainingAmount <= EPSILON) {
|
|
24392
|
+
break;
|
|
24393
|
+
}
|
|
24394
|
+
const fillSize = Math.min(remainingAmount, level.size);
|
|
24395
|
+
totalCost += fillSize * level.price;
|
|
24396
|
+
filledAmount += fillSize;
|
|
24397
|
+
remainingAmount -= fillSize;
|
|
24398
|
+
}
|
|
24399
|
+
const fullyFilled = remainingAmount <= EPSILON;
|
|
24400
|
+
const executionPrice = filledAmount > EPSILON ? totalCost / filledAmount : 0;
|
|
24401
|
+
return {
|
|
24402
|
+
price: executionPrice,
|
|
24403
|
+
filledAmount,
|
|
24404
|
+
fullyFilled
|
|
24405
|
+
};
|
|
24406
|
+
}
|
|
24407
|
+
}
|
|
24408
|
+
});
|
|
24409
|
+
|
|
24362
24410
|
// dist/BaseExchange.js
|
|
24363
24411
|
var require_BaseExchange = __commonJS({
|
|
24364
24412
|
"dist/BaseExchange.js"(exports2) {
|
|
24365
24413
|
"use strict";
|
|
24366
24414
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
24367
24415
|
exports2.PredictionMarketExchange = void 0;
|
|
24416
|
+
var math_1 = require_math();
|
|
24368
24417
|
var PredictionMarketExchange = class {
|
|
24369
24418
|
constructor(credentials) {
|
|
24370
24419
|
this.credentials = credentials;
|
|
@@ -24438,6 +24487,12 @@ var require_BaseExchange = __commonJS({
|
|
|
24438
24487
|
async fetchBalance() {
|
|
24439
24488
|
throw new Error("Method fetchBalance not implemented.");
|
|
24440
24489
|
}
|
|
24490
|
+
getExecutionPrice(orderBook, side, amount) {
|
|
24491
|
+
return (0, math_1.getExecutionPrice)(orderBook, side, amount);
|
|
24492
|
+
}
|
|
24493
|
+
getExecutionPriceDetailed(orderBook, side, amount) {
|
|
24494
|
+
return (0, math_1.getExecutionPriceDetailed)(orderBook, side, amount);
|
|
24495
|
+
}
|
|
24441
24496
|
// ----------------------------------------------------------------------------
|
|
24442
24497
|
// WebSocket Streaming Methods
|
|
24443
24498
|
// ----------------------------------------------------------------------------
|
pmxt/client.py
CHANGED
|
@@ -7,9 +7,10 @@ OpenAPI client, matching the JavaScript API exactly.
|
|
|
7
7
|
|
|
8
8
|
import os
|
|
9
9
|
import sys
|
|
10
|
-
from typing import List, Optional, Dict, Any
|
|
10
|
+
from typing import List, Optional, Dict, Any, Literal
|
|
11
11
|
from datetime import datetime
|
|
12
12
|
from abc import ABC, abstractmethod
|
|
13
|
+
import json
|
|
13
14
|
|
|
14
15
|
# Add generated client to path
|
|
15
16
|
_GENERATED_PATH = os.path.join(os.path.dirname(__file__), "..", "generated")
|
|
@@ -35,6 +36,7 @@ from .models import (
|
|
|
35
36
|
MarketFilterParams,
|
|
36
37
|
HistoryFilterParams,
|
|
37
38
|
CreateOrderParams,
|
|
39
|
+
ExecutionPriceResult,
|
|
38
40
|
)
|
|
39
41
|
from .server_manager import ServerManager
|
|
40
42
|
|
|
@@ -169,6 +171,15 @@ def _convert_balance(raw: Dict[str, Any]) -> Balance:
|
|
|
169
171
|
)
|
|
170
172
|
|
|
171
173
|
|
|
174
|
+
def _convert_execution_result(raw: Dict[str, Any]) -> ExecutionPriceResult:
|
|
175
|
+
"""Convert raw API response to ExecutionPriceResult."""
|
|
176
|
+
return ExecutionPriceResult(
|
|
177
|
+
price=raw.get("price", 0),
|
|
178
|
+
filled_amount=raw.get("filledAmount", 0),
|
|
179
|
+
fully_filled=raw.get("fullyFilled", False),
|
|
180
|
+
)
|
|
181
|
+
|
|
182
|
+
|
|
172
183
|
class Exchange(ABC):
|
|
173
184
|
"""
|
|
174
185
|
Base class for prediction market exchanges.
|
|
@@ -831,6 +842,77 @@ class Exchange(ABC):
|
|
|
831
842
|
except ApiException as e:
|
|
832
843
|
raise Exception(f"Failed to fetch balance: {e}")
|
|
833
844
|
|
|
845
|
+
def get_execution_price(
|
|
846
|
+
self,
|
|
847
|
+
order_book: OrderBook,
|
|
848
|
+
side: Literal["buy", "sell"],
|
|
849
|
+
amount: float
|
|
850
|
+
) -> float:
|
|
851
|
+
"""
|
|
852
|
+
Calculate the average execution price for a given amount.
|
|
853
|
+
|
|
854
|
+
Args:
|
|
855
|
+
order_book: The current order book
|
|
856
|
+
side: "buy" or "sell"
|
|
857
|
+
amount: The amount to execute
|
|
858
|
+
|
|
859
|
+
Returns:
|
|
860
|
+
The volume-weighted average price, or 0 if insufficient liquidity
|
|
861
|
+
"""
|
|
862
|
+
result = self.get_execution_price_detailed(order_book, side, amount)
|
|
863
|
+
return result.price if result.fully_filled else 0
|
|
864
|
+
|
|
865
|
+
def get_execution_price_detailed(
|
|
866
|
+
self,
|
|
867
|
+
order_book: OrderBook,
|
|
868
|
+
side: Literal["buy", "sell"],
|
|
869
|
+
amount: float
|
|
870
|
+
) -> ExecutionPriceResult:
|
|
871
|
+
"""
|
|
872
|
+
Calculate detailed execution price information.
|
|
873
|
+
|
|
874
|
+
Args:
|
|
875
|
+
order_book: The current order book
|
|
876
|
+
side: "buy" or "sell"
|
|
877
|
+
amount: The amount to execute
|
|
878
|
+
|
|
879
|
+
Returns:
|
|
880
|
+
Detailed execution result
|
|
881
|
+
"""
|
|
882
|
+
try:
|
|
883
|
+
# Convert order_book to dict for API call
|
|
884
|
+
bids = [{"price": b.price, "size": b.size} for b in order_book.bids]
|
|
885
|
+
asks = [{"price": a.price, "size": a.size} for a in order_book.asks]
|
|
886
|
+
ob_dict = {"bids": bids, "asks": asks, "timestamp": order_book.timestamp}
|
|
887
|
+
|
|
888
|
+
body = {
|
|
889
|
+
"args": [ob_dict, side, amount]
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
creds = self._get_credentials_dict()
|
|
893
|
+
if creds:
|
|
894
|
+
body["credentials"] = creds
|
|
895
|
+
|
|
896
|
+
url = f"{self._api_client.configuration.host}/api/{self.exchange_name}/getExecutionPriceDetailed"
|
|
897
|
+
|
|
898
|
+
headers = {"Content-Type": "application/json", "Accept": "application/json"}
|
|
899
|
+
headers.update(self._api_client.default_headers)
|
|
900
|
+
|
|
901
|
+
response = self._api_client.call_api(
|
|
902
|
+
method="POST",
|
|
903
|
+
url=url,
|
|
904
|
+
body=body,
|
|
905
|
+
header_params=headers
|
|
906
|
+
)
|
|
907
|
+
|
|
908
|
+
response.read()
|
|
909
|
+
data_json = json.loads(response.data)
|
|
910
|
+
|
|
911
|
+
data = self._handle_response(data_json)
|
|
912
|
+
return _convert_execution_result(data)
|
|
913
|
+
except Exception as e:
|
|
914
|
+
raise Exception(f"Failed to get execution price: {e}")
|
|
915
|
+
|
|
834
916
|
|
|
835
917
|
class Polymarket(Exchange):
|
|
836
918
|
"""
|
pmxt/models.py
CHANGED
|
@@ -9,6 +9,14 @@ from datetime import datetime
|
|
|
9
9
|
from dataclasses import dataclass
|
|
10
10
|
|
|
11
11
|
|
|
12
|
+
# Parameter types
|
|
13
|
+
CandleInterval = Literal["1m", "5m", "15m", "1h", "6h", "1d"]
|
|
14
|
+
SortOption = Literal["volume", "liquidity", "newest"]
|
|
15
|
+
SearchIn = Literal["title", "description", "both"]
|
|
16
|
+
OrderSide = Literal["buy", "sell"]
|
|
17
|
+
OrderType = Literal["market", "limit"]
|
|
18
|
+
|
|
19
|
+
|
|
12
20
|
@dataclass
|
|
13
21
|
class MarketOutcome:
|
|
14
22
|
"""A single tradeable outcome within a market."""
|
|
@@ -146,6 +154,41 @@ class UnifiedEvent:
|
|
|
146
154
|
|
|
147
155
|
tags: Optional[List[str]] = None
|
|
148
156
|
"""Event tags"""
|
|
157
|
+
|
|
158
|
+
def search_markets(self, query: str, search_in: SearchIn = "both") -> List[UnifiedMarket]:
|
|
159
|
+
"""
|
|
160
|
+
Search for markets within this event by keyword.
|
|
161
|
+
|
|
162
|
+
Args:
|
|
163
|
+
query: Search query (case-insensitive)
|
|
164
|
+
search_in: Where to search - "title", "description", or "both"
|
|
165
|
+
|
|
166
|
+
Returns:
|
|
167
|
+
List of matching markets
|
|
168
|
+
|
|
169
|
+
Example:
|
|
170
|
+
>>> events = api.search_events('Fed Chair')
|
|
171
|
+
>>> event = events[0]
|
|
172
|
+
>>> warsh_markets = event.search_markets('Kevin Warsh')
|
|
173
|
+
"""
|
|
174
|
+
query_lower = query.lower()
|
|
175
|
+
results = []
|
|
176
|
+
|
|
177
|
+
for market in self.markets:
|
|
178
|
+
match = False
|
|
179
|
+
|
|
180
|
+
if search_in in ("title", "both"):
|
|
181
|
+
if query_lower in market.title.lower():
|
|
182
|
+
match = True
|
|
183
|
+
|
|
184
|
+
if search_in in ("description", "both") and market.description:
|
|
185
|
+
if query_lower in market.description.lower():
|
|
186
|
+
match = True
|
|
187
|
+
|
|
188
|
+
if match:
|
|
189
|
+
results.append(market)
|
|
190
|
+
|
|
191
|
+
return results
|
|
149
192
|
|
|
150
193
|
|
|
151
194
|
|
|
@@ -174,6 +217,20 @@ class OrderBook:
|
|
|
174
217
|
"""Unix timestamp (milliseconds)"""
|
|
175
218
|
|
|
176
219
|
|
|
220
|
+
@dataclass
|
|
221
|
+
class ExecutionPriceResult:
|
|
222
|
+
"""Result of an execution price calculation."""
|
|
223
|
+
|
|
224
|
+
price: float
|
|
225
|
+
"""The volume-weighted average price"""
|
|
226
|
+
|
|
227
|
+
filled_amount: float
|
|
228
|
+
"""The actual amount that can be filled"""
|
|
229
|
+
|
|
230
|
+
fully_filled: bool
|
|
231
|
+
"""Whether the full requested amount can be filled"""
|
|
232
|
+
|
|
233
|
+
|
|
177
234
|
@dataclass
|
|
178
235
|
class Trade:
|
|
179
236
|
"""A historical trade."""
|
|
@@ -281,12 +338,6 @@ class Balance:
|
|
|
281
338
|
"""Locked in open orders"""
|
|
282
339
|
|
|
283
340
|
|
|
284
|
-
# Parameter types
|
|
285
|
-
CandleInterval = Literal["1m", "5m", "15m", "1h", "6h", "1d"]
|
|
286
|
-
SortOption = Literal["volume", "liquidity", "newest"]
|
|
287
|
-
SearchIn = Literal["title", "description", "both"]
|
|
288
|
-
OrderSide = Literal["buy", "sell"]
|
|
289
|
-
OrderType = Literal["market", "limit"]
|
|
290
341
|
|
|
291
342
|
|
|
292
343
|
@dataclass
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pmxt
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Unified prediction market data API - The ccxt for prediction markets
|
|
5
5
|
Author: PMXT Contributors
|
|
6
6
|
License: MIT
|
|
@@ -160,6 +160,8 @@ for pos in positions:
|
|
|
160
160
|
- `fetch_ohlcv(outcome_id, params)` - Get historical price candles
|
|
161
161
|
- `fetch_order_book(outcome_id)` - Get current order book
|
|
162
162
|
- `fetch_trades(outcome_id, params)` - Get trade history
|
|
163
|
+
- `get_execution_price(order_book, side, amount)` - Get execution price
|
|
164
|
+
- `get_execution_price_detailed(order_book, side, amount)` - Get detailed execution info
|
|
163
165
|
|
|
164
166
|
### Trading Methods (require authentication)
|
|
165
167
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
pmxt/__init__.py,sha256=
|
|
2
|
-
pmxt/client.py,sha256=
|
|
3
|
-
pmxt/models.py,sha256
|
|
1
|
+
pmxt/__init__.py,sha256=MAOqnWgwuaG-IN2JEPoGdUrp2DHARbZAFjHd-SmyEvs,1150
|
|
2
|
+
pmxt/client.py,sha256=1qa8ObZtf-tdzhDXQXvWWdeLvGbyxsiVHAgQvl8Z4Uk,32955
|
|
3
|
+
pmxt/models.py,sha256=-jiQ9mmv_qnF6mzj3DrvNgEA77tE_Pl0RCblM1VbV7o,8581
|
|
4
4
|
pmxt/server_manager.py,sha256=-G97dYEdKl7F3HK9bAOKYl-SGWP6HsvzZIx2QxiZm24,11494
|
|
5
5
|
pmxt/_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
pmxt/_server/bin/pmxt-ensure-server,sha256=kXIond0UbxS52FAVQD7kHmSBaL_s6cbIyapLRr4KZJw,4544
|
|
7
|
-
pmxt/_server/server/bundled.js,sha256=
|
|
8
|
-
pmxt_internal/__init__.py,sha256=
|
|
9
|
-
pmxt_internal/api_client.py,sha256=
|
|
7
|
+
pmxt/_server/server/bundled.js,sha256=ETpsJ6ZmRtO1gQmBZYwwHWTHJIEI8ooeeMhOwoeDJ84,4198184
|
|
8
|
+
pmxt_internal/__init__.py,sha256=Kbxeq4WFfhIjcDkz72ZeXhWFpecUcOXCwUgqUzs6qsw,7578
|
|
9
|
+
pmxt_internal/api_client.py,sha256=2XZZdrKh90kAA4P3bJ54IdzRfAFMawSUqwnp2pRZNYA,27889
|
|
10
10
|
pmxt_internal/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
|
|
11
|
-
pmxt_internal/configuration.py,sha256=
|
|
11
|
+
pmxt_internal/configuration.py,sha256=evyyjQzPpYofXsIUdNKTMlMbpmq38l2ISokDuXJ0qJ0,18320
|
|
12
12
|
pmxt_internal/exceptions.py,sha256=txF8A7vlan57JS69kFPs-IZF-Qhp7IZobBTJVa4fOaM,6644
|
|
13
13
|
pmxt_internal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
pmxt_internal/rest.py,sha256=FMj4yaV6XLr842u_ScWHSzQsTFdk0jaUeuWLJoRbogQ,9760
|
|
15
15
|
pmxt_internal/api/__init__.py,sha256=ppJSCipQ5IAk2z6UZkFaGSsEmnoAnSSHb8sjb_DYUkY,101
|
|
16
|
-
pmxt_internal/api/default_api.py,sha256=
|
|
17
|
-
pmxt_internal/models/__init__.py,sha256=
|
|
16
|
+
pmxt_internal/api/default_api.py,sha256=6nMYcL__0wtDJAyDAHadN8zk1Sw-qE3nhcpvqUf3ymw,206490
|
|
17
|
+
pmxt_internal/models/__init__.py,sha256=nviUepbTwMI-ro_lY6JbUgsQ1MskT7AKN3mb5WKJR74,4141
|
|
18
18
|
pmxt_internal/models/balance.py,sha256=Dj5kFiLrsXOZyyXTC18bPjWrgw7qdWnTgTSCmk_l6xk,2962
|
|
19
19
|
pmxt_internal/models/base_request.py,sha256=ZNipF7ycXFkQJ6j3QmB1TzA0UO3fB54AMPlAgIA3KOA,2987
|
|
20
20
|
pmxt_internal/models/base_response.py,sha256=g-NG4Swxl3cg4-YOCPl65dUeHzOnA9S7ubTj8HOYZs0,2975
|
|
@@ -25,6 +25,7 @@ pmxt_internal/models/create_order_request.py,sha256=prj6TnIFbhB8eDq-6e-MK2DtfDzA
|
|
|
25
25
|
pmxt_internal/models/error_detail.py,sha256=590jlnQmIgqcjUQ5ef07_nWMn7fnyjuAvkUjmSoAkMs,2605
|
|
26
26
|
pmxt_internal/models/error_response.py,sha256=c5DgOpTGqx9Qoz7hYKhRPAM3UfoX4GBWkyhfxerMXEI,2979
|
|
27
27
|
pmxt_internal/models/exchange_credentials.py,sha256=BtZCkGnnGQ24KPolTRtoA_jtXp-5_1Y1FmQLe1L5WCo,3308
|
|
28
|
+
pmxt_internal/models/execution_price_result.py,sha256=gsYJWD4GXVC9-_YmtLleegxmS4p7Q9bLNaJNEz6Ljsk,3012
|
|
28
29
|
pmxt_internal/models/fetch_balance200_response.py,sha256=VN5yrsVSKnI_WprK1U4wbl60jGEiSnu4VAOGkSM5K4o,3539
|
|
29
30
|
pmxt_internal/models/fetch_markets200_response.py,sha256=olOMs8IBKPL2Foqw3r66jeGcRlJpOpGcGq0jNccUPuA,3564
|
|
30
31
|
pmxt_internal/models/fetch_markets_request.py,sha256=2kV2N3jVPy7qKMpVMt-QiTP_Ea0Unrkq2R-qBnB5xKk,3627
|
|
@@ -39,6 +40,10 @@ pmxt_internal/models/fetch_positions200_response.py,sha256=mzEq-rEYJaZHmjqjcaW9w
|
|
|
39
40
|
pmxt_internal/models/fetch_positions_request.py,sha256=F823DuKhltLMw04QrtSi1ZNVhkSISKz72evpWaEIaE8,3208
|
|
40
41
|
pmxt_internal/models/fetch_trades200_response.py,sha256=fdsEd4luXJpzk6MuM192PaZ62fOBA3He3VreZhCd4-w,3527
|
|
41
42
|
pmxt_internal/models/fetch_trades_request.py,sha256=GQZGh2dy-Y3n8DnR8x5b9bLH_nLmCmIJqjcTTNzcoSA,3690
|
|
43
|
+
pmxt_internal/models/get_execution_price200_response.py,sha256=uf5eCUHZK5ZVzgJ2UrXMvOJnNvVhNq5Zwb6_MAWa_O4,3172
|
|
44
|
+
pmxt_internal/models/get_execution_price_detailed200_response.py,sha256=PqBksuFhxToYvl-O4eM9WhSn0h5x0lwK4c7cttbAoL8,3463
|
|
45
|
+
pmxt_internal/models/get_execution_price_request.py,sha256=sVPuP6QKDeAMOueYlJT9MQTg9JnQzDHI-C4B4Db4Cvc,3756
|
|
46
|
+
pmxt_internal/models/get_execution_price_request_args_inner.py,sha256=CoiBFk1iGMIfWNGEDCLBGAyT4fFhjANttQftNOKaDIo,6225
|
|
42
47
|
pmxt_internal/models/get_markets_by_slug_request.py,sha256=PtjXAw6hixHuYzCvSGH1aka2rZrsHmT8ofXYSuuOh9k,3173
|
|
43
48
|
pmxt_internal/models/health_check200_response.py,sha256=yR_OkIlTPztO0zFmpyWllSwyaEbI48RpumfmVVCJAyc,2758
|
|
44
49
|
pmxt_internal/models/history_filter_params.py,sha256=0i9oQLwJsRWRyzPZuW467y_0ccKpc2_I6T2lgZCkHd4,3239
|
|
@@ -59,7 +64,7 @@ pmxt_internal/models/unified_market.py,sha256=DoYhiH4HycYGlq858PEeB-CIA7haT6rxmJ
|
|
|
59
64
|
pmxt_internal/models/watch_order_book_request.py,sha256=kavGUI-SLz2-Kam_jcJ_h0GDe0-9UkxqCmVsAi6Uios,3726
|
|
60
65
|
pmxt_internal/models/watch_order_book_request_args_inner.py,sha256=ZHrjmFDGxRG5MXbuz4mUp9KFfo3XS7zuXWTyMNgi4xI,5464
|
|
61
66
|
pmxt_internal/models/watch_trades_request.py,sha256=brrg8JbEe-aeg7mIe_Y2HzRPogp-IfRhkXChrxzqoLU,3722
|
|
62
|
-
pmxt-1.
|
|
63
|
-
pmxt-1.
|
|
64
|
-
pmxt-1.
|
|
65
|
-
pmxt-1.
|
|
67
|
+
pmxt-1.4.0.dist-info/METADATA,sha256=6fTb2tiWCkPoyKkYSs16e6yzhUdp-s-NaE7NPY6VFhc,6449
|
|
68
|
+
pmxt-1.4.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
69
|
+
pmxt-1.4.0.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
|
|
70
|
+
pmxt-1.4.0.dist-info/RECORD,,
|
pmxt_internal/__init__.py
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
""" # noqa: E501
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
__version__ = "1.
|
|
17
|
+
__version__ = "1.4.0"
|
|
18
18
|
|
|
19
19
|
# Define package exports
|
|
20
20
|
__all__ = [
|
|
@@ -38,6 +38,7 @@ __all__ = [
|
|
|
38
38
|
"ErrorDetail",
|
|
39
39
|
"ErrorResponse",
|
|
40
40
|
"ExchangeCredentials",
|
|
41
|
+
"ExecutionPriceResult",
|
|
41
42
|
"FetchBalance200Response",
|
|
42
43
|
"FetchMarkets200Response",
|
|
43
44
|
"FetchMarketsRequest",
|
|
@@ -52,6 +53,10 @@ __all__ = [
|
|
|
52
53
|
"FetchPositionsRequest",
|
|
53
54
|
"FetchTrades200Response",
|
|
54
55
|
"FetchTradesRequest",
|
|
56
|
+
"GetExecutionPrice200Response",
|
|
57
|
+
"GetExecutionPriceDetailed200Response",
|
|
58
|
+
"GetExecutionPriceRequest",
|
|
59
|
+
"GetExecutionPriceRequestArgsInner",
|
|
55
60
|
"GetMarketsBySlugRequest",
|
|
56
61
|
"HealthCheck200Response",
|
|
57
62
|
"HistoryFilterParams",
|
|
@@ -99,6 +104,7 @@ from pmxt_internal.models.create_order_request import CreateOrderRequest as Crea
|
|
|
99
104
|
from pmxt_internal.models.error_detail import ErrorDetail as ErrorDetail
|
|
100
105
|
from pmxt_internal.models.error_response import ErrorResponse as ErrorResponse
|
|
101
106
|
from pmxt_internal.models.exchange_credentials import ExchangeCredentials as ExchangeCredentials
|
|
107
|
+
from pmxt_internal.models.execution_price_result import ExecutionPriceResult as ExecutionPriceResult
|
|
102
108
|
from pmxt_internal.models.fetch_balance200_response import FetchBalance200Response as FetchBalance200Response
|
|
103
109
|
from pmxt_internal.models.fetch_markets200_response import FetchMarkets200Response as FetchMarkets200Response
|
|
104
110
|
from pmxt_internal.models.fetch_markets_request import FetchMarketsRequest as FetchMarketsRequest
|
|
@@ -113,6 +119,10 @@ from pmxt_internal.models.fetch_positions200_response import FetchPositions200Re
|
|
|
113
119
|
from pmxt_internal.models.fetch_positions_request import FetchPositionsRequest as FetchPositionsRequest
|
|
114
120
|
from pmxt_internal.models.fetch_trades200_response import FetchTrades200Response as FetchTrades200Response
|
|
115
121
|
from pmxt_internal.models.fetch_trades_request import FetchTradesRequest as FetchTradesRequest
|
|
122
|
+
from pmxt_internal.models.get_execution_price200_response import GetExecutionPrice200Response as GetExecutionPrice200Response
|
|
123
|
+
from pmxt_internal.models.get_execution_price_detailed200_response import GetExecutionPriceDetailed200Response as GetExecutionPriceDetailed200Response
|
|
124
|
+
from pmxt_internal.models.get_execution_price_request import GetExecutionPriceRequest as GetExecutionPriceRequest
|
|
125
|
+
from pmxt_internal.models.get_execution_price_request_args_inner import GetExecutionPriceRequestArgsInner as GetExecutionPriceRequestArgsInner
|
|
116
126
|
from pmxt_internal.models.get_markets_by_slug_request import GetMarketsBySlugRequest as GetMarketsBySlugRequest
|
|
117
127
|
from pmxt_internal.models.health_check200_response import HealthCheck200Response as HealthCheck200Response
|
|
118
128
|
from pmxt_internal.models.history_filter_params import HistoryFilterParams as HistoryFilterParams
|