TornAPIWrapper 2.15.0__tar.gz → 2.17.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 (40) hide show
  1. {tornapiwrapper-2.15.0/src/TornAPIWrapper.egg-info → tornapiwrapper-2.17.0}/PKG-INFO +2 -2
  2. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/README.md +1 -1
  3. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/__init__.py +6 -4
  4. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/client.py +1 -2
  5. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/client_async.py +1 -2
  6. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/faction.py +28 -1
  7. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/torn.py +37 -3
  8. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/faction.py +28 -1
  9. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/errors.py +8 -2
  10. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/params/map.py +1 -0
  11. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/type_hints.py +1 -0
  12. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0/src/TornAPIWrapper.egg-info}/PKG-INFO +2 -2
  13. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper.egg-info/SOURCES.txt +0 -1
  14. tornapiwrapper-2.15.0/src/TornAPIWrapper/text_response_endpoints.py +0 -1
  15. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/LICENSE +0 -0
  16. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/pyproject.toml +0 -0
  17. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/setup.cfg +0 -0
  18. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/__main__.py +0 -0
  19. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/__init__.py +0 -0
  20. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/company.py +0 -0
  21. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/forum.py +0 -0
  22. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/key.py +0 -0
  23. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/market.py +0 -0
  24. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/property.py +0 -0
  25. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/racing.py +0 -0
  26. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints/user.py +0 -0
  27. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/__init__.py +0 -0
  28. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/company.py +0 -0
  29. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/forum.py +0 -0
  30. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/key.py +0 -0
  31. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/market.py +0 -0
  32. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/property.py +0 -0
  33. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/racing.py +0 -0
  34. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/torn.py +0 -0
  35. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/endpoints_async/user.py +0 -0
  36. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/params/__init__.py +0 -0
  37. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper/params/builders.py +0 -0
  38. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper.egg-info/dependency_links.txt +0 -0
  39. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper.egg-info/requires.txt +0 -0
  40. {tornapiwrapper-2.15.0 → tornapiwrapper-2.17.0}/src/TornAPIWrapper.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TornAPIWrapper
3
- Version: 2.15.0
3
+ Version: 2.17.0
4
4
  Summary: A Python wrapper for the Torn City API, providing access to Torn City data.
5
5
  Author: cxdzc
6
6
  License: The MIT License (MIT)
@@ -53,7 +53,7 @@ Dynamic: license-file
53
53
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/v/tornapiwrapper?cacheSeconds=300></a>
54
54
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/pyversions/tornapiwrapper?cacheSeconds=300></a>
55
55
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pepy/dt/tornapiwrapper?color=blue&cacheSeconds=300></a>
56
- <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-18.08.2026-c4c4c4?cacheSeconds=300></a>
56
+ <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-21.08.2026-c4c4c4?cacheSeconds=300></a>
57
57
  <a rel="license" href="https://github.com/cxdzc/TornAPIWrapper/blob/main/LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-ab1436"/></a>
58
58
  </div>
59
59
 
@@ -6,7 +6,7 @@
6
6
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/v/tornapiwrapper?cacheSeconds=300></a>
7
7
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/pyversions/tornapiwrapper?cacheSeconds=300></a>
8
8
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pepy/dt/tornapiwrapper?color=blue&cacheSeconds=300></a>
9
- <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-18.08.2026-c4c4c4?cacheSeconds=300></a>
9
+ <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-21.08.2026-c4c4c4?cacheSeconds=300></a>
10
10
  <a rel="license" href="https://github.com/cxdzc/TornAPIWrapper/blob/main/LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-ab1436"/></a>
11
11
  </div>
12
12
 
@@ -26,9 +26,11 @@ __author__ = "cxdzc"
26
26
  __copyright__ = "Copyright 2023-Present cxdzc"
27
27
  __license__ = "MIT"
28
28
  __title__ = "TornAPIWrapper"
29
- __version__ = "2.15.0"
30
- __patch__ = "18.08.2026"
29
+ __version__ = "2.17.0"
30
+ __patch__ = "21.08.2026"
31
31
 
