pmxt 1.1.4__tar.gz → 1.2.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.
Files changed (68) hide show
  1. {pmxt-1.1.4 → pmxt-1.2.0}/PKG-INFO +1 -1
  2. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/__init__.py +1 -1
  3. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/api_client.py +1 -1
  4. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/configuration.py +1 -1
  5. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/unified_market.py +22 -2
  6. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/__init__.py +1 -1
  7. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/client.py +16 -10
  8. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/models.py +12 -0
  9. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt.egg-info/PKG-INFO +1 -1
  10. {pmxt-1.1.4 → pmxt-1.2.0}/pyproject.toml +1 -1
  11. {pmxt-1.1.4 → pmxt-1.2.0}/README.md +0 -0
  12. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/api/__init__.py +0 -0
  13. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/api/default_api.py +0 -0
  14. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/api_response.py +0 -0
  15. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/exceptions.py +0 -0
  16. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/__init__.py +0 -0
  17. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/balance.py +0 -0
  18. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/base_request.py +0 -0
  19. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/base_response.py +0 -0
  20. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/cancel_order_request.py +0 -0
  21. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/create_order200_response.py +0 -0
  22. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/create_order_params.py +0 -0
  23. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/create_order_request.py +0 -0
  24. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/error_detail.py +0 -0
  25. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/error_response.py +0 -0
  26. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/exchange_credentials.py +0 -0
  27. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_balance200_response.py +0 -0
  28. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_markets200_response.py +0 -0
  29. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_markets_request.py +0 -0
  30. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_ohlcv200_response.py +0 -0
  31. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_ohlcv_request.py +0 -0
  32. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_ohlcv_request_args_inner.py +0 -0
  33. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_open_orders200_response.py +0 -0
  34. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_open_orders_request.py +0 -0
  35. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_order_book200_response.py +0 -0
  36. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_order_book_request.py +0 -0
  37. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_positions200_response.py +0 -0
  38. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_positions_request.py +0 -0
  39. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_trades200_response.py +0 -0
  40. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/fetch_trades_request.py +0 -0
  41. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/get_markets_by_slug_request.py +0 -0
  42. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/health_check200_response.py +0 -0
  43. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/history_filter_params.py +0 -0
  44. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/market_filter_params.py +0 -0
  45. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/market_outcome.py +0 -0
  46. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/order.py +0 -0
  47. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/order_book.py +0 -0
  48. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/order_level.py +0 -0
  49. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/position.py +0 -0
  50. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/price_candle.py +0 -0
  51. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/search_markets_request.py +0 -0
  52. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/search_markets_request_args_inner.py +0 -0
  53. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/trade.py +0 -0
  54. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/watch_order_book_request.py +0 -0
  55. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/watch_order_book_request_args_inner.py +0 -0
  56. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/models/watch_trades_request.py +0 -0
  57. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/py.typed +0 -0
  58. {pmxt-1.1.4 → pmxt-1.2.0}/generated/pmxt_internal/rest.py +0 -0
  59. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/_server/__init__.py +0 -0
  60. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/_server/bin/pmxt-ensure-server +0 -0
  61. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/_server/server/bundled.js +0 -0
  62. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt/server_manager.py +0 -0
  63. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt.egg-info/SOURCES.txt +0 -0
  64. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt.egg-info/dependency_links.txt +0 -0
  65. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt.egg-info/requires.txt +0 -0
  66. {pmxt-1.1.4 → pmxt-1.2.0}/pmxt.egg-info/top_level.txt +0 -0
  67. {pmxt-1.1.4 → pmxt-1.2.0}/setup.cfg +0 -0
  68. {pmxt-1.1.4 → pmxt-1.2.0}/tests/test_integration.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 1.1.4
3
+ Version: 1.2.0
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.1.4"
17
+ __version__ = "1.2.0"
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.1.4/python'
94
+ self.user_agent = 'OpenAPI-Generator/1.2.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.1.4".\
509
+ "SDK Package Version: 1.2.0".\
510
510
  format(env=sys.platform, pyversion=sys.version)
511
511
 
512
512
  def get_host_settings(self) -> List[HostSetting]:
@@ -41,7 +41,11 @@ class UnifiedMarket(BaseModel):
41
41
  image: Optional[StrictStr] = None
42
42
  category: Optional[StrictStr] = None
43
43
  tags: Optional[List[StrictStr]] = None
44
- __properties: ClassVar[List[str]] = ["id", "title", "description", "outcomes", "resolutionDate", "volume24h", "volume", "liquidity", "openInterest", "url", "image", "category", "tags"]
44
+ yes: Optional[MarketOutcome] = None
45
+ no: Optional[MarketOutcome] = None
46
+ up: Optional[MarketOutcome] = None
47
+ down: Optional[MarketOutcome] = None
48
+ __properties: ClassVar[List[str]] = ["id", "title", "description", "outcomes", "resolutionDate", "volume24h", "volume", "liquidity", "openInterest", "url", "image", "category", "tags", "yes", "no", "up", "down"]
45
49
 
