TornAPIWrapper 2.3.0__tar.gz → 2.4.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 (37) hide show
  1. {tornapiwrapper-2.3.0/src/TornAPIWrapper.egg-info → tornapiwrapper-2.4.0}/PKG-INFO +2 -2
  2. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/README.md +1 -1
  3. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/__init__.py +2 -2
  4. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/faction.py +4 -2
  5. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/user.py +18 -1
  6. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/faction.py +4 -2
  7. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/user.py +49 -1
  8. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/params/map.py +3 -2
  9. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/type_hints.py +1 -0
  10. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0/src/TornAPIWrapper.egg-info}/PKG-INFO +2 -2
  11. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/LICENSE +0 -0
  12. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/pyproject.toml +0 -0
  13. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/setup.cfg +0 -0
  14. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/__main__.py +0 -0
  15. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/client.py +0 -0
  16. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/client_async.py +0 -0
  17. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/__init__.py +0 -0
  18. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/forum.py +0 -0
  19. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/key.py +0 -0
  20. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/market.py +0 -0
  21. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/property.py +0 -0
  22. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/racing.py +0 -0
  23. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints/torn.py +0 -0
  24. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/__init__.py +0 -0
  25. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/forum.py +0 -0
  26. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/key.py +0 -0
  27. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/market.py +0 -0
  28. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/property.py +0 -0
  29. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/racing.py +0 -0
  30. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/endpoints_async/torn.py +0 -0
  31. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/errors.py +0 -0
  32. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/params/__init__.py +0 -0
  33. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper/params/builders.py +0 -0
  34. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper.egg-info/SOURCES.txt +0 -0
  35. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper.egg-info/dependency_links.txt +0 -0
  36. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.0}/src/TornAPIWrapper.egg-info/requires.txt +0 -0
  37. {tornapiwrapper-2.3.0 → tornapiwrapper-2.4.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.3.0
3
+ Version: 2.4.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-10.03.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-15.04.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-10.03.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-15.04.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,8 +26,8 @@ __author__ = "cxdzc"
26
26
  __copyright__ = "Copyright 2023-Present cxdzc"
27
27
  __license__ = "MIT"
28
28
  __title__ = "TornAPIWrapper"
29
- __version__ = "2.3.0"
30
- __patch__ = "10.03.2026"
29
+ __version__ = "2.4.0"
30
+ __patch__ = "15.04.2026"
31
31
 
32
32
  from .errors import (
33
33
  WrapperError,
@@ -170,7 +170,7 @@ class Faction:
170
170
  """
171
171
  return self.api.request("/faction/contributors", build_params(self.get_contributors, locals()))
172
172
 
173
- def get_crimes(self, crimes_category: FacCrimesCatOptions = "all", crimes_filter: FacCrimesFiltersOptions = None, offset: int = 0, sort: SortOptions = "DESC", to: int = None, from_: int = None, timestamp: int = None, comment: str = None) -> dict:
173
+ 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
174
  """
175
175
  Get your faction's organized crimes.
176
176
  Requires faction API access permissions.
@@ -183,6 +183,7 @@ class Faction:
183
183
  - For category 'planning', the ordering field is 'ready_at'.
184
184
  :param crimes_category: Category of organized crimes returned. Category 'available' includes both 'recruiting' & 'planning', and category 'completed' includes both 'successful' & 'failure'.
185
185
  :param crimes_filter: It's possible to set this parameter to specify a field used for the sort, from & to query parameters. If not specified, the field will default to the category sorting as described above.
186
+ :param limit: Number of results to return.
186
187
  :param offset: Number of rows to skip before returning results.
187
188
  :param sort: Sorted by the greatest timestamps.
188
189
  :param to: Timestamp that sets the upper limit for the data returned. Data returned will be up to and including this time.
@@ -335,7 +336,8 @@ class Faction:
335
336
  """
336
337
  Get faction reports.
337
338
  API key (Limited).
338
- The default limit is set to 25. However, the limit can be set to 100 for the 'stats' category.
339
+ The limit is set to 25 when requesting any category other than 'stats'.
340
+ When requesting the 'stats' category, limit can be increased up to 100.
339
341
  :param report_category: Used to filter reports with a specific type.
340
342
  :param target_id: Get reports for a specific player by passing their player ID.
341
343
  :param limit: Number of results to return.
@@ -29,7 +29,7 @@ from typing import TYPE_CHECKING
29
29
  from ..params.builders import build_params
30
30
  from ..type_hints import SortOptions, RaceCatOptions, UserListCatOptions, AttackFiltersOptions, \
31
31
  UserPropertiesFiltersOptions, ReportCatOptions, UserPrsnlStatsCatOptions, UserPrsnlStatsStatOptions, \
32
- UserTradeCatOptions
32
+ UserTradeCatOptions, UserInventoryCatOptions
33
33
 
34
34
  if TYPE_CHECKING:
35
35
  from ..client import TornAPIWrapper
@@ -365,6 +365,21 @@ class User:
365
365
  """
366
366
  return self.api.request("/user/icons", build_params(self.get_icons, locals()))
367
367
 
368
+ def get_inventory(self, inventory_category: UserInventoryCatOptions, limit: int = 20, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
369
+ """
370
+ Get your inventory.
371
+ API key (Limited).
372
+ Cached selection (1 hour per category).
373
+ :param inventory_category: Items category.
374
+ :param offset: Number of rows to skip before returning results.
375
+ :param limit: Number of results to return.
376
+ :param timestamp: Timestamp to bypass cache.
377
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
378
+ :return: API response data.
379
+ :rtype: dict
380
+ """
381
+ return self.api.request("/user/inventory", build_params(self.get_inventory, locals()))
382
+
368
383
  def get_itemmarket(self, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
369
384
  """
370
385
  Get your item market listings for a specific item.
@@ -668,6 +683,8 @@ class User:
668
683
  """
669
684
  Get your reports.
670
685
  API key (Limited).
686
+ The limit is set to 25 when requesting any category other than 'stats'.
687
+ When requesting the 'stats' category, limit can be increased up to 100.
671
688
  :param report_category: Used to filter reports with a specific type.
672
689
  :param target_id: Get reports for a specific player by passing their player ID.
673
690
  :param limit: Number of results to return.
@@ -170,7 +170,7 @@ class Faction:
170
170
  """
171
171
  return await self.api.request("/faction/contributors", build_params(self.get_contributors, locals()))
172
172
 
173
- async def get_crimes(self, crimes_category: FacCrimesCatOptions = "all", crimes_filter: FacCrimesFiltersOptions = None, offset: int = 0, sort: SortOptions = "DESC", to: int = None, from_: int = None, timestamp: int = None, comment: str = None) -> dict:
173
+ 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
174
  """
175
175
  Get your faction's organized crimes.
176
176
  Requires faction API access permissions.
@@ -183,6 +183,7 @@ class Faction:
183
183
  - For category 'planning', the ordering field is 'ready_at'.
184
184
  :param crimes_category: Category of organized crimes returned. Category 'available' includes both 'recruiting' & 'planning', and category 'completed' includes both 'successful' & 'failure'.
185
185
  :param crimes_filter: It's possible to set this parameter to specify a field used for the sort, from & to query parameters. If not specified, the field will default to the category sorting as described above.
186
+ :param limit: Number of results to return.
186
187
  :param offset: Number of rows to skip before returning results.
187
188
  :param sort: Sorted by the greatest timestamps.
188
189
  :param to: Timestamp that sets the upper limit for the data returned. Data returned will be up to and including this time.
@@ -335,7 +336,8 @@ class Faction:
335
336
  """
336
337
  Get faction reports.
337
338
  API key (Limited).
338
- The default limit is set to 25. However, the limit can be set to 100 for the 'stats' category.
339
+ The limit is set to 25 when requesting any category other than 'stats'.
340
+ When requesting the 'stats' category, limit can be increased up to 100.
339
341
  :param report_category: Used to filter reports with a specific type.
340
342
  :param target_id: Get reports for a specific player by passing their player ID.
341
343
  :param limit: Number of results to return.
@@ -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, RaceCatOptions, UserListCatOptions, AttackFiltersOptions, \
31
- UserPropertiesFiltersOptions, ReportCatOptions, UserPrsnlStatsCatOptions, UserPrsnlStatsStatOptions
31
+ UserPropertiesFiltersOptions, ReportCatOptions, UserPrsnlStatsCatOptions, UserPrsnlStatsStatOptions, \
32
+ UserTradeCatOptions, UserInventoryCatOptions
32
33
 
33
34
  if TYPE_CHECKING:
34
35
  from ..client_async import TornAPIWrapperAsync
@@ -364,6 +365,21 @@ class User:
364
365
  """
365
366
  return await self.api.request("/user/icons", build_params(self.get_icons, locals()))
366
367
 
368
+ async def get_inventory(self, inventory_category: UserInventoryCatOptions, limit: int = 20, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
369
+ """
370
+ Get your inventory.
371
+ API key (Limited).
372
+ Cached selection (1 hour per category).
373
+ :param inventory_category: Items category.
374
+ :param offset: Number of rows to skip before returning results.
375
+ :param limit: Number of results to return.
376
+ :param timestamp: Timestamp to bypass cache.
377
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
378
+ :return: API response data.
379
+ :rtype: dict
380
+ """
381
+ return await self.api.request("/user/inventory", build_params(self.get_inventory, locals()))
382
+
367
383
  async def get_itemmarket(self, offset: int = 0, timestamp: int = None, comment: str = None) -> dict:
368
384
  """
369
385
  Get your item market listings for a specific item.
@@ -667,6 +683,8 @@ class User:
667
683
  """
668
684
  Get your reports.
669
685
  API key (Limited).
686
+ The limit is set to 25 when requesting any category other than 'stats'.
687
+ When requesting the 'stats' category, limit can be increased up to 100.
670
688
  :param report_category: Used to filter reports with a specific type.
671
689
  :param target_id: Get reports for a specific player by passing their player ID.
672
690
  :param limit: Number of results to return.
@@ -735,6 +753,36 @@ class User:
735
753
  """
736
754
  return await self.api.request("/user/stocks", build_params(self.get_stocks, locals()))
737
755
 
756
+ async def get_trades(self, trade_category: UserTradeCatOptions = "ongoing", limit: int = 100, sort: SortOptions = "DESC", to: int = None, from_: int = None, timestamp: int = None, comment: str = None) -> dict:
757
+ """
758
+ Get your trades.
759
+ API key (Limited).
760
+ When requesting 'ongoing' trades (default), limit/offset/sort are not being used.
761
+ :param trade_category: Category of trades returned.
762
+ :param limit: Number of results to return.
763
+ :param sort: Sorted by the greatest timestamps.
764
+ :param to: Timestamp that sets the upper limit for the data returned. Data returned will be up to and including this time.
765
+ :param from_: Timestamp that sets the lower limit for the data returned. Data returned will be after this time.
766
+ :param timestamp: Timestamp to bypass cache.
767
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
768
+ :return: API response data.
769
+ :rtype: dict
770
+ """
771
+ return await self.api.request("/user/trades", build_params(self.get_trades, locals()))
772
+
773
+ async def get_trade(self, trade_id: int, timestamp: int = None, comment: str = None) -> dict:
774
+ """
775
+ Get your detailed trade.
776
+ API key (Limited).
777
+ Only possible to get trades you participated in.
778
+ :param trade_id: Trade id.
779
+ :param timestamp: Timestamp to bypass cache.
780
+ :param comment: Comment for your tool/service/bot/website to be visible in the logs.
781
+ :return: API response data.
782
+ :rtype: dict
783
+ """
784
+ return await self.api.request("/user/trade", build_params(self.get_trade, locals()))
785
+
738
786
  async def get_travel(self, timestamp: int = None, comment: str = None) -> dict:
739
787
  """
740
788
  Get your travel information.
@@ -14,15 +14,15 @@ param_id = {
14
14
  "log_category_id_torn",
15
15
  "property_id",
16
16
  "property_type_id",
17
- "stock_id",
18
- "trade_id",
19
17
  "race_id",
20
18
  "raid_war_id",
21
19
  "ranked_war_id",
20
+ "stock_id",
22
21
  "team_id",
23
22
  "territory_war_id",
24
23
  "thread_id",
25
24
  "track_id",
25
+ "trade_id",
26
26
  "user_id",
27
27
  }
28
28
  param_cat = {
@@ -31,6 +31,7 @@ param_cat = {
31
31
  "car_category",
32
32
  "contributors_category",
33
33
  "crimes_category",
34
+ "inventory_category",
34
35
  "item_category",
35
36
  "leaderboard_category",
36
37
  "list_category",
@@ -32,6 +32,7 @@ ReportCatOptions = Literal["mostwanted", "money", "stats", "references", "friend
32
32
  UserTradeCatOptions = Literal["finished", "ongoing"]
33
33
  UserListCatOptions = Literal["Friends", "Enemies", "Targets"]
34
34
  UserPropertiesFiltersOptions = Literal["ownedByUser", "ownedBySpouse"]
35
+ UserInventoryCatOptions = Literal["Collectible", "Clothing", "Other", "Tool", "Melee", "Defensive", "Material", "Car", "Primary", "Secondary", "Book", "Special", "Supply Pack", "Temporary", "Enhancer", "Artifact", "Flower", "Booster", "Medical", "Candy", "Jewelry", "Alcohol", "Plushie", "Drug", "Energy Drink"]
35
36
  UserPrsnlStatsCatOptions = Literal["all", "popular", "attacking", "battle_stats", "jobs", "trading", "jail", "hospital", "finishing_hits", "communication", "crimes", "bounties", "investments", "items", "travel", "drugs", "missions", "racing", "networth", "other", "itemmarketcustomers", "itemmarketsales", "itemmarketrevenue", "itemmarketfees"]
36
37
  UserPrsnlStatsStatOptions = Literal["attackswon", "attackslost", "attacksdraw", "attacksassisted", "defendswon", "defendslost", "defendsstalemated", "elo", "yourunaway", "theyrunaway", "unarmoredwon", "bestkillstreak", "attackhits", "attackmisses", "attackdamage", "bestdamage", "onehitkills", "attackcriticalhits", "roundsfired", "specialammoused", "hollowammoused", "tracerammoused", "piercingammoused", "incendiaryammoused", "attacksstealthed", "retals", "moneymugged", "largestmug", "itemslooted", "highestbeaten", "respectforfaction", "rankedwarhits", "raidhits", "territoryjoins", "territoryclears", "territorytime", "jobpointsused", "trainsreceived", "marketitemsbought", "auctionswon", "auctionsells", "itemssent", "trades", "cityitemsbought", "pointsbought", "pointssold", "bazaarcustomers", "bazaarsales", "bazaarprofit", "jailed", "peoplebusted", "failedbusts", "peoplebought", "peopleboughtspent", "hospital", "medicalitemsused", "bloodwithdrawn", "reviveskill", "revives", "revivesreceived", "heavyhits", "machinehits", "riflehits", "smghits", "shotgunhits", "pistolhits", "temphits", "piercinghits", "slashinghits", "clubbinghits", "mechanicalhits", "h2hhits", "mailssent", "friendmailssent", "factionmailssent", "companymailssent", "spousemailssent", "classifiedadsplaced", "personalsplaced", "criminaloffensesold", "sellillegalgoods", "theftold", "autotheftcrime", "drugdealscrime", "computercrime", "fraudold", "murdercrime", "othercrime", "organizedcrimes", "bountiesplaced", "totalbountyspent", "bountiescollected", "totalbountyreward", "bountiesreceived", "receivedbountyvalue", "cityfinds", "dumpfinds", "itemsdumped", "booksread", "boostersused", "consumablesused", "candyused", "alcoholused", "energydrinkused", "statenhancersused", "eastereggsfound", "eastereggsused", "virusescoded", "traveltimes", "timespenttraveling", "itemsboughtabroad", "attackswonabroad", "defendslostabroad", "argtravel", "mextravel", "uaetravel", "hawtravel", "japtravel", "uktravel", "satravel", "switravel", "chitravel", "cantravel", "caytravel", "drugsused", "overdosed", "rehabs", "rehabcost", "cantaken", "exttaken", "kettaken", "lsdtaken", "opitaken", "pcptaken", "shrtaken", "spetaken", "victaken", "xantaken", "missionscompleted", "contractscompleted", "dukecontractscompleted", "missioncreditsearned", "racingskill", "racingpointsearned", "racesentered", "raceswon", "networth", "timeplayed", "activestreak", "bestactivestreak", "awards", "refills", "nerverefills", "tokenrefills", "meritsbought", "daysbeendonator", "criminaloffenses", "vandalism", "theft", "counterfeiting", "fraud", "illicitservices", "cybercrime", "extortion", "illegalproduction", "currentkillstreak", "strength", "defense", "speed", "dexterity", "totalstats", "manuallabor", "intelligence", "endurance", "totalworkingstats", "moneyinvested", "investedprofit", "investamount", "banktimeleft", "stockprofits", "stocklosses", "stockfees", "stocknetprofits", "stockpayouts", "networthwallet", "networthvault", "networthbank", "networthcayman", "networthpoints", "networthitems", "networthdisplaycase", "networthbazaar", "networthitemmarket", "networthproperties", "networthstockmarket", "networthauctionhouse", "networthbookie", "networthcompany", "networthenlistedcars", "networthpiggybank", "networthpending", "networthloan", "networthunpaidfees", "huntingskill", "searchforcashskill", "bootleggingskill", "graffitiskill", "shopliftingskill", "pickpocketingskill", "cardskimmingskill", "burglaryskill", "hustlingskill", "disposalskill", "crackingskill", "forgeryskill", "scammingskill", "arsonskill"]
37
38
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TornAPIWrapper
3
- Version: 2.3.0
3
+ Version: 2.4.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-10.03.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-15.04.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
 
File without changes
File without changes