32
+ from .client import TornAPIWrapper
33
+ from .client_async import TornAPIWrapperAsync
32
34
  from .errors import (
33
35
  WrapperError,
34
36
  UnhandledAPIError,
@@ -63,9 +65,8 @@ from .errors import (
63
65
  MigrationRequiredOC2,
64
66
  InvalidLogId,
65
67
  InvalidInteractionLogCategory,
68
+ FileDoesNotExist,
66
69
  )
67
- from .client import TornAPIWrapper
68
- from .client_async import TornAPIWrapperAsync
69
70
 
70
71
  __all__ = [
71
72
  "TornAPIWrapper",
@@ -105,4 +106,5 @@ __all__ = [
105
106
  "MigrationRequiredOC2",
106
107
  "InvalidLogId",
107
108
  "InvalidInteractionLogCategory",
109
+ "FileDoesNotExist",
108
110
  ]
@@ -35,7 +35,6 @@ from .endpoints.racing import Racing
35
35
  from .endpoints.torn import Torn
36
36
  from .endpoints.user import User
37
37
  from .errors import TornAPIErrorHandler
38
- from .text_response_endpoints import text_response_endpoints
39
38
 
40
39
 
41
40
  class TornAPIWrapper:
@@ -71,7 +70,7 @@ class TornAPIWrapper:
71
70
  """
72
71
  api_request = self.session.get(url=f"{self.BASE_URL}{endpoint}", params=params, timeout=self.request_timeout)
73
72
  api_request.raise_for_status()
74
- if endpoint in text_response_endpoints:
73
+ if api_request.headers.get("Content-Type", None) == "text/csv":
75
74
  return api_request.text
76
75
  api_request_json = api_request.json()
77
76
  api_request_error = api_request_json.get("error")
@@ -35,7 +35,6 @@ from .endpoints_async.racing import Racing
35
35
  from .endpoints_async.torn import Torn
36
36
  from .endpoints_async.user import User
37
37
  from .errors import TornAPIErrorHandler
38
- from .text_response_endpoints import text_response_endpoints
39
38
 
40
39
 
41
40
  class TornAPIWrapperAsync:
@@ -77,7 +76,7 @@ class TornAPIWrapperAsync:
77
76
  """
78
77
  async with self.session.get(url=f"{self.BASE_URL}{endpoint}", params=params) as api_request:
79
78
  api_request.raise_for_status()
80
- if endpoint in text_response_endpoints:
79
+ if api_request.headers.get("Content-Type", None) == "text/csv":
81
80
  return await api_request.text()
82
81
  api_request_json = await api_request.json()
83
82
  api_request_error = api_request_json.get("error")
@@ -28,7 +28,8 @@ from typing import TYPE_CHECKING
28
28
 
29
29
  from ..params.builders import build_params
30
30
  from ..type_hints import SortOptions, FacScopeCatOptions, AttackFiltersOptions, FacContributorsStatOptions, \
31
- FacCrimesCatOptions, FacCrimesFiltersOptions, FacNewsCatOptions, ReportCatOptions, FacWarChainsCatOptions
31
+ FacCrimesCatOptions, FacCrimesFiltersOptions, FacNewsCatOptions, ReportCatOptions, FacWarChainsCatOptions, \
32
+ FacInventoryCatOptions
32
33
 
33
34
  if TYPE_CHECKING:
34
35
  from ..client import TornAPIWrapper
@@ -170,6 +171,17 @@ class Faction:
170
171
  """
171
172
  return self.api.request("/faction/contributors", build_params(self.get_contributors, locals()))
172
173
 
174
+ def get_crimeexp(self, timestamp: int = None, comment: str = None) -> dict:
175
+ """
176
+ Get your faction members crime experience.
177
+ API key (Minimal).
178
+ :param timestamp: Timestamp to bypass cache.
179
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
180
+ :return: API response data.
181
+ :rtype: dict
182
+ """
183
+ return self.api.request("/faction/crimeexp", build_params(self.get_crimeexp, locals()))
184
+
173
185
  def get_crimes(self, crimes_category: FacCrimesCatOptions = "all", crimes_filter: FacCrimesFiltersOptions = None, limit: int = 20, offset: int = 0, sort: SortOptions = "DESC", to: int = None, from_: int = None, timestamp: int = None, comment: str = None) -> dict:
174
186
  """
175
187
  Get your faction's organized crimes.
@@ -230,6 +242,21 @@ class Faction:
230
242
  """
231
243
  return self.api.request("/faction/hof", build_params(self.get_hof, locals()))
232
244
 
245
+ def get_inventory(self, armory_category: FacInventoryCatOptions, limit: int = 20, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
246
+ """
247
+ Get your faction's inventory items.
248
+ API key (Limited).
249
+ Cached selection (1 hour, all items cached at once).
250
+ :param armory_category: Armory category.
251
+ :param limit: Number of results to return.
252
+ :param offset: Number of rows to skip before returning results.
253
+ :param timestamp: Timestamp to bypass cache.
254
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
255
+ :return: API response data.
256
+ :rtype: dict
257
+ """
258
+ return self.api.request("/faction/inventory", build_params(self.get_inventory, locals()))
259
+
233
260
  def get_members(self, faction_id: int = None, striptags: bool = True, timestamp: int = None, comment: str = None) -> dict:
234
261
  """
235
262
  Get a list of members for your faction or a specific faction.
@@ -247,11 +247,11 @@ class Torn:
247
247
  """
248
248
  return self.api.request("/torn/itemammo", build_params(self.get_itemammo, locals()))
249
249
 
250
- def get_itemdetails(self, item_id: int, timestamp: int = None, comment: str = None) -> dict:
250
+ def get_itemdetails(self, item_ids: list[int], timestamp: int = None, comment: str = None) -> dict:
251
251
  """
252
- Get information about a specific item.
252
+ Get details for specific item(s).
253
253
  API key (Public).
254
- :param item_id: Item uid.
254
+ :param item_ids: Item uid or a list of item uids (comma separated), 25 uids maximum.
255
255
  :param timestamp: Timestamp to bypass cache.
256
256
  :param comment: Comment for your tool/service/bot/website to be visible in the logs.
257
257
  :return: API response data.
@@ -270,6 +270,18 @@ class Torn:
270
270
  """
271
271
  return self.api.request("/torn/itemmods", build_params(self.get_itemmods, locals()))
272
272
 
273
+ def get_itemstats(self, item_ids: list[int], timestamp: int = None, comment: str = None) -> dict:
274
+ """
275
+ Get specific item(s) stats.
276
+ API key (Public).
277
+ :param item_ids: Item uid or a list of item uids (comma separated), 25 uids maximum.
278
+ :param timestamp: Timestamp to bypass cache.
279
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
280
+ :return: API response data.
281
+ :rtype: dict
282
+ """
283
+ return self.api.request("/torn/itemstats", build_params(self.get_itemstats, locals()))
284
+
273
285
  def get_items(self, item_ids: list[int] = None, item_category: TornItemsCatOptions = None, sort: SortOptions = "ASC", timestamp: int = None, comment: str = None) -> dict:
274
286
  """
275
287
  Get information about items.
@@ -378,6 +390,17 @@ class Torn:
378
390
  """
379
391
  return self.api.request("/torn/properties", build_params(self.get_properties, locals()))
380
392
 
393
+ def get_rockpaperscissors(self, timestamp: int = None, comment: str = None) -> dict:
394
+ """
395
+ Get rock paper scissors competition stats.
396
+ API key (Public).
397
+ :param timestamp: Timestamp to bypass cache.
398
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
399
+ :return: API response data.
400
+ :rtype: dict
401
+ """
402
+ return self.api.request("/torn/rockpaperscissors", build_params(self.get_rockpaperscissors, locals()))
403
+
381
404
  def get_searchforcash(self, timestamp: int = None, comment: str = None) -> dict:
382
405
  """
383
406
  Get search for cash crime statuses.
@@ -400,6 +423,17 @@ class Torn:
400
423
  """
401
424
  return self.api.request("/torn/shoplifting", build_params(self.get_shoplifting, locals()))
402
425
 
426
+ def get_stats(self, timestamp: int = None, comment: str = None) -> dict:
427
+ """
428
+ Get daily city stats.
429
+ API key (Public).
430
+ :param timestamp: Timestamp to bypass cache.
431
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
432
+ :return: API response data.
433
+ :rtype: dict
434
+ """
435
+ return self.api.request("/torn/stats", build_params(self.get_stats, locals()))
436
+
403
437
  def get_stocks(self, stock_id: int = None, timestamp: int = None, comment: str = None) -> dict:
404
438
  """
405
439
  Get all stocks or specific stock with chart history.
@@ -28,7 +28,8 @@ from typing import TYPE_CHECKING
28
28
 
29
29
  from ..params.builders import build_params
30
30
  from ..type_hints import SortOptions, FacScopeCatOptions, AttackFiltersOptions, FacContributorsStatOptions, \
31
- FacCrimesCatOptions, FacCrimesFiltersOptions, FacNewsCatOptions, ReportCatOptions, FacWarChainsCatOptions
31
+ FacCrimesCatOptions, FacCrimesFiltersOptions, FacNewsCatOptions, ReportCatOptions, FacWarChainsCatOptions, \
32
+ FacInventoryCatOptions
32
33
 
33
34
  if TYPE_CHECKING:
34
35
  from ..client_async import TornAPIWrapperAsync
@@ -170,6 +171,17 @@ class Faction:
170
171
  """
171
172
  return await self.api.request("/faction/contributors", build_params(self.get_contributors, locals()))
172
173
 
174
+ async def get_crimeexp(self, timestamp: int = None, comment: str = None) -> dict:
175
+ """
176
+ Get your faction members crime experience.
177
+ API key (Minimal).
178
+ :param timestamp: Timestamp to bypass cache.
179
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
180
+ :return: API response data.
181
+ :rtype: dict
182
+ """
183
+ return await self.api.request("/faction/crimeexp", build_params(self.get_crimeexp, locals()))
184
+
173
185
  async def get_crimes(self, crimes_category: FacCrimesCatOptions = "all", crimes_filter: FacCrimesFiltersOptions = None, limit: int = 20, offset: int = 0, sort: SortOptions = "DESC", to: int = None, from_: int = None, timestamp: int = None, comment: str = None) -> dict:
174
186
  """
175
187
  Get your faction's organized crimes.
@@ -230,6 +242,21 @@ class Faction:
230
242
  """
231
243
  return await self.api.request("/faction/hof", build_params(self.get_hof, locals()))
232
244
 
245
+ async def get_inventory(self, armory_category: FacInventoryCatOptions, limit: int = 20, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
246
+ """
247
+ Get your faction's inventory items.
248
+ API key (Limited).
249
+ Cached selection (1 hour, all items cached at once).
250
+ :param armory_category: Armory category.
251
+ :param limit: Number of results to return.
252
+ :param offset: Number of rows to skip before returning results.
253
+ :param timestamp: Timestamp to bypass cache.
254
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
255
+ :return: API response data.
256
+ :rtype: dict
257
+ """
258
+ return await self.api.request("/faction/inventory", build_params(self.get_inventory, locals()))
259
+
233
260
  async def get_members(self, faction_id: int = None, striptags: bool = True, timestamp: int = None, comment: str = None) -> dict:
234
261
  """
235
262
  Get a list of members for your faction or a specific faction.
@@ -260,7 +260,6 @@ class MigrationRequiredOC2(APIError):
260
260
  """
261
261
  pass
262
262
 
263
-
264
263
  class InvalidLogId(APIError):
265
264
  """
266
265
  28
@@ -268,7 +267,6 @@ class InvalidLogId(APIError):
268
267
  """
269
268
  pass
270
269
 
271
-
272
270
  class InvalidInteractionLogCategory(APIError):
273
271
  """
274
272
  29
@@ -276,6 +274,13 @@ class InvalidInteractionLogCategory(APIError):
276
274
  """
277
275
  pass
278
276
 
277
+ class FileDoesNotExist(APIError):
278
+ """
279
+ 30
280
+ File does not exist.
281
+ """
282
+ pass
283
+
279
284
  class TornAPIErrorHandler:
280
285
  """
281
286
  Handle Torn API error codes and raise appropriate exceptions.
@@ -311,6 +316,7 @@ class TornAPIErrorHandler:
311
316
  27: (MigrationRequiredOC2, "Must be migrated to organized crimes 2.0."),
312
317
  28: (InvalidLogId, "Incorrect log ID."),
313
318
  29: (InvalidInteractionLogCategory, "Category selection is not available for interaction logs."),
319
+ 30: (FileDoesNotExist, "File does not exist."),
314
320
  }
315
321
 
316
322
  def raise_code(self, error_code: int):
@@ -28,6 +28,7 @@ param_id = {
28
28
  "user_id",
29
29
  }
30
30
  param_cat = {
31
+ "armory_category",
31
32
  "balance_category",
32
33
  "bazaar_category",
33
34
  "car_category",
@@ -40,6 +40,7 @@ FacScopeCatOptions = Literal["all", "current"]
40
40
  FacWarChainsCatOptions = Literal["active", "complete"]
41
41
  FacCrimesFiltersOptions = Literal["created_at", "executed_at", "ready_at", "expired_at"]
42
42
  FacCrimesCatOptions = Literal["all", "recruiting", "planning", "failure", "successful", "expired", "available", "completed"]
43
+ FacInventoryCatOptions = Literal["weapons", "armor", "temporary", "medical", "consumables", "drugs", "boosters", "utilities", "loot"]
43
44
  FacNewsCatOptions = Literal["main", "attack", "armoryDeposit", "armoryAction", "territoryWar", "rankedWar", "territoryGain", "chain", "crime", "membership", "depositFunds", "giveFunds"]
44
45
  FacContributorsStatOptions = Literal["medicalitemsused", "criminaloffences", "organisedcrimerespect", "organisedcrimemoney", "organisedcrimesuccess", "organisedcrimefail", "attackswon", "attackslost", "attackschain", "attacksleave", "attacksmug", "attackshosp", "bestchain", "busts", "revives", "jails", "hosps", "medicalitemrecovery", "medicalcooldownused", "gymtrains", "gymstrength", "gymspeed", "gymenergy", "gymdefense", "gymdexterity", "candyused", "alcoholused", "energydrinkused", "drugsused", "drugoverdoses", "rehabs", "caymaninterest", "traveltimes", "traveltime", "hunting", "attacksdamagehits", "attacksdamage", "hosptimegiven", "hosptimereceived", "attacksdamaging", "attacksrunaway", "highestterritories", "territoryrespect", "membersamount", "factionage", "upgradesamount"]
45
46
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TornAPIWrapper
3
- Version: 2.15.0
3
+ Version: 2.17.0
4
4
  Summary: A Python wrapper for the Torn City API, providing access to Torn City data.
5
5
  Author: cxdzc
6
6
  License: The MIT License (MIT)
@@ -53,7 +53,7 @@ Dynamic: license-file
53
53
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/v/tornapiwrapper?cacheSeconds=300></a>
54
54
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pypi/pyversions/tornapiwrapper?cacheSeconds=300></a>
55
55
  <a href="https://pypi.org/project/TornAPIWrapper/"><img src=https://img.shields.io/pepy/dt/tornapiwrapper?color=blue&cacheSeconds=300></a>
56
- <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-18.08.2026-c4c4c4?cacheSeconds=300></a>
56
+ <a href="https://www.torn.com/api.html#:~:text=Patch%20Notes"><img src=https://img.shields.io/badge/patch-21.08.2026-c4c4c4?cacheSeconds=300></a>
57
57
  <a rel="license" href="https://github.com/cxdzc/TornAPIWrapper/blob/main/LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-ab1436"/></a>
58
58
  </div>
59
59
 
@@ -6,7 +6,6 @@ src/TornAPIWrapper/__main__.py
6
6
  src/TornAPIWrapper/client.py
7
7
  src/TornAPIWrapper/client_async.py
8
8
  src/TornAPIWrapper/errors.py
9
- src/TornAPIWrapper/text_response_endpoints.py
10
9
  src/TornAPIWrapper/type_hints.py
11
10
  src/TornAPIWrapper.egg-info/PKG-INFO
12
11
  src/TornAPIWrapper.egg-info/SOURCES.txt
@@ -1 +0,0 @@
1
- text_response_endpoints = {"/user/snapshot", "/faction/snapshot", "/company/snapshot"}
File without changes