pkscreener 0.46.20250214.718__tar.gz → 0.46.20250218.719__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.20250214.718 → pkscreener-0.46.20250218.719}/PKG-INFO +7 -7
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/README.md +5 -5
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/README.txt +5 -5
- pkscreener-0.46.20250218.719/pkscreener/classes/__init__.py +1 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/pkscreenerbot.py +69 -3
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/PKG-INFO +7 -7
- pkscreener-0.46.20250214.718/pkscreener/classes/__init__.py +0 -1
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/LICENSE +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/Disclaimer.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/LICENSE-Others.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/LICENSE.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/LogoWM.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/__init__.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ArtTexts.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/AssetsManager.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Backtest.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Barometer.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/BaseScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/CandlePatterns.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Changelog.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ConfigManager.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ConsoleMenuUtility.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ConsoleUtility.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Fetcher.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/GlobalStore.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ImageUtility.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MarketMonitor.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MarketStatus.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MenuOptions.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Messenger.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/OtaUpdater.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKAnalytics.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKDataService.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKDemoHandler.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKPremiumHandler.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKScanRunner.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKScheduler.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKSpreadsheets.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKTask.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKUserRegistration.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Pktalib.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Portfolio.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PortfolioXRay.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/StockScreener.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/StockSentiment.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Utility.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/WorkflowManager.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/keys.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/courbd.ttf +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/globals.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/pkscreener.ini +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/pkscreenercli.py +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/requirements.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/SOURCES.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/dependency_links.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/entry_points.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/not-zip-safe +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/requires.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/top_level.txt +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/setup.cfg +0 -0
- {pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/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.20250218.719
|
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.20250218.719.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.718/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.718/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.718/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.718/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.718/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.20250214.
|
331
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/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.718/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.718/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.718/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.718/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.20250214.
|
331
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.718/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.718/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.718/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.718/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.718/pkscreenercli_arm64.run
|
340
340
|
[GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
|
341
341
|
[GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
|
342
342
|
[pypi-badge]: https://img.shields.io/pypi/v/pkscreener.svg?style=flat-square
|
@@ -0,0 +1 @@
|
|
1
|
+
VERSION='0.46.20250218.719'
|
@@ -1271,6 +1271,48 @@ def Level2(update: Update, context: CallbackContext) -> str:
|
|
1271
1271
|
registerUser(user)
|
1272
1272
|
return START_ROUTES
|
1273
1273
|
|
1274
|
+
def handleHousekeeping(update: Update, context: CallbackContext) -> str:
|
1275
|
+
updateCarrier = None
|
1276
|
+
menuText = "Not implemented yet..."
|
1277
|
+
shouldSendUpdate = False
|
1278
|
+
if update is None:
|
1279
|
+
return
|
1280
|
+
else:
|
1281
|
+
if update.callback_query is not None:
|
1282
|
+
updateCarrier = update.callback_query
|
1283
|
+
if update.message is not None:
|
1284
|
+
updateCarrier = update.message
|
1285
|
+
if updateCarrier is None:
|
1286
|
+
return
|
1287
|
+
# Get user that sent /start and log his name
|
1288
|
+
user = updateCarrier.from_user
|
1289
|
+
query = update.callback_query
|
1290
|
+
query.answer()
|
1291
|
+
preSelection = (query.data.upper().replace("C", ""))
|
1292
|
+
selection = preSelection.split("_")[1]
|
1293
|
+
if query is None:
|
1294
|
+
start(update, context)
|
1295
|
+
return START_ROUTES
|
1296
|
+
reply_markup = default_markup(user)
|
1297
|
+
dbMgr = DBManager()
|
1298
|
+
if selection == "GAU":
|
1299
|
+
userIds = dbMgr.getUsers(fieldName="userId")
|
1300
|
+
if userIds is not None:
|
1301
|
+
menuText = f"Number of all registered users in the DB: {len(userIds)}"
|
1302
|
+
elif selection == "GAS":
|
1303
|
+
scanners = dbMgr.scannerJobsWithActiveUsers()
|
1304
|
+
if scanners is not None:
|
1305
|
+
if len(scanners) > 0:
|
1306
|
+
menuText = f"Number of all scans running today in the DB: {len(scanners)}"
|
1307
|
+
for scanner in scanners:
|
1308
|
+
scanID = scanner.scannerId
|
1309
|
+
subUsers = ", ".join(scanner.userIds)
|
1310
|
+
menuText = f"{menuText}\nScanner: {scanID} : Users: {subUsers}"
|
1311
|
+
else:
|
1312
|
+
menuText = "No users are subscribed for alerts today!"
|
1313
|
+
editMessageText(query=query,editedText=menuText,reply_markup=reply_markup)
|
1314
|
+
return START_ROUTES
|
1315
|
+
|
1274
1316
|
def default_markup(user=None,monitorIndex=0):
|
1275
1317
|
mns = m0.renderForMenu(selectedMenu=None,
|
1276
1318
|
skip=TOP_LEVEL_SCANNER_SKIP_MENUS[:len(TOP_LEVEL_SCANNER_SKIP_MENUS)-1],
|
@@ -1279,14 +1321,22 @@ def default_markup(user=None,monitorIndex=0):
|
|
1279
1321
|
)
|
1280
1322
|
if (PKDateUtilities.isTradingTime() and not PKDateUtilities.isTodayHoliday()[0]) or ("PKDevTools_Default_Log_Level" in os.environ.keys()) or sys.argv[0].endswith(".py"):
|
1281
1323
|
mns.append(menu().create(f"MI_{monitorIndex}", "👩💻 🚀 Intraday Monitor", 2))
|
1324
|
+
hskMenus = []
|
1282
1325
|
if user is not None and user.username == OWNER_USER:
|
1283
|
-
|
1284
|
-
|
1326
|
+
hskMenus.append(menu().create(f"DV_0", ("✅ Enable Logging" if not configManager.logsEnabled else "🚫 Disable Logging"), 2))
|
1327
|
+
hskMenus.append(menu().create(f"DV_1", "🔄 Restart Bot", 2))
|
1328
|
+
hskMenus.append(menu().create(f"HSK_GAU", "Get Active Users", 2))
|
1329
|
+
hskMenus.append(menu().create(f"HSK_GAP", "Get Paying Users", 2))
|
1330
|
+
hskMenus.append(menu().create(f"HSK_GAS", "Get Alerting Users", 2))
|
1331
|
+
hskMenus.append(menu().create(f"HSK_EUS", "Enable User Subs", 2))
|
1332
|
+
hskMenus.append(menu().create(f"HSK_DUS", "Disable User Subs", 2))
|
1333
|
+
hskMenus.append(menu().create(f"HSK_UUB", "Update User Balance", 2))
|
1334
|
+
|
1285
1335
|
keyboard = []
|
1286
1336
|
inlineMenus = []
|
1287
1337
|
lastRowMenus = []
|
1288
1338
|
rowIndex = 0
|
1289
|
-
iconDict = {"X":"🕵️♂️ 🔍 ","B":"📈 🎯 ","P":"🧨 💥 ","MI":"","DV":"","VS":"🔔 📣 ","start":"🟢 🏁 "}
|
1339
|
+
iconDict = {"X":"🕵️♂️ 🔍 ","B":"📈 🎯 ","P":"🧨 💥 ","MI":"","DV":"","VS":"🔔 📣 ","start":"🟢 🏁 ", "HS":"🕵️♂️ "}
|
1290
1340
|
for mnu in mns:
|
1291
1341
|
if mnu.menuKey[0:2] in TOP_LEVEL_SCANNER_MENUS:
|
1292
1342
|
rowIndex +=1
|
@@ -1314,6 +1364,21 @@ def default_markup(user=None,monitorIndex=0):
|
|
1314
1364
|
if len(inlineMenus) > 0:
|
1315
1365
|
keyboard.append(inlineMenus)
|
1316
1366
|
keyboard.append(lastRowMenus)
|
1367
|
+
rowIndex = 0
|
1368
|
+
inlineMenus = []
|
1369
|
+
for hskMenu in hskMenus:
|
1370
|
+
rowIndex +=1
|
1371
|
+
inlineMenus.append(
|
1372
|
+
InlineKeyboardButton(
|
1373
|
+
iconDict.get(str(hskMenu.menuKey[0:2])) + hskMenu.menuText.split("(")[0],
|
1374
|
+
callback_data="C" + str(hskMenu.menuKey),
|
1375
|
+
)
|
1376
|
+
)
|
1377
|
+
if rowIndex % 2 == 0:
|
1378
|
+
keyboard.append(inlineMenus)
|
1379
|
+
inlineMenus = []
|
1380
|
+
if len(inlineMenus) > 0:
|
1381
|
+
keyboard.append(inlineMenus)
|
1317
1382
|
reply_markup = InlineKeyboardMarkup(keyboard)
|
1318
1383
|
return reply_markup
|
1319
1384
|
|
@@ -2184,6 +2249,7 @@ def runpkscreenerbot(availability=True) -> None:
|
|
2184
2249
|
CallbackQueryHandler(subscribeToScannerAlerts, pattern="^" + str("SUB_")),
|
2185
2250
|
CallbackQueryHandler(viewSubscriptionOptions, pattern="^" + str("VS_")),
|
2186
2251
|
CallbackQueryHandler(cancelAlertSubscription, pattern="^" + str("CAN_")),
|
2252
|
+
CallbackQueryHandler(handleHousekeeping, pattern="^" + str("CHSK_")),
|
2187
2253
|
# CallbackQueryHandler(Level2, pattern="^" + str("CG_")),
|
2188
2254
|
CallbackQueryHandler(end, pattern="^" + str("CZ") + "$"),
|
2189
2255
|
CallbackQueryHandler(start, pattern="^"),
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: pkscreener
|
3
|
-
Version: 0.46.
|
3
|
+
Version: 0.46.20250218.719
|
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.20250218.719.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.718/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.718/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.718/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.718/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.718/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.20250214.718'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ArtTexts.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/AssetsManager.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Backtest.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Barometer.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/CandlePatterns.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Changelog.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ConfigManager.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ConsoleUtility.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/GlobalStore.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/ImageUtility.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MarketMonitor.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MarketStatus.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/MenuOptions.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Messenger.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/OtaUpdater.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKAnalytics.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKDataService.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKDemoHandler.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKPremiumHandler.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKScanRunner.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKScheduler.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PKSpreadsheets.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/Portfolio.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/PortfolioXRay.py
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/StockScreener.py
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener/classes/StockSentiment.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/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.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/entry_points.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/not-zip-safe
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/requires.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250214.718 → pkscreener-0.46.20250218.719}/pkscreener.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|