pkscreener 0.46.20250218.719__cp312-cp312-win_amd64.whl → 0.46.20250218.722__cp312-cp312-win_amd64.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.
Files changed (60) hide show
  1. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/README.txt +5 -5
  2. pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/__init__.py +1 -0
  3. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/pkscreenerbot.py +62 -23
  4. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/requirements.txt +1 -1
  5. {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.722.dist-info}/METADATA +7 -7
  6. pkscreener-0.46.20250218.722.dist-info/RECORD +58 -0
  7. pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/__init__.py +0 -1
  8. pkscreener-0.46.20250218.719.dist-info/RECORD +0 -58
  9. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/Disclaimer.txt +0 -0
  10. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/LICENSE-Others.txt +0 -0
  11. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/LICENSE.txt +0 -0
  12. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/LogoWM.txt +0 -0
  13. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/__init__.py +0 -0
  14. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ArtTexts.py +0 -0
  15. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/AssetsManager.py +0 -0
  16. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Backtest.py +0 -0
  17. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Barometer.py +0 -0
  18. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/BaseScreeningStatistics.py +0 -0
  19. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/CandlePatterns.py +0 -0
  20. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Changelog.py +0 -0
  21. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ConfigManager.py +0 -0
  22. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ConsoleMenuUtility.py +0 -0
  23. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ConsoleUtility.py +0 -0
  24. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Fetcher.py +0 -0
  25. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/GlobalStore.py +0 -0
  26. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ImageUtility.py +0 -0
  27. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/MarketMonitor.py +0 -0
  28. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/MarketStatus.py +0 -0
  29. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/MenuOptions.py +0 -0
  30. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Messenger.py +0 -0
  31. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/OtaUpdater.py +0 -0
  32. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKAnalytics.py +0 -0
  33. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKDataService.py +0 -0
  34. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKDemoHandler.py +0 -0
  35. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
  36. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKPremiumHandler.py +0 -0
  37. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKScanRunner.py +0 -0
  38. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
  39. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKScheduler.py +0 -0
  40. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKSpreadsheets.py +0 -0
  41. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKTask.py +0 -0
  42. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PKUserRegistration.py +0 -0
  43. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Pktalib.py +0 -0
  44. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Portfolio.py +0 -0
  45. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/PortfolioXRay.py +0 -0
  46. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/ScreeningStatistics.py +0 -0
  47. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/StockScreener.py +0 -0
  48. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/StockSentiment.py +0 -0
  49. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
  50. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/Utility.py +0 -0
  51. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/WorkflowManager.py +0 -0
  52. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/classes/keys.py +0 -0
  53. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/courbd.ttf +0 -0
  54. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/globals.py +0 -0
  55. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/pkscreener.ini +0 -0
  56. {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.722.data}/purelib/pkscreener/pkscreenercli.py +0 -0
  57. {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.722.dist-info}/LICENSE +0 -0
  58. {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.722.dist-info}/WHEEL +0 -0
  59. {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.722.dist-info}/entry_points.txt +0 -0
  60. {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.722.dist-info}/top_level.txt +0 -0
@@ -328,15 +328,15 @@ After you have finished the run, go to that copied path, zip the contents of the
328
328
  [MADE-IN-INDIA-badge]: https://img.shields.io/badge/MADE%20WITH%20%E2%9D%A4%20IN-INDIA-orange
329
329
  [MADE-IN-INDIA]: https://en.wikipedia.org/wiki/India
330
330
  [Windows-badge]: https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white
