pmxt 1.3.3__py3-none-any.whl → 1.3.4__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.3.3"
36
+ __version__ = "1.3.4"
37
37
  __all__ = [
38
38
  # Exchanges
39
39
  "Polymarket",
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
 
@@ -281,12 +324,6 @@ class Balance:
281
324
  """Locked in open orders"""
282
325
 
283
326
 
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
327
 
291
328
 
292
329
  @dataclass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 1.3.3
3
+ Version: 1.3.4
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -1,14 +1,14 @@
1
- pmxt/__init__.py,sha256=ogzJ1KSxQ_RaMykXQ1pkVuU82uoje95ScJ-2KpT7Hfo,1150
1
+ pmxt/__init__.py,sha256=QUyTYIHTeamwGXyGf7_d-7UM91n-trP78TgmiooWQjA,1150
2
2
  pmxt/client.py,sha256=YytS9Y1CD8A2NihUxedpmojH830eWE32v4-hbMsA4a8,30175
3
- pmxt/models.py,sha256=omj70VNXl1v-UQ9k_wR1lPZwBjq8llkuji-tpkB_dVc,7105
3
+ pmxt/models.py,sha256=6ku911tJoT1ItglYWHmg_OfvDmCPEvFXWDL562wCBIs,8259
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
7
  pmxt/_server/server/bundled.js,sha256=KxMsOJdiw5D2ynSJGFUCeojDlA-w7Eu6ldlgDoeApp4,4196247
8
- pmxt_internal/__init__.py,sha256=0YKMpHp2oGR0_lXCP32v7b4xar5v0QGcqCyxGpZ5VUg,6762
9
- pmxt_internal/api_client.py,sha256=ZEewhcYpBBgZ4DuuDfOvLHLLjROHxYGJO8ONnzFLXVY,27889
8
+ pmxt_internal/__init__.py,sha256=rTbculzYsP3ZAsVNJckX_iFXMNdLU3eETpPLcR-Y6Is,6762
9
+ pmxt_internal/api_client.py,sha256=7tnxPGfTzVx9xEneYQMVhZFCix6NMoR2NKHa1gkbeQk,27889
10
10
  pmxt_internal/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
11
- pmxt_internal/configuration.py,sha256=rdVJ9Q8-u6-Ulie2xxnIIwEnyCc2gGXTNrGD4PyxIWI,18320
11
+ pmxt_internal/configuration.py,sha256=sqCSSQUykt5E1s7EEI1gr-NYzCzKBtiei3cJXUVqnDs,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
@@ -59,7 +59,7 @@ pmxt_internal/models/unified_market.py,sha256=DoYhiH4HycYGlq858PEeB-CIA7haT6rxmJ
59
59
  pmxt_internal/models/watch_order_book_request.py,sha256=kavGUI-SLz2-Kam_jcJ_h0GDe0-9UkxqCmVsAi6Uios,3726
60
60
  pmxt_internal/models/watch_order_book_request_args_inner.py,sha256=ZHrjmFDGxRG5MXbuz4mUp9KFfo3XS7zuXWTyMNgi4xI,5464
61
61
  pmxt_internal/models/watch_trades_request.py,sha256=brrg8JbEe-aeg7mIe_Y2HzRPogp-IfRhkXChrxzqoLU,3722
62
- pmxt-1.3.3.dist-info/METADATA,sha256=xJgWJwFIr3m4XmPBEKYas14jxHJEWVoow74Zj7aTErs,6288
63
- pmxt-1.3.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
64
- pmxt-1.3.3.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
65
- pmxt-1.3.3.dist-info/RECORD,,
62
+ pmxt-1.3.4.dist-info/METADATA,sha256=Xp9QzK2hMi2HUFkBrflPTR88Do9Q_GLNd4QPLwHaNxE,6288
63
+ pmxt-1.3.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
64
+ pmxt-1.3.4.dist-info/top_level.txt,sha256=J_jrcouJ-x-5lpcXMxeW0GOSi1HsBVR5_PdSfvigVrw,19
65
+ pmxt-1.3.4.dist-info/RECORD,,
pmxt_internal/__init__.py CHANGED
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.3.3"
17
+ __version__ = "1.3.4"
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.3.3/python'
94
+ self.user_agent = 'OpenAPI-Generator/1.3.4/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.3.3".\
509
+ "SDK Package Version: 1.3.4".\
510
510
  format(env=sys.platform, pyversion=sys.version)
511
511
 
512
512
  def get_host_settings(self) -> List[HostSetting]:
File without changes