python-xbox 0.2.2__tar.gz → 0.3.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 (64) hide show
  1. {python_xbox-0.2.2 → python_xbox-0.3.0}/PKG-INFO +1 -1
  2. {python_xbox-0.2.2 → python_xbox-0.3.0}/pyproject.toml +3 -3
  3. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/__init__.py +1 -1
  4. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/titlehub/__init__.py +34 -4
  5. {python_xbox-0.2.2 → python_xbox-0.3.0}/.gitignore +0 -0
  6. {python_xbox-0.2.2 → python_xbox-0.3.0}/LICENSE +0 -0
  7. {python_xbox-0.2.2 → python_xbox-0.3.0}/README.md +0 -0
  8. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/__init__.py +0 -0
  9. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/client.py +0 -0
  10. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/language.py +0 -0
  11. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/__init__.py +0 -0
  12. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/account/__init__.py +0 -0
  13. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/account/models.py +0 -0
  14. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/achievements/__init__.py +0 -0
  15. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/achievements/models.py +0 -0
  16. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/baseprovider.py +0 -0
  17. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/catalog/__init__.py +0 -0
  18. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/catalog/const.py +0 -0
  19. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/catalog/models.py +0 -0
  20. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/cqs/__init__.py +0 -0
  21. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/cqs/models.py +0 -0
  22. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/gameclips/__init__.py +0 -0
  23. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/gameclips/models.py +0 -0
  24. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/lists/__init__.py +0 -0
  25. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/lists/models.py +0 -0
  26. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/mediahub/__init__.py +0 -0
  27. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/mediahub/models.py +0 -0
  28. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/message/__init__.py +0 -0
  29. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/message/models.py +0 -0
  30. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/people/__init__.py +0 -0
  31. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/people/models.py +0 -0
  32. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/presence/__init__.py +0 -0
  33. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/presence/models.py +0 -0
  34. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/profile/__init__.py +0 -0
  35. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/profile/models.py +0 -0
  36. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/ratelimitedprovider.py +0 -0
  37. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/screenshots/__init__.py +0 -0
  38. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/screenshots/models.py +0 -0
  39. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/smartglass/__init__.py +0 -0
  40. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/smartglass/models.py +0 -0
  41. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/titlehub/models.py +0 -0
  42. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/usersearch/__init__.py +0 -0
  43. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/usersearch/models.py +0 -0
  44. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/userstats/__init__.py +0 -0
  45. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/api/provider/userstats/models.py +0 -0
  46. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/authentication/__init__.py +0 -0
  47. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/authentication/manager.py +0 -0
  48. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/authentication/models.py +0 -0
  49. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/authentication/xal.py +0 -0
  50. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/__init__.py +0 -0
  51. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/exceptions.py +0 -0
  52. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/filetimes.py +0 -0
  53. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/models.py +0 -0
  54. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/ratelimits/__init__.py +0 -0
  55. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/ratelimits/models.py +0 -0
  56. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/request_signer.py +0 -0
  57. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/common/signed_session.py +0 -0
  58. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/py.typed +0 -0
  59. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/__init__.py +0 -0
  60. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/authenticate.py +0 -0
  61. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/change_gamertag.py +0 -0
  62. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/friends.py +0 -0
  63. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/search.py +0 -0
  64. {python_xbox-0.2.2 → python_xbox-0.3.0}/src/pythonxbox/scripts/xal.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: python-xbox
3
- Version: 0.2.2
3
+ Version: 0.3.0
4
4
  Summary: A library to authenticate with Xbox Network and use their API
5
5
  Project-URL: Source, https://github.com/tr4nt0r/python-xbox
6
6
  Author-email: Manfred Dennerlein Rodelo <tr4nt0r@uber.space>
@@ -83,7 +83,7 @@ packages = ["src/pythonxbox"]
83
83
  [tool.hatch.envs.default]
84
84
  python = "3.13"
