python-xbox 0.2.1__tar.gz → 0.2.2__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.1 → python_xbox-0.2.2}/PKG-INFO +3 -3
  2. {python_xbox-0.2.1 → python_xbox-0.2.2}/README.md +1 -1
  3. {python_xbox-0.2.1 → python_xbox-0.2.2}/pyproject.toml +13 -11
  4. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/__init__.py +1 -1
  5. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/people/__init__.py +6 -1
  6. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/smartglass/models.py +1 -1
  7. {python_xbox-0.2.1 → python_xbox-0.2.2}/.gitignore +0 -0
  8. {python_xbox-0.2.1 → python_xbox-0.2.2}/LICENSE +0 -0
  9. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/__init__.py +0 -0
  10. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/client.py +0 -0
  11. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/language.py +0 -0
  12. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/__init__.py +0 -0
  13. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/account/__init__.py +0 -0
  14. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/account/models.py +0 -0
  15. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/achievements/__init__.py +0 -0
  16. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/achievements/models.py +0 -0
  17. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/baseprovider.py +0 -0
  18. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/catalog/__init__.py +0 -0
  19. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/catalog/const.py +0 -0
  20. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/catalog/models.py +0 -0
  21. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/cqs/__init__.py +0 -0
  22. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/cqs/models.py +0 -0
  23. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/gameclips/__init__.py +0 -0
  24. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/gameclips/models.py +0 -0
  25. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/lists/__init__.py +0 -0
  26. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/lists/models.py +0 -0
  27. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/mediahub/__init__.py +0 -0
  28. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/mediahub/models.py +0 -0
  29. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/message/__init__.py +0 -0
  30. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/message/models.py +0 -0
  31. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/people/models.py +0 -0
  32. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/presence/__init__.py +0 -0
  33. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/presence/models.py +0 -0
  34. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/profile/__init__.py +0 -0
  35. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/profile/models.py +0 -0
  36. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/ratelimitedprovider.py +0 -0
  37. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/screenshots/__init__.py +0 -0
  38. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/screenshots/models.py +0 -0
  39. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/smartglass/__init__.py +0 -0
  40. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/titlehub/__init__.py +0 -0
  41. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/titlehub/models.py +0 -0
  42. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/usersearch/__init__.py +0 -0
  43. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/usersearch/models.py +0 -0
  44. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/userstats/__init__.py +0 -0
  45. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/api/provider/userstats/models.py +0 -0
  46. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/authentication/__init__.py +0 -0
  47. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/authentication/manager.py +0 -0
  48. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/authentication/models.py +0 -0
  49. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/authentication/xal.py +0 -0
  50. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/__init__.py +0 -0
  51. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/exceptions.py +0 -0
  52. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/filetimes.py +0 -0
  53. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/models.py +0 -0
  54. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/ratelimits/__init__.py +0 -0
  55. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/ratelimits/models.py +0 -0
  56. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/request_signer.py +0 -0
  57. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/common/signed_session.py +0 -0
  58. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/py.typed +0 -0
  59. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/__init__.py +0 -0
  60. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/authenticate.py +0 -0
  61. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/change_gamertag.py +0 -0
  62. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/friends.py +0 -0
  63. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/search.py +0 -0
  64. {python_xbox-0.2.1 → python_xbox-0.2.2}/src/pythonxbox/scripts/xal.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: python-xbox
3
- Version: 0.2.1
3
+ Version: 0.2.2
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
- Author-email: Manfred Dennerlein Rodelo <manfred@dennerlein.name>
6
+ Author-email: Manfred Dennerlein Rodelo <tr4nt0r@uber.space>
7
7
  License-Expression: MIT
8
8
  License-File: LICENSE
9
9
  Keywords: xbox one live api
@@ -153,7 +153,7 @@ async def async_main():
153
153
  print(
154
154
  f"""
155
155
  Could not refresh tokens from {tokens_file}, err={e}\n
156
- You might have to delete the tokens file and re-authenticate
156
+ You might have to delete the tokens file and re-authenticate
157
157
  if refresh token is expired
158
158
  """
159
159
  )
@@ -125,7 +125,7 @@ async def async_main():
125
125
  print(
126
126
  f"""
127
127
  Could not refresh tokens from {tokens_file}, err={e}\n
128
- You might have to delete the tokens file and re-authenticate
128
+ You might have to delete the tokens file and re-authenticate
129
129
  if refresh token is expired
130
130
  """
131
131
  )
@@ -2,7 +2,7 @@
2
2
  name = "python-xbox"