331
- [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli.exe
331
+ [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli.exe
332
332
  [Linux-badge_x64]: https://img.shields.io/badge/Linux(x64)-FCC624?logo=linux&logoColor=black
333
- [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_x64.bin
333
+ [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_x64.bin
334
334
  [Linux-badge_arm64]: https://img.shields.io/badge/Linux(arm64)-FCC624?logo=linux&logoColor=black
335
- [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_arm64.bin
335
+ [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_arm64.bin
336
336
  [Mac OS-badge_x64]: https://img.shields.io/badge/mac%20os(x64)-D3D3D3?logo=apple&logoColor=000000
337
- [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_x64.run
337
+ [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_x64.run
338
338
  [Mac OS-badge_arm64]: https://img.shields.io/badge/mac%20os(arm64)-D3D3D3?logo=apple&logoColor=000000
339
- [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_arm64.run
339
+ [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_arm64.run
340
340
  [GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
341
341
  [GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
342
342
  [pypi-badge]: https://img.shields.io/pypi/v/pkscreener.svg?style=flat-square
@@ -0,0 +1 @@
1
+ VERSION='0.46.20250218.722'
@@ -165,6 +165,7 @@ PIPED_SCAN_SKIP_COMMAND_MENUS =["2", "3", "M", "0", "4"]
165
165
  PIPED_SCAN_SKIP_INDEX_MENUS =["W","N","E","S","0","Z","M","15"]
166
166
  UNSUPPORTED_COMMAND_MENUS =["22","M","Z","0",str(MAX_MENU_OPTION)]
167
167
  SUPPORTED_COMMAND_MENUS = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"]
168
+ user_states = {}
168
169
 
169
170
  def registerUser(user,forceFetch=False):
170
171
  otpValue, subsModel,subsValidity,alertUser = 0,0,None,None
@@ -213,6 +214,32 @@ def sanitiseTexts(text):
213
214
  return text[:MAX_MSG_LENGTH]
214
215
  return text
215
216
 
217
+ def updateSubscription(userid,subvalue,subtype = "add"):
218
+ workflow_name = "w18-workflow-sub-data.yml"
219
+ branch = "main"
220
+ updatedResults = None
221
+ try:
222
+ workflow_postData = (
223
+ '{"ref":"'
224
+ + branch
225
+ + '","inputs":{"userid":"'
226
+ + f"{userid}"
227
+ + '","subtype":"'
228
+ + f"{subtype}"
229
+ + '","subvalue":"'
230
+ + f"{subvalue}"
231
+ + '"}}'
232
+ )
233
+ ghp_token = PKEnvironment().allSecrets["PKG"]
234
+ resp = run_workflow(workflowType="O",repo="PKScreener",owner="pkjmesra",branch=branch,ghp_token=ghp_token,workflow_name=workflow_name,workflow_postData=workflow_postData)
235
+ if resp is not None and resp.status_code != 204:
236
+ updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
237
+ except Exception as e:
238
+ logger.error(e)
239
+ updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
240
+ pass
241
+ return updatedResults
242
+
216
243
  def matchUTR(update: Update, context: CallbackContext) -> str:
217
244
  global bot_available
218
245
  updateCarrier = None
@@ -250,27 +277,10 @@ def matchUTR(update: Update, context: CallbackContext) -> str:
250
277
  matchedTran = PKGmailReader.matchUTR(utr=args[0])
251
278
  if matchedTran is not None:
252
279
  updatedResults = f"We have found the following transaction for the provided UTR:\n{matchedTran}\n\nYour subscription is being enabled soon!\n\nPlease check with /OTP in the next couple of minutes!\n\nThank you for trusting PKScreener!"
253
- workflow_name = "w18-workflow-sub-data.yml"
254
- subtype = "add"
255
- userid = user.id
256
- branch = "main"
257
280
  try:
258
- subvalue = int(float(matchedTran.get("amountPaid")))
259
- workflow_postData = (
260
- '{"ref":"'
261
- + branch
262
- + '","inputs":{"userid":"'
263
- + f"{userid}"
264
- + '","subtype":"'
265
- + f"{subtype}"
266
- + '","subvalue":"'
267
- + f"{subvalue}"
268
- + '"}}'
269
- )
270
- ghp_token = PKEnvironment().allSecrets["PKG"]
271
- resp = run_workflow(workflowType="O",repo="PKScreener",owner="pkjmesra",branch=branch,ghp_token=ghp_token,workflow_name=workflow_name,workflow_postData=workflow_postData)
272
- if resp is not None and resp.status_code != 204:
273
- updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
281
+ results = updateSubscription(user.id,int(float(matchedTran.get("amountPaid"))))
282
+ if results is not None:
283
+ updatedResults = results
274
284
  except Exception as e:
275
285
  logger.error(e)
276
286
  updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
@@ -1296,9 +1306,22 @@ def handleHousekeeping(update: Update, context: CallbackContext) -> str:
1296
1306
  reply_markup = default_markup(user)
1297
1307
  dbMgr = DBManager()
1298
1308
  if selection == "GAU":
1299
- userIds = dbMgr.getUsers(fieldName="userId")
1300
- if userIds is not None:
1301
- menuText = f"Number of all registered users in the DB: {len(userIds)}"
1309
+ activeUsers = dbMgr.getUsers(fieldName="userId")
1310
+ if activeUsers is not None:
1311
+ menuText = f"Number of all registered users in the DB: {len(activeUsers)}"
1312
+ elif selection == "GAP":
1313
+ payingUsers = dbMgr.getPayingUsers()
1314
+ if payingUsers is not None and len(payingUsers) > 0:
1315
+ menuText = "Here are all the paying users:"
1316
+ menuText = f"{menuText}\n{"UserID".ljust(10,'#')} : {"Subs.".ljust(5,'#')} : {"Bal.".ljust(5,'#')}"
1317
+ for payingUser in payingUsers:
1318
+ menuText = f"{menuText}\n{str(payingUser.userid).ljust(10,'#')} : {str(payingUser.subscriptionmodel).ljust(5,'#')} : {str(payingUser.balance).ljust(5,'#')}"
1319
+ elif selection == "UUB":
1320
+ user_states[user.id] = f"{selection}_awaiting_input_1" # Set user state
1321
+ menuText = "Please enter a userID for whom to update balance:"
1322
+ elif selection in ["EUS", "DUS"]:
1323
+ user_states[user.id] = f"{selection}_awaiting_input_1" # Set user state
1324
+ menuText = "Please enter a userID for whom to update subscription:"
1302
1325
  elif selection == "GAS":
1303
1326
  scanners = dbMgr.scannerJobsWithActiveUsers()
1304
1327
  if scanners is not None:
@@ -2030,6 +2053,22 @@ def help_command(update: Update, context: CallbackContext) -> None:
2030
2053
  # Get user that sent /start and log his name
2031
2054
  user = updateCarrier.from_user
2032
2055
 
2056
+ if user.id in user_states and user.id == OWNER_USER:
2057
+ if "_awaiting_input_1" in user_states[user.id]:
2058
+ hskCmd = user_states[user.id].split("_")[0]
2059
+ user_states[user.id] = f"{hskCmd}_awaiting_input_2_{updateCarrier.text}"
2060
+ update.message.reply_text(f"{'Balance' if hskCmd == 'UUB' else 'Subscription'} to be updated for entered userID: {updateCarrier.text} ✅\nPlease enter the {'Balance' if hskCmd == 'UUB' else 'Subscription'} value:")
2061
+ return START_ROUTES
2062
+ elif "_awaiting_input_2_" in user_states[user.id]:
2063
+ hskCmd = user_states[user.id].split("_")[0]
2064
+ userID = user_states[user.id].split("_")[-1]
2065
+ results = updateSubscription(int(userID),float(updateCarrier.text),subtype="remove" if hskCmd=="DUS" else "add")
2066
+ if results is None:
2067
+ update.message.reply_text(f"✅ {'Balance' if hskCmd == 'UUB' else 'Subscription'} update for userID: {userID} with {'Balance' if hskCmd == 'UUB' else 'Subscription'} value: {updateCarrier.text} triggered!\nPlease check with Get Paying users in a few minutes!")
2068
+ # Clear user state
2069
+ del user_states[user.id]
2070
+ return START_ROUTES
2071
+
2033
2072
  cmds = m0.renderForMenu(
2034
2073
  selectedMenu=None,
2035
2074
  skip=TOP_LEVEL_SCANNER_SKIP_MENUS[:len(TOP_LEVEL_SCANNER_SKIP_MENUS)-1],
@@ -19,7 +19,7 @@ pandas_ta #>=0.3.14b0
19
19
  # and https://github.com/pyinstaller/pyinstaller/issues/7269
20
20
  pefile>=2023.2.7,<2024.8.26
21
21
  Pillow #>=9.5.0,<=9.5.0 # Keep at this version because getsize_multiline is deprecated/removed in higher versions
22
- PKDevTools>=0.13.20250126.235
22
+ PKDevTools>=0.13.20250126.236
23
23
  PKNSETools>=0.1.20250122.138
24
24
  Pyarrow #>=17.0.0
25
25
  pyppeteer #>=2.0.0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pkscreener
3
- Version: 0.46.20250218.719
3
+ Version: 0.46.20250218.722
4
4
  Summary: A Python-based stock screener for NSE, India with alerts to Telegram Channel (pkscreener)
5
5
  Home-page: https://github.com/pkjmesra/pkscreener
6
- Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250218.719.zip
6
+ Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250218.722.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -357,15 +357,15 @@ After you have finished the run, go to that copied path, zip the contents of the
357
357
  [MADE-IN-INDIA-badge]: https://img.shields.io/badge/MADE%20WITH%20%E2%9D%A4%20IN-INDIA-orange
358
358
  [MADE-IN-INDIA]: https://en.wikipedia.org/wiki/India
359
359
  [Windows-badge]: https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white
360
- [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli.exe
360
+ [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli.exe
361
361
  [Linux-badge_x64]: https://img.shields.io/badge/Linux(x64)-FCC624?logo=linux&logoColor=black
362
- [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_x64.bin
362
+ [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_x64.bin
363
363
  [Linux-badge_arm64]: https://img.shields.io/badge/Linux(arm64)-FCC624?logo=linux&logoColor=black
364
- [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_arm64.bin
364
+ [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_arm64.bin
365
365
  [Mac OS-badge_x64]: https://img.shields.io/badge/mac%20os(x64)-D3D3D3?logo=apple&logoColor=000000
366
- [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_x64.run
366
+ [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_x64.run
367
367
  [Mac OS-badge_arm64]: https://img.shields.io/badge/mac%20os(arm64)-D3D3D3?logo=apple&logoColor=000000
368
- [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/pkscreenercli_arm64.run
368
+ [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.720/pkscreenercli_arm64.run
369
369
  [GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
370
370
  [GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
371
371
  [pypi-badge]: https://img.shields.io/pypi/v/pkscreener.svg?style=flat-square
@@ -0,0 +1,58 @@
1
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
2
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
3
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
4
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
5
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/README.txt,sha256=xxut2IHVpbFj54R79QZtttfXRNr2OxYORWH0CU7iS5g,33085
6
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
7
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
8
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
9
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
10
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/pkscreenerbot.py,sha256=lra50FVasN3RTlpxOF3D3fxHkFy9PKl7h_mIE1lhCfg,119226
11
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
12
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/requirements.txt,sha256=IsiYZzO2RFIPoDOULBL5qJu7tq2sGdgKbpYt2L0xlBw,1503
13
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
14
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
15
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
16
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
17
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
18
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
19
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
20
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
21
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
22
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
23
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
24
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
25
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
26
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=--qQpmLt7XTljACGDWIIOZO01uWJpEbG78wyMRynTI4,22450
27
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
28
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
29
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
30
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
31
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
32
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
33
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
34
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
35
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
36
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
37
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
38
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
39
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
40
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
41
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
42
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
43
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
44
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
45
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
46
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
47
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
48
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
49
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
50
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
51
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/__init__.py,sha256=7sz-zrr_os6PXzCyhh27b9vLIKIX3eGanhIEs9VaPU8,28
52
+ pkscreener-0.46.20250218.722.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
53
+ pkscreener-0.46.20250218.722.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
54
+ pkscreener-0.46.20250218.722.dist-info/METADATA,sha256=XpICEu02fSA1HnYxppXHn7CQC6b8EGqs906KkjZNpfY,34107
55
+ pkscreener-0.46.20250218.722.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
56
+ pkscreener-0.46.20250218.722.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
57
+ pkscreener-0.46.20250218.722.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
58
+ pkscreener-0.46.20250218.722.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.46.20250218.719'
@@ -1,58 +0,0 @@
1
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
2
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
3
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
4
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
5
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/README.txt,sha256=ufEdmy2D1GRQ_jX1PDUWLw-ceXsFcKCOcBuk1ciUPuc,33085
6
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
7
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
8
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
9
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
10
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreenerbot.py,sha256=lbj8iheNtOAxrtDHKxh_QA-PBrIUuoEWobKxYqfAgxs,116861
11
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
12
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/requirements.txt,sha256=MRt1xjlgh8eFDf459OVS71QheZ-PnmQ1GyQg2wkJEGI,1503
13
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
14
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
15
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
16
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
17
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
18
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
19
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
20
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
21
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
22
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
23
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
24
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
25
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
26
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=--qQpmLt7XTljACGDWIIOZO01uWJpEbG78wyMRynTI4,22450
27
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
28
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
29
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
30
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
31
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
32
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
33
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
34
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
35
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
36
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
37
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
38
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
39
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
40
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
41
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
42
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
43
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
44
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
45
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
46
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
47
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
48
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
49
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
50
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
51
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/__init__.py,sha256=BCKw9m_4O-B4oUAvnHQRQqIFNijfHCIfzGHsmLLZJII,28
52
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
53
- pkscreener-0.46.20250218.719.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
54
- pkscreener-0.46.20250218.719.dist-info/METADATA,sha256=_Tvsq8b4M7G2c7p-e6ELFiyeVWb5aPzpqKZA9RZXD6E,34107
55
- pkscreener-0.46.20250218.719.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
56
- pkscreener-0.46.20250218.719.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
57
- pkscreener-0.46.20250218.719.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
58
- pkscreener-0.46.20250218.719.dist-info/RECORD,,