pmxt 1.0.0b7__py3-none-any.whl → 1.0.0b8__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 CHANGED
@@ -33,7 +33,7 @@ from .models import (
33
33
  CreateOrderParams,
34
34
  )
35
35
 
36
- __version__ = "1.0.0b7"
36
+ __version__ = "1.0.0b8"
37
37
  __all__ = [
38
38
  # Exchanges
39
39
  "Polymarket",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 1.0.0b7
3
+ Version: 1.0.0b8
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -1,11 +1,11 @@
1
- pmxt/__init__.py,sha256=ypbv170_UGHCBJoseVZe22jkG0FBLCDXhTAcEkspwpE,1152
1
+ pmxt/__init__.py,sha256=OFY_tY7sgx5rb_8ACE1FwwhUj4D_OZ9oSP9WqXl0E6A,1152
2
2
  pmxt/client.py,sha256=0UltGwG5_p96izSO7rhPnKM0rvIETW7jxrGc7vHsDRE,23163
3
3
  pmxt/models.py,sha256=Mu0hLVjQU3PM5m68poK61VQcJtPQ8ZdLdLU7pq1lqjQ,6004
4
4
  pmxt/server_manager.py,sha256=_RZ6bfTzmD4cnpsDcjgvoSEW_Ep6oCMHT6bGVpQNHdc,7812
5
- pmxt_internal/__init__.py,sha256=OJsMV0UpQNrCrD_YoqnU5dCCG7s0dPVIMM6h11NNkZk,5975
6
- pmxt_internal/api_client.py,sha256=jsHSueOMydXzq1ENfIaunZ07jqei_6b8_OfsvzCwFzc,27891
5
+ pmxt_internal/__init__.py,sha256=WQR66uoD_tXPjDC3Q7RGyMQVMFDHYPtKfdx222PAQls,5975
6
+ pmxt_internal/api_client.py,sha256=TJIUV57y1RG6TdqYkasARFhWD20T4NQmAecIo7DZEmo,27891
7
7
  pmxt_internal/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
8
- pmxt_internal/configuration.py,sha256=IjUJKoItilYuQx1OX0K9deCyunn1LXgO4AoWHSc1VFo,18322
8
+ pmxt_internal/configuration.py,sha256=cfWV4epKcu6A-ErXl9b9hxn6ohkuIKN0FgoN24DL6lE,18322
9
9
  pmxt_internal/exceptions.py,sha256=txF8A7vlan57JS69kFPs-IZF-Qhp7IZobBTJVa4fOaM,6644
10
10
  pmxt_internal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  pmxt_internal/rest.py,sha256=FMj4yaV6XLr842u_ScWHSzQsTFdk0jaUeuWLJoRbogQ,9760
@@ -40,17 +40,17 @@ pmxt_internal/models/get_markets_by_slug_request.py,sha256=PtjXAw6hixHuYzCvSGH1a
40
40
  pmxt_internal/models/health_check200_response.py,sha256=yR_OkIlTPztO0zFmpyWllSwyaEbI48RpumfmVVCJAyc,2758
41
41
  pmxt_internal/models/history_filter_params.py,sha256=0i9oQLwJsRWRyzPZuW467y_0ccKpc2_I6T2lgZCkHd4,3239
42
42
  pmxt_internal/models/market_filter_params.py,sha256=Jun3HbQP05HEXlht1bYCrqrlgbO0QjP6vCOKCHkZn-E,3638
43
- pmxt_internal/models/market_outcome.py,sha256=FNQOOCYYN4DgRtBVtBilwZ-X_B3ICgWghhni7_M_xy0,2816
44
- pmxt_internal/models/order.py,sha256=uXJ42cEDjrbGC_9Mbr3iRtjFZ5mNdXHLJx00PQvrOnY,4291
45
- pmxt_internal/models/order_book.py,sha256=ztncjWjVR9EZE1Ta7LgTcRN_1ygR4ghtSTJigTzqKW4,3502
43
+ pmxt_internal/models/market_outcome.py,sha256=STS17FU7VmS7bgOfUejJqfqNs_An3NJVqPQByBKkdgI,3200
44
+ pmxt_internal/models/order.py,sha256=WniZ6JgnnhPBPyZje1wzgmsz4OjyOCIl5a-ksQFmUNM,4768
45
+ pmxt_internal/models/order_book.py,sha256=FZQ5g81szBtpCun3vFFTDZb_xZkwUMVyEIF1ZZPzqhI,3615
46
46
  pmxt_internal/models/order_level.py,sha256=dMeuXlhBqe1kA-R1ysFjt77qJxx6ukrZHwO1y3hZ6EM,2735
47
47
  pmxt_internal/models/position.py,sha256=a2v8JudGks66xtSU_BILwnEhxqfTu1o01g-ShWHpkeA,3740
48
48
  pmxt_internal/models/price_candle.py,sha256=AebmNrnVl_JI0Vqy_IRoRh08qX9ZUdzzazKmnVTuyio,3151
49
49
  pmxt_internal/models/search_markets_request.py,sha256=BARoy2GXgV7RQNIGck6UaOyQqf0NIJkyGGbFf2cfZKc,3714
50
50
  pmxt_internal/models/search_markets_request_args_inner.py,sha256=PkusFd_OxhUsItsBpluPJA11zg0sXXjbOK-lPmemvLs,5561
51
51
  pmxt_internal/models/trade.py,sha256=U6Fc18rbwILs9FmX8CSDYYL8dF6763l8QzeMQNRxQdo,3328
52
- pmxt_internal/models/unified_market.py,sha256=VJNgzAmW4XNnjdpoi6F6xD_kl8jHUSNlW0Vz-Faf9vA,3625
53
- pmxt-1.0.0b7.dist-info/METADATA,sha256=iQAwx8oeKPtO9ERI2LsYAVtHwzTnrm6YkiKr0l-N0pY,6302
54
- pmxt-1.0.0b7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
55
- pmxt-1.0.0b7.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
56
- pmxt-1.0.0b7.dist-info/RECORD,,
52
+ pmxt_internal/models/unified_market.py,sha256=mNyUrGKWxvI2f2KCa2uhGwq22cBdDia2hD5AtzFw8fE,4487
53
+ pmxt-1.0.0b8.dist-info/METADATA,sha256=c05cvqFjhOByMlWaT-HXti3FZLRjd0UYFfPv_1wpiB8,6302
54
+ pmxt-1.0.0b8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
55
+ pmxt-1.0.0b8.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
56
+ pmxt-1.0.0b8.dist-info/RECORD,,
pmxt_internal/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.0.0b7"
17
+ __version__ = "1.0.0b8"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -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.0b7/python'
94
+ self.user_agent = 'OpenAPI-Generator/1.0.0b8/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.0b7".\
509
+ "SDK Package Version: 1.0.0b8".\
510
510
  format(env=sys.platform, pyversion=sys.version)
511
511
 
512
512
  def get_host_settings(self) -> List[HostSetting]:
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
22
  from typing import Optional, Set
23
23
  from typing_extensions import Self
@@ -29,7 +29,9 @@ class MarketOutcome(BaseModel):
29
29
  id: Optional[StrictStr] = None
30
30
  label: Optional[StrictStr] = None
31
31
  price: Optional[Union[StrictFloat, StrictInt]] = None
32
- __properties: ClassVar[List[str]] = ["id", "label", "price"]
32
+ price_change24h: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="priceChange24h")
33
+ metadata: Optional[Dict[str, Any]] = Field(default=None, description="Exchange-specific metadata (e.g., clobTokenId for Polymarket)")
34
+ __properties: ClassVar[List[str]] = ["id", "label", "price", "priceChange24h", "metadata"]
33
35
 