3
3
  description = "A library to authenticate with Xbox Network and use their API"
4
4
  authors = [
5
- {name = "Manfred Dennerlein Rodelo", email = "manfred@dennerlein.name"},
5
+ {name = "Manfred Dennerlein Rodelo", email = "tr4nt0r@uber.space"},
6
6
  ]
7
7
  dependencies = [
8
8
  "cryptography>=42.0",
@@ -50,7 +50,7 @@ target-version = "py311"
50
50
  [tool.ruff.lint]
51
51
  select = ["E4", "E7", "E9", "F", "UP", "S", "ANN", "C4", "I", "RUF", "SIM", "PLR", "ERA", "RET", "B", "A"]
52
52
  # select = ["ALL"]
53
- ignore = ["ANN003", "ANN401", "D", "COM"]
53
+ ignore = ["ANN003", "ANN401", "D", "COM", "PLR0917"]
54
54
 
55
55
 
56
56
  [tool.ruff.lint.per-file-ignores]
@@ -83,16 +83,16 @@ packages = ["src/pythonxbox"]
83
83
  [tool.hatch.envs.default]
84
84
  python = "3.13"
85
85
  dependencies = [
86
- "platformdirs==4.11.4",
86
+ "platformdirs==4.11.8",
87
87
  "cryptography==50.0.1",
88
88
  "httpx==0.28.1",
89
89
  "ms_cv==0.1.1",
90
- "pydantic==2.13.4",
90
+ "pydantic==2.13.5",
91
91
  "pytest==9.1.1",
92
92
  "pytest-asyncio==1.4.0",
93
93
  "pytest-cov==7.1.0",
94
94
  "freezegun==1.5.5",
95
- "respx~=0.22",
95
+ "respx==0.23.1",
96
96
  ]
97
97
 
98
98
  [tool.hatch.envs.hatch-test]
@@ -100,7 +100,7 @@ parallel = true
100
100
  extra-dependencies = [
101
101
  "pytest-cov~=7.0",
102
102
  "pytest-asyncio~=1.1",
103
- "respx~=0.22",
103
+ "respx==0.23.1",
104
104
  "freezegun==1.5.5"
105
105
  ]
106
106
  extra-args = ["--cov=src/", "--cov-report=term-missing", "--cov-report=xml", "-vv"]
@@ -111,13 +111,15 @@ testpaths = ["tests"]
111
111
  pythonpath = ["src"]
112
112
 
113
113
  [[tool.hatch.envs.hatch-test.matrix]]
114
- python = ["3.14", "3.13", "3.12", "3.11"]
114
+ python = ["3.15", "3.14", "3.13", "3.12", "3.11"]
115
115
 
116
- [tool.hatch.envs.hatch-static-analysis]
117
- dependencies = [
118
- "ruff==0.15.22",
119
- ]
116
+ [tool.hatch.envs.hatch-check-code]
117
+ config-path = "none"
118
+ dependencies = ["ruff==0.16.7"]
119
+
120
+ [tool.hatch.envs.hatch-check-fmt]
120
121
  config-path = "none"
122
+ dependencies = ["ruff==0.16.7"]
121
123
 
122
124
  [tool.hatch.envs.docs]
123
125
  dependencies = [
@@ -1,4 +1,4 @@
1
1
  """Top-level package for python-xbox."""
2
2
 
3
3
  __author__ = """tr4nt0r"""
4
- __version__ = "0.2.1"
4
+ __version__ = "0.2.2"
@@ -93,7 +93,12 @@ class PeopleProvider(RateLimitedProvider):
93
93
  resp.raise_for_status()
94
94
  return PeopleResponse.model_validate_json(resp.text)
95
95
 
96
- async def get_friend_by_xuid(self, xuid: str, decoration_fields: list[PeopleDecoration] | None = None, **kwargs) -> PeopleResponse:
96
+ async def get_friend_by_xuid(
97
+ self,
98
+ xuid: str,
99
+ decoration_fields: list[PeopleDecoration] | None = None,
100
+ **kwargs,
101
+ ) -> PeopleResponse:
97
102
  """
98
103
  Get a single friend's profile from the authenticated user's perspective
99
104
 
@@ -151,7 +151,7 @@ class CommandDestination(CamelCaseModel):
151
151
  class CommandResponse(CamelCaseModel):
152
152
  result: str | None = None
153
153
  ui_text: str | None = None
154
- destination: CommandDestination
154
+ destination: CommandDestination | None
155
155
  user_info: str | None = None
156
156
  op_id: str
157
157
  status: SmartglassApiStatus
File without changes
File without changes