pkscreener 0.46.20250214.716__cp312-cp312-win_amd64.whl → 0.46.20250214.717__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.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/README.txt +5 -5
  2. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MarketMonitor.py +13 -6
  3. pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/__init__.py +1 -0
  4. {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/METADATA +7 -7
  5. pkscreener-0.46.20250214.717.dist-info/RECORD +58 -0
  6. pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/__init__.py +0 -1
  7. pkscreener-0.46.20250214.716.dist-info/RECORD +0 -58
  8. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/Disclaimer.txt +0 -0
  9. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LICENSE-Others.txt +0 -0
  10. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LICENSE.txt +0 -0
  11. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LogoWM.txt +0 -0
  12. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/__init__.py +0 -0
  13. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ArtTexts.py +0 -0
  14. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/AssetsManager.py +0 -0
  15. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Backtest.py +0 -0
  16. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Barometer.py +0 -0
  17. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/BaseScreeningStatistics.py +0 -0
  18. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/CandlePatterns.py +0 -0
  19. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Changelog.py +0 -0
  20. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConfigManager.py +0 -0
  21. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConsoleMenuUtility.py +0 -0
  22. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConsoleUtility.py +0 -0
  23. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Fetcher.py +0 -0
  24. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/GlobalStore.py +0 -0
  25. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ImageUtility.py +0 -0
  26. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MarketStatus.py +0 -0
  27. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MenuOptions.py +0 -0
  28. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Messenger.py +0 -0
  29. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/OtaUpdater.py +0 -0
  30. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKAnalytics.py +0 -0
  31. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKDataService.py +0 -0
  32. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKDemoHandler.py +0 -0
  33. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
  34. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKPremiumHandler.py +0 -0
  35. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScanRunner.py +0 -0
  36. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
  37. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScheduler.py +0 -0
  38. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKSpreadsheets.py +0 -0
  39. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKTask.py +0 -0
  40. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKUserRegistration.py +0 -0
  41. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Pktalib.py +0 -0
  42. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Portfolio.py +0 -0
  43. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PortfolioXRay.py +0 -0
  44. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ScreeningStatistics.py +0 -0
  45. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/StockScreener.py +0 -0
  46. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/StockSentiment.py +0 -0
  47. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
  48. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Utility.py +0 -0
  49. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/WorkflowManager.py +0 -0
  50. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/keys.py +0 -0
  51. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/courbd.ttf +0 -0
  52. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/globals.py +0 -0
  53. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreener.ini +0 -0
  54. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreenerbot.py +0 -0
  55. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreenercli.py +0 -0
  56. {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/requirements.txt +0 -0
  57. {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/LICENSE +0 -0
  58. {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/WHEEL +0 -0
  59. {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/entry_points.txt +0 -0
  60. {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.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.715/pkscreenercli.exe
331
+ [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_x64.bin
333
+ [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_arm64.bin
335
+ [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_x64.run
337
+ [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_arm64.run
339
+ [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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
@@ -54,7 +54,7 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
54
54
  self.alertOptions = alertOptions
55
55
  self.hiddenColumns = ""
56
56
  self.alertStocks = []
57
- self.firstAlertTriggered = False
57
+ self.alertedStocks = {}
58
58
  self.pinnedIntervalWaitSeconds = pinnedIntervalWaitSeconds
59
59
  # self.monitorNames = {}
60
60
  # We are going to present the dataframes in a 3x3 matrix with limited set of columns
@@ -66,7 +66,10 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
66
66
  self.maxNumResultsPerRow = maxNumResultsPerRow
67
67
  maxColIndex = self.maxNumColsInEachResult * self.maxNumResultsPerRow - 1
68
68
  self.lines = 0
69
+ monIndex = 0
69
70
  for monitorKey in self.monitors:
71
+ self.alertedStocks[str(monIndex)] = []
72
+ monIndex += 1
70
73
  self.monitorPositions[monitorKey] = [rowIndex,colIndex]
71
74
  # self.monitorNames[monitorKey] = ""
72
75
  colIndex += self.maxNumColsInEachResult
@@ -96,6 +99,8 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
96
99
 
97
100
  def saveMonitorResultStocks(self, results_df):
98
101
  try:
102
+ if len(self.alertedStocks.keys()) < self.monitorIndex+1: # for pytests
103
+ self.alertedStocks[str(self.monitorIndex)] = []
99
104
  self.alertStocks = []
100
105
  lastSavedResults = self.monitorResultStocks[str(self.monitorIndex)]
101
106
  lastSavedResults = lastSavedResults.split(",")
@@ -114,9 +119,12 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
114
119
  addedStocks = list(set(prevOutput_results.split(',')) - set(lastSavedResults)) # Elements in new df but not in the saved df
115
120
  if len(self.alertStocks) != len(addedStocks) and len(addedStocks) > 0:
116
121
  self.alertStocks = addedStocks
117
- diffAlerts = list(set(self.alertStocks) - set(addedStocks))
122
+ diffAlerts = list(set(self.alertStocks) - set(self.alertedStocks[str(self.monitorIndex)]))
118
123
  if len(diffAlerts) > 0:
119
- self.alertStocks = addedStocks
124
+ self.alertStocks = diffAlerts
125
+ self.alertedStocks[str(self.monitorIndex)].extend(diffAlerts)
126
+ else:
127
+ self.alertStocks = []
120
128
  if len(addedStocks) > 0:
121
129
  self.monitorResultStocks[str(self.monitorIndex)] = prevOutput_results
122
130
 
@@ -268,11 +276,11 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
268
276
  if telegram:
269
277
  self.updateIfRunningInTelegramBotMode(screenOptions, chosenMenu, dbTimestamp, telegram, telegram_df)
270
278
  else:
271
- if ((screenOptions in self.alertOptions and numRecords > 3) or len(self.alertStocks) > 0 or not self.firstAlertTriggered): # Alert conditions met? Sound alert!
279
+ if ((screenOptions in self.alertOptions and numRecords > 3) or len(self.alertStocks) > 0): # Alert conditions met? Sound alert!
272
280
  # numRecords is actually new lines. Top 3 lines are only headers
273
281
  if telegram_df is not None:
274
282
  telegram_df.reset_index(inplace=True)
275
- notify_df = telegram_df[telegram_df["Stock"].isin(self.alertStocks)] if self.firstAlertTriggered else telegram_df
283
+ notify_df = telegram_df[telegram_df["Stock"].isin(self.alertStocks)]
276
284
  notify_df = notify_df[["Stock","LTP","Ch%","Vol"]].head(50)
277
285
  if len(notify_df) > 0:
278
286
  notify_output = self.updateIfRunningInTelegramBotMode(screenOptions, chosenMenu, dbTimestamp, False, notify_df,maxcolwidths=None)
@@ -280,7 +288,6 @@ class MarketMonitor(SingletonMixin, metaclass=SingletonType):
280
288
  from PKDevTools.classes.pubsub.publisher import PKUserService
281
289
  from PKDevTools.classes.pubsub.subscriber import notification_service
282
290
  PKUserService().notify_user(scannerID=self.getScanOptionName(screenOptions),notification=notify_output)
283
- self.firstAlertTriggered = True
284
291
  # notify_df = self.monitor_df.reindex(self.alertStocks) # Includes missing stocks, if any. Returns NaN for such cases
285
292
  Utility.tools.alertSound(beeps=5)
286
293
  sleep(self.pinnedIntervalWaitSeconds)
@@ -0,0 +1 @@
1
+ VERSION='0.46.20250214.717'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pkscreener
3
- Version: 0.46.20250214.716
3
+ Version: 0.46.20250214.717
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.20250214.716.zip
6
+ Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250214.717.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.715/pkscreenercli.exe
360
+ [Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_x64.bin
362
+ [Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_arm64.bin
364
+ [Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_x64.run
366
+ [Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.715/pkscreenercli_arm64.run
368
+ [Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/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.20250214.717.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
2
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
3
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
4
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
5
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/README.txt,sha256=m34HJO8WLL5QE2RzTDxdJcvZie5_22p8XRfVc3iQ1Yo,33085
6
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
7
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
8
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
9
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
10
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreenerbot.py,sha256=UudYgPFr0yrp4PqSyqWZxw2L2jQMHXCFgOygvOxQ9B0,109998
11
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
12
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/requirements.txt,sha256=TJVfdV2FVMH2KO5lPX_i1PrMOLFRtFMzGDsbhElMqJI,1503
13
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
14
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
15
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
16
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
17
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
18
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
19
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
20
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
21
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
22
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
23
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
24
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
25
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
26
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=--qQpmLt7XTljACGDWIIOZO01uWJpEbG78wyMRynTI4,22450
27
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
28
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
29
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
30
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
31
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
32
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
33
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
34
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
35
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
36
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
37
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
38
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
39
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
40
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
41
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
42
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
43
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
44
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
45
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
46
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
47
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
48
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
49
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
50
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
51
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/__init__.py,sha256=j-ZTQTwkIiHG2HMtTelpshbpgpH93IJzViV75Q5DwM0,28
52
+ pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
53
+ pkscreener-0.46.20250214.717.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
54
+ pkscreener-0.46.20250214.717.dist-info/METADATA,sha256=Ko7FHknxuG12SrKHYyY_IzZ9BJK95FEOEG0aul4Bq4M,34107
55
+ pkscreener-0.46.20250214.717.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
56
+ pkscreener-0.46.20250214.717.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
57
+ pkscreener-0.46.20250214.717.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
58
+ pkscreener-0.46.20250214.717.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.46.20250214.716'
@@ -1,58 +0,0 @@
1
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
2
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
3
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
4
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
5
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/README.txt,sha256=Q-j3aiQ1vOEtNgDkrxfbxnsMhmhG87GM_tJHRFkJ7U4,33085
6
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
7
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
8
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
9
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
10
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreenerbot.py,sha256=UudYgPFr0yrp4PqSyqWZxw2L2jQMHXCFgOygvOxQ9B0,109998
11
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
12
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/requirements.txt,sha256=TJVfdV2FVMH2KO5lPX_i1PrMOLFRtFMzGDsbhElMqJI,1503
13
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
14
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
15
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
16
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
17
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
18
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
19
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
20
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
21
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
22
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
23
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
24
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
25
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
26
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=m_fKqZ5_BhZYGTCsnO81FFerrfDzyrLWILnD_aed5V8,22180
27
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
28
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
29
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
30
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
31
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
32
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
33
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
34
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
35
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
36
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
37
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
38
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
39
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
40
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
41
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
42
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
43
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
44
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
45
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
46
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
47
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
48
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
49
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
50
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
51
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/__init__.py,sha256=RKCuCWX5EoEWDwiTjiaJtbcL_tu8vFQnrlxK-Kt9zW8,28
52
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
53
- pkscreener-0.46.20250214.716.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
54
- pkscreener-0.46.20250214.716.dist-info/METADATA,sha256=7mF19cgH-4IZ55UeCWatIHoMK2nZVtr0LJlLjk_pbSc,34107
55
- pkscreener-0.46.20250214.716.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
56
- pkscreener-0.46.20250214.716.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
57
- pkscreener-0.46.20250214.716.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
58
- pkscreener-0.46.20250214.716.dist-info/RECORD,,