34
36
  model_config = ConfigDict(
35
37
  populate_by_name=True,
@@ -84,7 +86,9 @@ class MarketOutcome(BaseModel):
84
86
  _obj = cls.model_validate({
85
87
  "id": obj.get("id"),
86
88
  "label": obj.get("label"),
87
- "price": obj.get("price")
89
+ "price": obj.get("price"),
90
+ "priceChange24h": obj.get("priceChange24h"),
91
+ "metadata": obj.get("metadata")
88
92
  })
89
93
  return _obj
90
94
 
@@ -37,7 +37,8 @@ class Order(BaseModel):
37
37
  filled: Optional[Union[StrictFloat, StrictInt]] = None
38
38
  remaining: Optional[Union[StrictFloat, StrictInt]] = None
39
39
  timestamp: Optional[StrictInt] = None
40
- __properties: ClassVar[List[str]] = ["id", "marketId", "outcomeId", "side", "type", "price", "amount", "status", "filled", "remaining", "timestamp"]
40
+ fee: Optional[Union[StrictFloat, StrictInt]] = None
41
+ __properties: ClassVar[List[str]] = ["id", "marketId", "outcomeId", "side", "type", "price", "amount", "status", "filled", "remaining", "timestamp", "fee"]
41
42
 
42
43
  @field_validator('side')
43
44
  def side_validate_enum(cls, value):
@@ -59,6 +60,16 @@ class Order(BaseModel):
59
60
  raise ValueError("must be one of enum values ('limit', 'market')")
60
61
  return value
61
62
 
63
+ @field_validator('status')
64
+ def status_validate_enum(cls, value):
65
+ """Validates the enum"""
66
+ if value is None:
67
+ return value
68
+
69
+ if value not in set(['pending', 'open', 'filled', 'cancelled', 'rejected']):
70
+ raise ValueError("must be one of enum values ('pending', 'open', 'filled', 'cancelled', 'rejected')")
71
+ return value
72
+
62
73
  model_config = ConfigDict(
63
74
  populate_by_name=True,
64
75
  validate_assignment=True,
@@ -120,7 +131,8 @@ class Order(BaseModel):
120
131
  "status": obj.get("status"),
121
132
  "filled": obj.get("filled"),
122
133
  "remaining": obj.get("remaining"),
123
- "timestamp": obj.get("timestamp")
134
+ "timestamp": obj.get("timestamp"),
135
+ "fee": obj.get("fee")
124
136
  })
