pkscreener 0.46.20250213.712__tar.gz → 0.46.20250214.715__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/PKG-INFO +7 -7
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/README.md +5 -5
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/README.txt +5 -5
- pkscreener-0.46.20250214.715/pkscreener/classes/__init__.py +1 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/pkscreenerbot.py +22 -8
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/PKG-INFO +7 -7
- pkscreener-0.46.20250213.712/pkscreener/classes/__init__.py +0 -1
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/LICENSE +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/Disclaimer.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/LICENSE-Others.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/LICENSE.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/LogoWM.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/__init__.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ArtTexts.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/AssetsManager.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Backtest.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Barometer.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/BaseScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/CandlePatterns.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Changelog.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ConfigManager.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ConsoleMenuUtility.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ConsoleUtility.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Fetcher.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/GlobalStore.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ImageUtility.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MarketMonitor.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MarketStatus.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MenuOptions.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Messenger.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/OtaUpdater.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKAnalytics.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKDataService.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKDemoHandler.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKPremiumHandler.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKScanRunner.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKScheduler.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKSpreadsheets.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKTask.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKUserRegistration.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Pktalib.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Portfolio.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PortfolioXRay.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/StockScreener.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/StockSentiment.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Utility.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/WorkflowManager.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/keys.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/courbd.ttf +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/globals.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/pkscreener.ini +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/pkscreenercli.py +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/requirements.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/SOURCES.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/dependency_links.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/entry_points.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/not-zip-safe +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/requires.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/top_level.txt +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/setup.cfg +0 -0
- {pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/setup.py +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: pkscreener
|
3
|
-
Version: 0.46.
|
3
|
+
Version: 0.46.20250214.715
|
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.
|
6
|
+
Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250214.715.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.
|
395
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
397
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
399
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
401
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
403
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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
|
@@ -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.
|
331
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
333
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
335
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
337
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
339
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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
|
@@ -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.
|
331
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
333
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
335
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
337
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
339
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.20250214.715'
|
@@ -172,7 +172,7 @@ def registerUser(user,forceFetch=False):
|
|
172
172
|
dbManager = DBManager()
|
173
173
|
otpValue, subsModel,subsValidity,alertUser = dbManager.getOTP(user.id,user.username,f"{user.first_name} {user.last_name}",validityIntervalInSeconds=configManager.otpInterval)
|
174
174
|
if str(otpValue).strip() != '0' and user.id not in PKLocalCache().registeredIDs:
|
175
|
-
PKLocalCache().registeredIDs.append(
|
175
|
+
PKLocalCache().registeredIDs.append(user.id)
|
176
176
|
return otpValue, subsModel,subsValidity,alertUser
|
177
177
|
|
178
178
|
def loadRegisteredUsers():
|
@@ -181,6 +181,13 @@ def loadRegisteredUsers():
|
|
181
181
|
userIDs = [user.userid for user in users]
|
182
182
|
PKLocalCache().registeredIDs.extend(userIDs)
|
183
183
|
|
184
|
+
def isInMarketHours():
|
185
|
+
now = PKDateUtilities.currentDateTime()
|
186
|
+
marketStartTime = PKDateUtilities.currentDateTime(simulate=True,hour=MarketHours().openHour,minute=MarketHours().openMinute)
|
187
|
+
marketCloseTime = PKDateUtilities.currentDateTime(simulate=True,hour=MarketHours().closeHour,minute=MarketHours().closeMinute)
|
188
|
+
# We are in between market open and close hours
|
189
|
+
return not PKDateUtilities.isTodayHoliday()[0] and now >= marketStartTime and now <= marketCloseTime
|
190
|
+
|
184
191
|
def initializeIntradayTimer():
|
185
192
|
try:
|
186
193
|
if (not PKDateUtilities.isTodayHoliday()[0]):
|
@@ -651,14 +658,14 @@ def subscribeToScannerAlerts(update: Update, context: CallbackContext) -> str:
|
|
651
658
|
if len(alertUser.scannerJobs) > 0:
|
652
659
|
# User is already subscribed to some alerts
|
653
660
|
if str(scanId) in alertUser.scannerJobs:
|
654
|
-
menuText = f"You are already subscribed to {scanId} ! Alerts will be delivered as and when they are raised."
|
655
|
-
kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance)
|
661
|
+
menuText = f"You are already subscribed to {scanId} ! Alerts will be delivered as and when they are raised during market hours on a market-open day. <b>You need to subscribe every morning for any spcific alert.</b>"
|
662
|
+
kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance,alertUser)
|
656
663
|
else:
|
657
664
|
if alertUser.balance < requiredBalance:
|
658
665
|
# Insufficient balance
|
659
666
|
menuText = f"You need at least <b>₹ {requiredBalance}</b> to subscribe to <b>{scanId} alerts for a day</b> ! Your current balance <b>₹ {alertUser.balance}</b> is <b>insufficient</b>. {payWall}"
|
660
667
|
else:
|
661
|
-
menuText = kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance)
|
668
|
+
menuText = kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance,alertUser)
|
662
669
|
|
663
670
|
elif alertUser is None or alertUser.balance == 0:
|
664
671
|
# Either user is not subscribed or has 0 balance
|
@@ -668,17 +675,24 @@ def subscribeToScannerAlerts(update: Update, context: CallbackContext) -> str:
|
|
668
675
|
editMessageText(query=query,editedText=sanitiseTexts(menuText),reply_markup=default_markup(user=user))
|
669
676
|
return START_ROUTES
|
670
677
|
|
671
|
-
def kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance):
|
678
|
+
def kickOffScannerJobIfNotKickedOff(scanId,user,dbManager,requiredBalance,alertUser):
|
672
679
|
# Sufficient balance to subscribe to scanId
|
673
680
|
needsNewJobKickedOff = False
|
674
681
|
menuText = ""
|
682
|
+
subscribed = False
|
675
683
|
subscribedUsers = dbManager.usersForScannerJobId(scannerJobId=scanId)
|
676
|
-
|
684
|
+
isMarketOpen = True
|
685
|
+
try:
|
686
|
+
isMarketOpen = isInMarketHours()
|
687
|
+
except:
|
688
|
+
pass
|
689
|
+
if subscribedUsers is None or len(subscribedUsers) == 0 and isMarketOpen:
|
677
690
|
# This is the first user who's requesting this scanner
|
678
691
|
needsNewJobKickedOff = True
|
679
|
-
|
692
|
+
if alertUser is None or str(scanId) not in alertUser.scannerJobs:
|
693
|
+
subscribed = dbManager.updateAlertSubscriptionModel(user.id,requiredBalance,scanId)
|
680
694
|
if subscribed:
|
681
|
-
menuText = f"You have been added to receive the alerts for {scanId}
|
695
|
+
menuText = f"You have been added to receive the alerts for <b>{scanId}</b>. Please note that it is valid only for today during Market Hours and resets right after that. <b>You will need to re-subscribe again if you need it on the next market open day</b>. Thank you for trusting PKScreener!"
|
682
696
|
if needsNewJobKickedOff:
|
683
697
|
run_workflow(f"{scanId}_{user.id}", str(user.id), f'--systemlaunched -a y -m {str(scanId).upper().replace("_",":")}', workflowType="S")
|
684
698
|
else:
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: pkscreener
|
3
|
-
Version: 0.46.
|
3
|
+
Version: 0.46.20250214.715
|
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.
|
6
|
+
Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250214.715.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.
|
395
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
397
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
399
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
401
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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.
|
403
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.714/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
|
@@ -1 +0,0 @@
|
|
1
|
-
VERSION='0.46.20250213.712'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ArtTexts.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/AssetsManager.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Backtest.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Barometer.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/CandlePatterns.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Changelog.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ConfigManager.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ConsoleUtility.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/GlobalStore.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/ImageUtility.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MarketMonitor.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MarketStatus.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/MenuOptions.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Messenger.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/OtaUpdater.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKAnalytics.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKDataService.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKDemoHandler.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKPremiumHandler.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKScanRunner.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKScheduler.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PKSpreadsheets.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/Portfolio.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/PortfolioXRay.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/StockScreener.py
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/StockSentiment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener/classes/WorkflowManager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/entry_points.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/not-zip-safe
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/requires.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250213.712 → pkscreener-0.46.20250214.715}/pkscreener.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|