pkscreener 0.46.20250214.716__cp312-cp312-manylinux2014_x86_64.whl → 0.46.20250214.717__cp312-cp312-manylinux2014_x86_64.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.
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/README.txt +5 -5
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MarketMonitor.py +13 -6
- pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/__init__.py +1 -0
- {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/METADATA +7 -7
- pkscreener-0.46.20250214.717.dist-info/RECORD +58 -0
- pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/__init__.py +0 -1
- pkscreener-0.46.20250214.716.dist-info/RECORD +0 -58
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/Disclaimer.txt +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LICENSE-Others.txt +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LICENSE.txt +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/LogoWM.txt +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/__init__.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ArtTexts.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/AssetsManager.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Backtest.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Barometer.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/BaseScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/CandlePatterns.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Changelog.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConfigManager.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConsoleMenuUtility.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ConsoleUtility.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Fetcher.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/GlobalStore.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ImageUtility.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MarketStatus.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/MenuOptions.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Messenger.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/OtaUpdater.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKAnalytics.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKDataService.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKDemoHandler.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKPremiumHandler.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScanRunner.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKScheduler.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKSpreadsheets.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKTask.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PKUserRegistration.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Pktalib.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Portfolio.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/PortfolioXRay.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/ScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/StockScreener.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/StockSentiment.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/Utility.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/WorkflowManager.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/classes/keys.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/courbd.ttf +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/globals.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreener.ini +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreenerbot.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/pkscreenercli.py +0 -0
- {pkscreener-0.46.20250214.716.data → pkscreener-0.46.20250214.717.data}/purelib/pkscreener/requirements.txt +0 -0
- {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/LICENSE +0 -0
- {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/WHEEL +0 -0
- {pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/entry_points.txt +0 -0
- {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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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(
|
122
|
+
diffAlerts = list(set(self.alertStocks) - set(self.alertedStocks[str(self.monitorIndex)]))
|
118
123
|
if len(diffAlerts) > 0:
|
119
|
-
self.alertStocks =
|
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
|
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)]
|
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.
|
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.
|
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)
|
@@ -392,15 +392,15 @@ After you have finished the run, go to that copied path, zip the contents of the
|
|
392
392
|
[MADE-IN-INDIA-badge]: https://img.shields.io/badge/MADE%20WITH%20%E2%9D%A4%20IN-INDIA-orange
|
393
393
|
[MADE-IN-INDIA]: https://en.wikipedia.org/wiki/India
|
394
394
|
[Windows-badge]: https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white
|
395
|
-
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
395
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/pkscreenercli.exe
|
396
396
|
[Linux-badge_x64]: https://img.shields.io/badge/Linux(x64)-FCC624?logo=linux&logoColor=black
|
397
|
-
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
397
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/pkscreenercli_x64.bin
|
398
398
|
[Linux-badge_arm64]: https://img.shields.io/badge/Linux(arm64)-FCC624?logo=linux&logoColor=black
|
399
|
-
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
399
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/pkscreenercli_arm64.bin
|
400
400
|
[Mac OS-badge_x64]: https://img.shields.io/badge/mac%20os(x64)-D3D3D3?logo=apple&logoColor=000000
|
401
|
-
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
401
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/pkscreenercli_x64.run
|
402
402
|
[Mac OS-badge_arm64]: https://img.shields.io/badge/mac%20os(arm64)-D3D3D3?logo=apple&logoColor=000000
|
403
|
-
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
403
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.716/pkscreenercli_arm64.run
|
404
404
|
[GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
|
405
405
|
[GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
|
406
406
|
[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=kBZQSQCFfL2kc1bijXWndZzkjMTtnpH_B7XtDPPMcuw,1396
|
2
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/LICENSE-Others.txt,sha256=WBslRYLBoqYg-vr25sS1c_UI7cuUnsGk0nIQLBzTWEE,271830
|
3
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/LICENSE.txt,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
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=9Ur4uRS0U0R9d_L5RNeoJWopu5v72NbPWSWAzeLGOJQ,32701
|
6
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/__init__.py,sha256=aZ62qYACxsU8m8_5JkzNzos1lVFNcMGPRMgeddnUUiQ,1633
|
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=bIj3LBnbiGvVYidOF0sohg19jHTEkAavrGYaYFyBPhM,240829
|
9
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreener.ini,sha256=QKs6j4qhyH37L_MdG3ztAIwgqs4c3qihuqDIoex-V2g,2391
|
10
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreenerbot.py,sha256=u6WovcJo97PAmoMfZYMmooj9SClH1OLeRPprvxcf0_0,107840
|
11
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/pkscreenercli.py,sha256=WEVXfcZdeogWZBY3CWtRYyFrmQa5BEEZedKLlMwCM5U,56999
|
12
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/requirements.txt,sha256=kgq4lh06feiOI8JlIM3PjZlnO6DW1RsM9q-tXeXjtNE,1457
|
13
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ArtTexts.py,sha256=LZ8ynyS8woliv8bM9Nq4aU0VCoJDJU0FgZk8V5zYPmg,19504
|
14
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/AssetsManager.py,sha256=SutbAZ4JiGhzN0tzfa9vNpHdW6alSL67Jz-knPPcqBw,33706
|
15
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Backtest.py,sha256=wobBQgqVQhFNZlyJ2hgMXQqofrICc_3F0I5D66DUvGI,10530
|
16
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Barometer.py,sha256=WPrgtIXb1nIbb-FnuRs-yvOQ5baNQRBgUR_zWg1moxk,9464
|
17
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=u5t1wf-HsZ8xEtprON55ehIR3F2LNNq8LvwgIrhYRmU,3000
|
18
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=gaswU2OeDa3JXjEafR2clUpKW5v8_1_tJuNPuTWsAss,17066
|
19
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Changelog.py,sha256=vUOpca28OACNhavAmjBm4xco3u6fcHqWlnlmCJqO5Lk,1469
|
20
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConfigManager.py,sha256=THcfBgua5hr1Pv7AwEDBu2yurCNteGM04jY3Fr_MeBg,53565
|
21
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=fyR7dEsAaEWEe5SyaVgwLPdU4h4pI8SozUhsPZXShpg,10037
|
22
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=TrEnTT4pmsBpEYdwD2oAtNqNG_drPe1LVkhthP2540I,12096
|
23
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Fetcher.py,sha256=WWX9_NO3JTw6_1Z9SqPm4Nj-4Uy_4PPYEMVyD5FLnVo,12336
|
24
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/GlobalStore.py,sha256=IzoYMybXpVVf6YwZi7j34rP-hNd7sMened8TAMu_-A8,3709
|
25
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ImageUtility.py,sha256=mgJUzjrOKQ1mYV5P_ylhBnaF7ZgOO6ogjy22Rt49TNI,37032
|
26
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=GQOPLuUhgcrnVa0mI8ZvXqQ4vPFW00FHW_vMfICnko8,22079
|
27
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MarketStatus.py,sha256=dNg8znbRpt7ID3U_1nmclD4zSLtveJeYeRbS0l6HLtE,3737
|
28
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/MenuOptions.py,sha256=iZb0zBs7lcP60cmuP7Z5xmXfNtTFcFH6ZWOuoileErE,64552
|
29
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Messenger.py,sha256=peyY-YiqdC1bp-3DlJXILRa9HGYbqGVzf1wil0fYv98,8396
|
30
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=_7-nFAC-vAcmZ1Nwi5g5tfp7hKQQPuLUnBCOzrwC39g,13491
|
31
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=_X-2OFw2yQVmXlEIRsnBVNy9fhYyxqt0BOqADD4v08U,5246
|
32
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKDataService.py,sha256=BipM8Z4rS6h12cF6VWv_u4Z8ee7psMFd1yUojejW1Ag,3393
|
33
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=r4KrZF8TaOu1J0nu8sUsgWEvnbndboWQQvz69GOy1Fk,2207
|
34
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=T7S0DRv4Tqg77S5CyTWQUgpIAtx0NEtSVAplkynS2YM,33833
|
35
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=r16-u9fyc0ftgnSnZnz-JusTfEzyQIyKkvgbPuSd7W4,5611
|
36
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=EPLo2euBMfA9omnqrr5pXv2h9KzTcPZM-PXRFI26LSo,26791
|
37
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=h19ZuxoalB50pnZjntFh12b9mBozvMqhKYq6TL18vo4,1657
|
38
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKScheduler.py,sha256=qThoz0yXLmHEWAiD_TdkIrzJb37b_m830JJFrkN1Tio,8814
|
39
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=1I7YGGPPY879K5JeTZ_d1FNCpjloh6TZrx91JlwT20o,8298
|
40
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKTask.py,sha256=4q87uD2cXvp0AbP6I73xPP39F0mfnpHQutsxxqpnxJM,1867
|
41
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=ZbnPzgvT5Je9X0Dm6bewSp8u7Fj_szNucaYnit_AtCg,11465
|
42
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Pktalib.py,sha256=xketnpMVDGHOFg47LFavaU-agWy370VanYWyzzuLY8c,33386
|
43
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Portfolio.py,sha256=JZ93n3Zk9nkSFaX-lHyQiFnavHVmHPFoy-L_4gugj54,13895
|
44
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=4MjXqBAVUlfN4w5tTmgEnQGMoy0hFu_uaVgrmai1fN4,48339
|
45
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LteoSl8r4mI2GMvVKAmdmzMe-Axy3jeyNAaIsgp48s4,221101
|
46
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/StockScreener.py,sha256=F0SWa1DSTgYdSWnkPTR9kmOKgHLtaqNMCtJP8yZkDnE,67252
|
47
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/StockSentiment.py,sha256=WL7TBAHDSIN5cgZ9uTbbEFnUPo4G-YIzEv16RpPGaro,3546
|
48
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=_fTCscTLEjoU-n12V9237uDN6Jf8nGCvGdBVkpD3Ap4,4947
|
49
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/Utility.py,sha256=Cn_QrVH40rQWkHW2e2NolE0b18qszvGXfVLdwAqD7sM,13562
|
50
|
+
pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=d0_QiVfai65axe4Oi_h2XUkPyx_wWfiofZd_gMtNAwY,5632
|
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=LQq_t1lSh0x4TbRCIDhoCil3xctgLLeVk5f2vgrl1tk,6789
|
53
|
+
pkscreener-0.46.20250214.717.dist-info/LICENSE,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
54
|
+
pkscreener-0.46.20250214.717.dist-info/METADATA,sha256=SsnOIjsTy2E8weFp49m83VRAFkQSGlSZ5DTfe668g1k,34639
|
55
|
+
pkscreener-0.46.20250214.717.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
|
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=kBZQSQCFfL2kc1bijXWndZzkjMTtnpH_B7XtDPPMcuw,1396
|
2
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/LICENSE-Others.txt,sha256=WBslRYLBoqYg-vr25sS1c_UI7cuUnsGk0nIQLBzTWEE,271830
|
3
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/LICENSE.txt,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
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=Sdojt4vgUX-n5yfkNhqDCSyeDWrQDUF-vs_einfsIdo,32701
|
6
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/__init__.py,sha256=aZ62qYACxsU8m8_5JkzNzos1lVFNcMGPRMgeddnUUiQ,1633
|
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=bIj3LBnbiGvVYidOF0sohg19jHTEkAavrGYaYFyBPhM,240829
|
9
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreener.ini,sha256=QKs6j4qhyH37L_MdG3ztAIwgqs4c3qihuqDIoex-V2g,2391
|
10
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreenerbot.py,sha256=u6WovcJo97PAmoMfZYMmooj9SClH1OLeRPprvxcf0_0,107840
|
11
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/pkscreenercli.py,sha256=WEVXfcZdeogWZBY3CWtRYyFrmQa5BEEZedKLlMwCM5U,56999
|
12
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/requirements.txt,sha256=kgq4lh06feiOI8JlIM3PjZlnO6DW1RsM9q-tXeXjtNE,1457
|
13
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ArtTexts.py,sha256=LZ8ynyS8woliv8bM9Nq4aU0VCoJDJU0FgZk8V5zYPmg,19504
|
14
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/AssetsManager.py,sha256=SutbAZ4JiGhzN0tzfa9vNpHdW6alSL67Jz-knPPcqBw,33706
|
15
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Backtest.py,sha256=wobBQgqVQhFNZlyJ2hgMXQqofrICc_3F0I5D66DUvGI,10530
|
16
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Barometer.py,sha256=WPrgtIXb1nIbb-FnuRs-yvOQ5baNQRBgUR_zWg1moxk,9464
|
17
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=u5t1wf-HsZ8xEtprON55ehIR3F2LNNq8LvwgIrhYRmU,3000
|
18
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=gaswU2OeDa3JXjEafR2clUpKW5v8_1_tJuNPuTWsAss,17066
|
19
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Changelog.py,sha256=vUOpca28OACNhavAmjBm4xco3u6fcHqWlnlmCJqO5Lk,1469
|
20
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConfigManager.py,sha256=THcfBgua5hr1Pv7AwEDBu2yurCNteGM04jY3Fr_MeBg,53565
|
21
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=fyR7dEsAaEWEe5SyaVgwLPdU4h4pI8SozUhsPZXShpg,10037
|
22
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=TrEnTT4pmsBpEYdwD2oAtNqNG_drPe1LVkhthP2540I,12096
|
23
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Fetcher.py,sha256=WWX9_NO3JTw6_1Z9SqPm4Nj-4Uy_4PPYEMVyD5FLnVo,12336
|
24
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/GlobalStore.py,sha256=IzoYMybXpVVf6YwZi7j34rP-hNd7sMened8TAMu_-A8,3709
|
25
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ImageUtility.py,sha256=mgJUzjrOKQ1mYV5P_ylhBnaF7ZgOO6ogjy22Rt49TNI,37032
|
26
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=LFCJhmS90nymwdnBk9mdrz23krR3hosH2XQ6NutRtZQ,21816
|
27
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MarketStatus.py,sha256=dNg8znbRpt7ID3U_1nmclD4zSLtveJeYeRbS0l6HLtE,3737
|
28
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/MenuOptions.py,sha256=iZb0zBs7lcP60cmuP7Z5xmXfNtTFcFH6ZWOuoileErE,64552
|
29
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Messenger.py,sha256=peyY-YiqdC1bp-3DlJXILRa9HGYbqGVzf1wil0fYv98,8396
|
30
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=_7-nFAC-vAcmZ1Nwi5g5tfp7hKQQPuLUnBCOzrwC39g,13491
|
31
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=_X-2OFw2yQVmXlEIRsnBVNy9fhYyxqt0BOqADD4v08U,5246
|
32
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKDataService.py,sha256=BipM8Z4rS6h12cF6VWv_u4Z8ee7psMFd1yUojejW1Ag,3393
|
33
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=r4KrZF8TaOu1J0nu8sUsgWEvnbndboWQQvz69GOy1Fk,2207
|
34
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=T7S0DRv4Tqg77S5CyTWQUgpIAtx0NEtSVAplkynS2YM,33833
|
35
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=r16-u9fyc0ftgnSnZnz-JusTfEzyQIyKkvgbPuSd7W4,5611
|
36
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=EPLo2euBMfA9omnqrr5pXv2h9KzTcPZM-PXRFI26LSo,26791
|
37
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=h19ZuxoalB50pnZjntFh12b9mBozvMqhKYq6TL18vo4,1657
|
38
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKScheduler.py,sha256=qThoz0yXLmHEWAiD_TdkIrzJb37b_m830JJFrkN1Tio,8814
|
39
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=1I7YGGPPY879K5JeTZ_d1FNCpjloh6TZrx91JlwT20o,8298
|
40
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKTask.py,sha256=4q87uD2cXvp0AbP6I73xPP39F0mfnpHQutsxxqpnxJM,1867
|
41
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=ZbnPzgvT5Je9X0Dm6bewSp8u7Fj_szNucaYnit_AtCg,11465
|
42
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Pktalib.py,sha256=xketnpMVDGHOFg47LFavaU-agWy370VanYWyzzuLY8c,33386
|
43
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Portfolio.py,sha256=JZ93n3Zk9nkSFaX-lHyQiFnavHVmHPFoy-L_4gugj54,13895
|
44
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=4MjXqBAVUlfN4w5tTmgEnQGMoy0hFu_uaVgrmai1fN4,48339
|
45
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LteoSl8r4mI2GMvVKAmdmzMe-Axy3jeyNAaIsgp48s4,221101
|
46
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/StockScreener.py,sha256=F0SWa1DSTgYdSWnkPTR9kmOKgHLtaqNMCtJP8yZkDnE,67252
|
47
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/StockSentiment.py,sha256=WL7TBAHDSIN5cgZ9uTbbEFnUPo4G-YIzEv16RpPGaro,3546
|
48
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=_fTCscTLEjoU-n12V9237uDN6Jf8nGCvGdBVkpD3Ap4,4947
|
49
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/Utility.py,sha256=Cn_QrVH40rQWkHW2e2NolE0b18qszvGXfVLdwAqD7sM,13562
|
50
|
-
pkscreener-0.46.20250214.716.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=d0_QiVfai65axe4Oi_h2XUkPyx_wWfiofZd_gMtNAwY,5632
|
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=LQq_t1lSh0x4TbRCIDhoCil3xctgLLeVk5f2vgrl1tk,6789
|
53
|
-
pkscreener-0.46.20250214.716.dist-info/LICENSE,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
54
|
-
pkscreener-0.46.20250214.716.dist-info/METADATA,sha256=ZCqDFMgPLvbqmCzma6DoStOyLBK1x423ZL4QbBZG3RE,34639
|
55
|
-
pkscreener-0.46.20250214.716.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/entry_points.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250214.716.dist-info → pkscreener-0.46.20250214.717.dist-info}/top_level.txt
RENAMED
File without changes
|