125
137
  return _obj
126
138
 
@@ -17,7 +17,7 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict
20
+ from pydantic import BaseModel, ConfigDict, StrictInt
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from pmxt_internal.models.order_level import OrderLevel
23
23
  from typing import Optional, Set
@@ -29,7 +29,8 @@ class OrderBook(BaseModel):
29
29
  """ # noqa: E501
30
30
  bids: Optional[List[OrderLevel]] = None
31
31
  asks: Optional[List[OrderLevel]] = None
32
- __properties: ClassVar[List[str]] = ["bids", "asks"]
32
+ timestamp: Optional[StrictInt] = None
33
+ __properties: ClassVar[List[str]] = ["bids", "asks", "timestamp"]
33
34
 
34
35
  model_config = ConfigDict(
35
36
  populate_by_name=True,
@@ -97,7 +98,8 @@ class OrderBook(BaseModel):
97
98
 
98
99
  _obj = cls.model_validate({
99
100
  "bids": [OrderLevel.from_dict(_item) for _item in obj["bids"]] if obj.get("bids") is not None else None,
100
- "asks": [OrderLevel.from_dict(_item) for _item in obj["asks"]] if obj.get("asks") is not None else None
101
+ "asks": [OrderLevel.from_dict(_item) for _item in obj["asks"]] if obj.get("asks") is not None else None,
102
+ "timestamp": obj.get("timestamp")
101
103
  })
102
104
  return _obj
103
105
 
@@ -17,7 +17,8 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
20
+ from datetime import datetime
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
21
22
  from typing import Any, ClassVar, Dict, List, Optional, Union
22
23
  from pmxt_internal.models.market_outcome import MarketOutcome
23
24
  from typing import Optional, Set
@@ -29,11 +30,18 @@ class UnifiedMarket(BaseModel):
29
30
  """ # noqa: E501
30
31
  id: Optional[StrictStr] = None
31
32
  title: Optional[StrictStr] = None
33
+ description: Optional[StrictStr] = None
32
34
  outcomes: Optional[List[MarketOutcome]] = None
35
+ resolution_date: Optional[datetime] = Field(default=None, alias="resolutionDate")
33
36
  volume24h: Optional[Union[StrictFloat, StrictInt]] = None
37
+ volume: Optional[Union[StrictFloat, StrictInt]] = None
34
38
  liquidity: Optional[Union[StrictFloat, StrictInt]] = None
39
+ open_interest: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="openInterest")
35
40
  url: Optional[StrictStr] = None
36
- __properties: ClassVar[List[str]] = ["id", "title", "outcomes", "volume24h", "liquidity", "url"]
41
+ image: Optional[StrictStr] = None
42
+ category: Optional[StrictStr] = None
43
+ tags: Optional[List[StrictStr]] = None
44
+ __properties: ClassVar[List[str]] = ["id", "title", "description", "outcomes", "resolutionDate", "volume24h", "volume", "liquidity", "openInterest", "url", "image", "category", "tags"]
37
45
 
38
46
  model_config = ConfigDict(
39
47
  populate_by_name=True,
@@ -95,10 +103,17 @@ class UnifiedMarket(BaseModel):
95
103
  _obj = cls.model_validate({
96
104
  "id": obj.get("id"),
97
105
  "title": obj.get("title"),
106
+ "description": obj.get("description"),
98
107
  "outcomes": [MarketOutcome.from_dict(_item) for _item in obj["outcomes"]] if obj.get("outcomes") is not None else None,
108
+ "resolutionDate": obj.get("resolutionDate"),
99
109
  "volume24h": obj.get("volume24h"),
110
+ "volume": obj.get("volume"),
100
111
  "liquidity": obj.get("liquidity"),
101
- "url": obj.get("url")
112
+ "openInterest": obj.get("openInterest"),
113
+ "url": obj.get("url"),
114
+ "image": obj.get("image"),
115
+ "category": obj.get("category"),
116
+ "tags": obj.get("tags")
102
117
  })
103
118
  return _obj
104
119
 
File without changes