85
85
  dependencies = [
86
- "platformdirs==4.11.8",
86
+ "platformdirs==4.11.10",
87
87
  "cryptography==50.0.1",
88
88
  "httpx==0.28.1",
89
89
  "ms_cv==0.1.1",
@@ -115,11 +115,11 @@ python = ["3.15", "3.14", "3.13", "3.12", "3.11"]
115
115
 
116
116
  [tool.hatch.envs.hatch-check-code]
117
117
  config-path = "none"
118
- dependencies = ["ruff==0.16.7"]
118
+ dependencies = ["ruff==0.16.8"]
119
119
 
120
120
  [tool.hatch.envs.hatch-check-fmt]
121
121
  config-path = "none"
122
- dependencies = ["ruff==0.16.7"]
122
+ dependencies = ["ruff==0.16.8"]
123
123
 
124
124
  [tool.hatch.envs.docs]
125
125
  dependencies = [
@@ -1,4 +1,4 @@
1
1
  """Top-level package for python-xbox."""
2
2
 
3
3
  __author__ = """tr4nt0r"""
4
- __version__ = "0.2.2"
4
+ __version__ = "0.3.0"
@@ -66,7 +66,11 @@ class TitlehubProvider(BaseProvider):
66
66
  return TitleHubResponse.model_validate_json(resp.text)
67
67
 
68
68
  async def _get_title_info(
69
- self, moniker: str, fields: list[TitleFields] | None = None, **kwargs
69
+ self,
70
+ xuid: str,
71
+ moniker: str,
72
+ fields: list[TitleFields] | None = None,
73
+ **kwargs,
70
74
  ) -> TitleHubResponse:
71
75
  if not fields:
72
76
  fields = [
@@ -78,7 +82,7 @@ class TitlehubProvider(BaseProvider):
78
82
  ]
79
83
  fields = self.SEPARATOR.join(fields)
80
84
 
81
- url = f"{self.TITLEHUB_URL}/users/xuid({self.client.xuid})/titles/{moniker}/decoration/{fields}"
85
+ url = f"{self.TITLEHUB_URL}/users/xuid({xuid})/titles/{moniker}/decoration/{fields}"
82
86
  resp = await self.client.session.get(url, headers=self._headers, **kwargs)
83
87
  resp.raise_for_status()
84
88
  return TitleHubResponse.model_validate_json(resp.text)
@@ -96,7 +100,31 @@ class TitlehubProvider(BaseProvider):
96
100
  Returns:
97
101
  :class:`TitleHubResponse`: Title Hub Response
98
102
  """
99
- return await self._get_title_info(f"titleid({title_id})", fields, **kwargs)
103
+ return await self._get_title_info(
104
+ self.client.xuid, f"titleid({title_id})", fields, **kwargs
105
+ )
106
+
107
+ async def get_title_info_by_xuid(
108
+ self,
109
+ xuid: str,
110
+ title_id: str,
111
+ fields: list[TitleFields] | None = None,
112
+ **kwargs,
113
+ ) -> TitleHubResponse:
114
+ """
115
+ Get info for specific title by XUID
116
+
117
+ Args:
118
+ xuid: XUID of user to get title info for
119
+ title_id: Title Id
120
+ fields: List of title fields
121
+
122
+ Returns:
123
+ :class:`TitleHubResponse`: Title Hub Response
124
+ """
125
+ return await self._get_title_info(
126
+ xuid, f"titleid({title_id})", fields, **kwargs
127
+ )
100
128
 
101
129
  async def get_title_info_by_pfn(
102
130
  self, pfn: str, fields: list[TitleFields] | None = None, **kwargs
@@ -111,7 +139,9 @@ class TitlehubProvider(BaseProvider):
111
139
  Returns:
112
140
  :class:`TitleHubResponse`: Title Hub Response
113
141
  """
114
- return await self._get_title_info(f"pfn({pfn})", fields, **kwargs)
142
+ return await self._get_title_info(
143
+ self.client.xuid, f"pfn({pfn})", fields, **kwargs
144
+ )
115
145
 
116
146
  async def get_titles_batch(
117
147
  self, pfns: list[str], fields: list[TitleFields] | None = None, **kwargs
File without changes
File without changes
File without changes