46
50
  model_config = ConfigDict(
47
51
  populate_by_name=True,
@@ -89,6 +93,18 @@ class UnifiedMarket(BaseModel):
89
93
  if _item_outcomes:
90
94
  _items.append(_item_outcomes.to_dict())
91
95
  _dict['outcomes'] = _items
96
+ # override the default output from pydantic by calling `to_dict()` of yes
97
+ if self.yes:
98
+ _dict['yes'] = self.yes.to_dict()
99
+ # override the default output from pydantic by calling `to_dict()` of no
100
+ if self.no:
101
+ _dict['no'] = self.no.to_dict()
102
+ # override the default output from pydantic by calling `to_dict()` of up
103
+ if self.up:
104
+ _dict['up'] = self.up.to_dict()
105
+ # override the default output from pydantic by calling `to_dict()` of down
106
+ if self.down:
107
+ _dict['down'] = self.down.to_dict()
92
108
  return _dict
93
109
 
94
110
  @classmethod
@@ -113,7 +129,11 @@ class UnifiedMarket(BaseModel):
113
129
  "url": obj.get("url"),
114
130
  "image": obj.get("image"),
115
131
  "category": obj.get("category"),
116
- "tags": obj.get("tags")
132
+ "tags": obj.get("tags"),
133
+ "yes": MarketOutcome.from_dict(obj["yes"]) if obj.get("yes") is not None else None,
134
+ "no": MarketOutcome.from_dict(obj["no"]) if obj.get("no") is not None else None,
135
+ "up": MarketOutcome.from_dict(obj["up"]) if obj.get("up") is not None else None,
136
+ "down": MarketOutcome.from_dict(obj["down"]) if obj.get("down") is not None else None
117
137
  })
118
138
  return _obj
119
139
 
@@ -33,7 +33,7 @@ from .models import (
33
33
  CreateOrderParams,
34
34
  )
35
35
 
36
- __version__ = "1.1.4"
36
+ __version__ = "1.2.0"
37
37
  __all__ = [
38
38
  # Exchanges
39
39
  "Polymarket",
@@ -38,18 +38,20 @@ from .models import (
38
38
  from .server_manager import ServerManager
39
39
 
40
40
 
41
+ def _convert_outcome(raw: Dict[str, Any]) -> MarketOutcome:
42
+ """Convert raw API response to MarketOutcome."""
43
+ return MarketOutcome(
44
+ id=raw.get("id"),
45
+ label=raw.get("label"),
46
+ price=raw.get("price"),
47
+ price_change_24h=raw.get("priceChange24h"),
48
+ metadata=raw.get("metadata"),
49
+ )
50
+
51
+
41
52
  def _convert_market(raw: Dict[str, Any]) -> UnifiedMarket:
42
53
  """Convert raw API response to UnifiedMarket."""
43
- outcomes = [
44
- MarketOutcome(
45
- id=o.get("id"),
46
- label=o.get("label"),
47
- price=o.get("price"),
48
- price_change_24h=o.get("priceChange24h"),
49
- metadata=o.get("metadata"),
50
- )
51
- for o in raw.get("outcomes", [])
52
- ]
54
+ outcomes = [_convert_outcome(o) for o in raw.get("outcomes", [])]
53
55
 
54
56
  return UnifiedMarket(
55
57
  id=raw.get("id"),
@@ -65,6 +67,10 @@ def _convert_market(raw: Dict[str, Any]) -> UnifiedMarket:
65
67
  image=raw.get("image"),
66
68
  category=raw.get("category"),
67
69
  tags=raw.get("tags"),
70
+ yes=_convert_outcome(raw["yes"]) if raw.get("yes") else None,
71
+ no=_convert_outcome(raw["no"]) if raw.get("no") else None,
72
+ up=_convert_outcome(raw["up"]) if raw.get("up") else None,
73
+ down=_convert_outcome(raw["down"]) if raw.get("down") else None,
68
74
  )
69
75
 
70
76
 
@@ -75,6 +75,18 @@ class UnifiedMarket:
75
75
  tags: Optional[List[str]] = None
76
76
  """Market tags"""
77
77
 
78
+ yes: Optional[MarketOutcome] = None
79
+ """Convenience access to the Yes outcome for binary markets."""
80
+
81
+ no: Optional[MarketOutcome] = None
82
+ """Convenience access to the No outcome for binary markets."""
83
+
84
+ up: Optional[MarketOutcome] = None
85
+ """Convenience access to the Up outcome for binary markets."""
86
+
87
+ down: Optional[MarketOutcome] = None
88
+ """Convenience access to the Down outcome for binary markets."""
89
+
78
90
 
79
91
  @dataclass
80
92
  class PriceCandle:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 1.1.4
3
+ Version: 1.2.0
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pmxt"
7
- version = "1.1.4"
7
+ version = "1.2.0"
8
8
  description = "Unified prediction market data API - The ccxt for prediction markets"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes