pkscreener 0.46.20250214.717__cp310-cp310-macosx_13_0_arm64.whl → 0.46.20250214.718__cp310-cp310-macosx_13_0_arm64.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.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/README.txt +5 -5
- pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/__init__.py +1 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/pkscreenerbot.py +73 -3
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/requirements.txt +2 -2
- {pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/METADATA +9 -9
- pkscreener-0.46.20250214.718.dist-info/RECORD +58 -0
- pkscreener-0.46.20250214.717.data/purelib/pkscreener/classes/__init__.py +0 -1
- pkscreener-0.46.20250214.717.dist-info/RECORD +0 -58
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/Disclaimer.txt +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/LICENSE-Others.txt +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/LICENSE.txt +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/LogoWM.txt +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/__init__.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ArtTexts.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/AssetsManager.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Backtest.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Barometer.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/BaseScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/CandlePatterns.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Changelog.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ConfigManager.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ConsoleMenuUtility.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ConsoleUtility.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Fetcher.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/GlobalStore.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ImageUtility.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/MarketMonitor.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/MarketStatus.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/MenuOptions.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Messenger.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/OtaUpdater.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKAnalytics.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKDataService.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKDemoHandler.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKPremiumHandler.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKScanRunner.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKScheduler.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKSpreadsheets.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKTask.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PKUserRegistration.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Pktalib.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Portfolio.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/PortfolioXRay.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/ScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/StockScreener.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/StockSentiment.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/Utility.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/WorkflowManager.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/classes/keys.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/courbd.ttf +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/globals.py +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/pkscreener.ini +0 -0
- {pkscreener-0.46.20250214.717.data → pkscreener-0.46.20250214.718.data}/purelib/pkscreener/pkscreenercli.py +0 -0
- {pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/LICENSE +0 -0
- {pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/WHEEL +0 -0
- {pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/entry_points.txt +0 -0
- {pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.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.717/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.717/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.717/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.717/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.717/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.718'
|
@@ -547,6 +547,64 @@ def PScanners(update: Update, context: CallbackContext) -> str:
|
|
547
547
|
registerUser(user)
|
548
548
|
return START_ROUTES
|
549
549
|
|
550
|
+
def addNewButtonsToReplyMarkup(reply_markup, buttonKeyTextDict={}):
|
551
|
+
# Get the existing inline keyboard
|
552
|
+
keyboard = reply_markup.inline_keyboard if reply_markup else []
|
553
|
+
inlineMenus = [] # Temporary list to hold a row of buttons
|
554
|
+
for key, value in buttonKeyTextDict.items():
|
555
|
+
inlineMenus.append(InlineKeyboardButton(f"{value}", callback_data=f"{key}"))
|
556
|
+
# Add row of 2 buttons when full
|
557
|
+
if len(inlineMenus) == 2:
|
558
|
+
keyboard.append(inlineMenus)
|
559
|
+
inlineMenus = [] # Reset row
|
560
|
+
# Append any remaining buttons (if not forming a full row)
|
561
|
+
if inlineMenus:
|
562
|
+
keyboard.append(inlineMenus)
|
563
|
+
return InlineKeyboardMarkup(keyboard)
|
564
|
+
|
565
|
+
def cancelAlertSubscription(update:Update,context:CallbackContext):
|
566
|
+
global bot_available
|
567
|
+
updatedResults= ""
|
568
|
+
updateCarrier = None
|
569
|
+
if update is None:
|
570
|
+
return
|
571
|
+
else:
|
572
|
+
if update.callback_query is not None:
|
573
|
+
updateCarrier = update.callback_query
|
574
|
+
if update.message is not None:
|
575
|
+
updateCarrier = update.message
|
576
|
+
if updateCarrier is None:
|
577
|
+
return
|
578
|
+
# Get user that sent /start and log his name
|
579
|
+
user = updateCarrier.from_user
|
580
|
+
scanId = updateCarrier.data.upper().replace("CAN_", "")
|
581
|
+
logger.info("User %s started the conversation.", user.first_name)
|
582
|
+
if not bot_available:
|
583
|
+
# Sometimes, either the payment does not go through or
|
584
|
+
# it takes time to process the last month's payment if
|
585
|
+
# done in the past 24 hours while the last date was today.
|
586
|
+
# If that happens, we won't be able to run bots or scanners
|
587
|
+
# without incurring heavy charges. Let's run in the
|
588
|
+
# unavailable mode instead until this gets fixed.
|
589
|
+
updatedResults = APOLOGY_TEXT
|
590
|
+
reply_markup=default_markup(user=user)
|
591
|
+
try:
|
592
|
+
dbManager = DBManager()
|
593
|
+
result = dbManager.removeScannerJob(user.id,scanId)
|
594
|
+
if result:
|
595
|
+
updatedResults = f"<b>{scanId}</b> has been successfully removed from your alert subscription(s). If you re-subscribe, the associated charges will be deducted from your alerts remaining balance. For any feedback, please reach out to @ItsOnlyPK. You can use the <b>Subscriptions</b> button below to check/view your existing subscriptions. We thank you for your support and trust! Keep exploring!"
|
596
|
+
else:
|
597
|
+
updatedResults = f"We encountered some <b>error</b> while trying to remove <b>{scanId}</b> from your alert subscription(s). Please try again or reach out to @ItsOnlyPK with feedback. If you re-subscribe, the associated charges will be deducted from your alerts remaining balance. You can use the <b>Subscriptions</b> button below to check/view your existing subscriptions. We thank you for your support and trust! Keep exploring!"
|
598
|
+
if hasattr(updateCarrier, "reply_text"):
|
599
|
+
updateCarrier.reply_text(text=sanitiseTexts(updatedResults), reply_markup=reply_markup,parse_mode="HTML")
|
600
|
+
elif hasattr(updateCarrier, "edit_message_text"):
|
601
|
+
editMessageText(query=updateCarrier,editedText=sanitiseTexts(updatedResults),reply_markup=reply_markup)
|
602
|
+
shareUpdateWithChannel(update=update, context=context, optionChoices=f"/CAN_{scanId}_{user.id}\n{updatedResults}")
|
603
|
+
except Exception as e: # pragma: no cover
|
604
|
+
logger.error(e)
|
605
|
+
pass
|
606
|
+
return START_ROUTES
|
607
|
+
|
550
608
|
def viewSubscriptionOptions(update:Update,context:CallbackContext,sendOTP=False):
|
551
609
|
global bot_available
|
552
610
|
updateCarrier = None
|
@@ -572,6 +630,7 @@ def viewSubscriptionOptions(update:Update,context:CallbackContext,sendOTP=False)
|
|
572
630
|
# unavailable mode instead until this gets fixed.
|
573
631
|
updatedResults = APOLOGY_TEXT
|
574
632
|
|
633
|
+
reply_markup=default_markup(user=user)
|
575
634
|
if bot_available:
|
576
635
|
try:
|
577
636
|
otpValue = 0
|
@@ -581,7 +640,8 @@ def viewSubscriptionOptions(update:Update,context:CallbackContext,sendOTP=False)
|
|
581
640
|
scannerJobsSubscribed = ""
|
582
641
|
if alertUser is not None and len(alertUser.scannerJobs) > 0:
|
583
642
|
scannerJobsSubscribed = ", ".join(alertUser.scannerJobs)
|
584
|
-
scannerJobsSubscribed
|
643
|
+
if len(scannerJobsSubscribed) > 0:
|
644
|
+
scannerJobsSubscribed = f"Subscribed to [{scannerJobsSubscribed}]"
|
585
645
|
except Exception as e: # pragma: no cover
|
586
646
|
logger.error(e)
|
587
647
|
pass
|
@@ -609,10 +669,19 @@ def viewSubscriptionOptions(update:Update,context:CallbackContext,sendOTP=False)
|
|
609
669
|
updatedResults = f"Please use the following to login to PKScreener:\n{userText}\n<b>OTP</b> : <code>{otpValue}</code>\n\nCurrent subscription : <b>{subscriptionModelName}</b>.\nCurrent alerts balance: <b>₹ {alertUser.balance if alertUser is not None else 0}</b> {scannerJobsSubscribed}. {subscriptionModelNames}"
|
610
670
|
else:
|
611
671
|
updatedResults = f"Current subscription: <b>{subscriptionModelName}</b>.\nCurrent alerts balance: <b>₹ {alertUser.balance if alertUser is not None else 0}</b> {scannerJobsSubscribed}. {subscriptionModelNames}"
|
672
|
+
|
673
|
+
#Add new buttons with alert subscription options to cancel
|
674
|
+
if alertUser is not None and len(alertUser.scannerJobs) > 0:
|
675
|
+
buttonDict = {}
|
676
|
+
for scannerJob in alertUser.scannerJobs:
|
677
|
+
if len(scannerJob) > 0:
|
678
|
+
buttonDict[f"CAN_{scannerJob}"] = f"Stop {scannerJob} 🔔"
|
679
|
+
reply_markup = addNewButtonsToReplyMarkup(reply_markup,buttonDict)
|
680
|
+
|
612
681
|
if hasattr(updateCarrier, "reply_text"):
|
613
|
-
updateCarrier.reply_text(text=sanitiseTexts(updatedResults), reply_markup=
|
682
|
+
updateCarrier.reply_text(text=sanitiseTexts(updatedResults), reply_markup=reply_markup,parse_mode="HTML")
|
614
683
|
elif hasattr(updateCarrier, "edit_message_text"):
|
615
|
-
editMessageText(query=updateCarrier,editedText=sanitiseTexts(updatedResults),reply_markup=
|
684
|
+
editMessageText(query=updateCarrier,editedText=sanitiseTexts(updatedResults),reply_markup=reply_markup)
|
616
685
|
shareUpdateWithChannel(update=update, context=context, optionChoices=f"/otp\n{updatedResults}")
|
617
686
|
return START_ROUTES
|
618
687
|
|
@@ -2114,6 +2183,7 @@ def runpkscreenerbot(availability=True) -> None:
|
|
2114
2183
|
CallbackQueryHandler(Level2, pattern="^" + str("CP_")),
|
2115
2184
|
CallbackQueryHandler(subscribeToScannerAlerts, pattern="^" + str("SUB_")),
|
2116
2185
|
CallbackQueryHandler(viewSubscriptionOptions, pattern="^" + str("VS_")),
|
2186
|
+
CallbackQueryHandler(cancelAlertSubscription, pattern="^" + str("CAN_")),
|
2117
2187
|
# CallbackQueryHandler(Level2, pattern="^" + str("CG_")),
|
2118
2188
|
CallbackQueryHandler(end, pattern="^" + str("CZ") + "$"),
|
2119
2189
|
CallbackQueryHandler(start, pattern="^"),
|
@@ -19,8 +19,8 @@ pandas_ta #>=0.3.14b0
|
|
19
19
|
# and https://github.com/pyinstaller/pyinstaller/issues/7269
|
20
20
|
pefile>=2023.2.7,<2024.8.26
|
21
21
|
Pillow #>=9.5.0,<=9.5.0 # Keep at this version because getsize_multiline is deprecated/removed in higher versions
|
22
|
-
PKDevTools>=0.13.20250126.
|
23
|
-
PKNSETools>=0.1.20250122.
|
22
|
+
PKDevTools>=0.13.20250126.235
|
23
|
+
PKNSETools>=0.1.20250122.138
|
24
24
|
Pyarrow #>=17.0.0
|
25
25
|
pyppeteer #>=2.0.0
|
26
26
|
pytz #>=2024.2
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pkscreener
|
3
|
-
Version: 0.46.20250214.
|
3
|
+
Version: 0.46.20250214.718
|
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.718.zip
|
7
7
|
Author: pkjmesra
|
8
8
|
Author-email: pkjmesra@gmail.com
|
9
9
|
License: OSI Approved (MIT)
|
@@ -33,8 +33,8 @@ Requires-Dist: pandas
|
|
33
33
|
Requires-Dist: pandas-ta
|
34
34
|
Requires-Dist: pefile <2024.8.26,>=2023.2.7
|
35
35
|
Requires-Dist: Pillow
|
36
|
-
Requires-Dist: PKDevTools >=0.13.20250126.
|
37
|
-
Requires-Dist: PKNSETools >=0.1.20250122.
|
36
|
+
Requires-Dist: PKDevTools >=0.13.20250126.235
|
37
|
+
Requires-Dist: PKNSETools >=0.1.20250122.138
|
38
38
|
Requires-Dist: Pyarrow
|
39
39
|
Requires-Dist: pyppeteer
|
40
40
|
Requires-Dist: pytz
|
@@ -380,15 +380,15 @@ After you have finished the run, go to that copied path, zip the contents of the
|
|
380
380
|
[MADE-IN-INDIA-badge]: https://img.shields.io/badge/MADE%20WITH%20%E2%9D%A4%20IN-INDIA-orange
|
381
381
|
[MADE-IN-INDIA]: https://en.wikipedia.org/wiki/India
|
382
382
|
[Windows-badge]: https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white
|
383
|
-
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
383
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.717/pkscreenercli.exe
|
384
384
|
[Linux-badge_x64]: https://img.shields.io/badge/Linux(x64)-FCC624?logo=linux&logoColor=black
|
385
|
-
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
385
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.717/pkscreenercli_x64.bin
|
386
386
|
[Linux-badge_arm64]: https://img.shields.io/badge/Linux(arm64)-FCC624?logo=linux&logoColor=black
|
387
|
-
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
387
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.717/pkscreenercli_arm64.bin
|
388
388
|
[Mac OS-badge_x64]: https://img.shields.io/badge/mac%20os(x64)-D3D3D3?logo=apple&logoColor=000000
|
389
|
-
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
389
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.717/pkscreenercli_x64.run
|
390
390
|
[Mac OS-badge_arm64]: https://img.shields.io/badge/mac%20os(arm64)-D3D3D3?logo=apple&logoColor=000000
|
391
|
-
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.
|
391
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250214.717/pkscreenercli_arm64.run
|
392
392
|
[GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
|
393
393
|
[GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
|
394
394
|
[pypi-badge]: https://img.shields.io/pypi/v/pkscreener.svg?style=flat-square
|
@@ -0,0 +1,58 @@
|
|
1
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/Disclaimer.txt,sha256=kBZQSQCFfL2kc1bijXWndZzkjMTtnpH_B7XtDPPMcuw,1396
|
2
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/LICENSE-Others.txt,sha256=WBslRYLBoqYg-vr25sS1c_UI7cuUnsGk0nIQLBzTWEE,271830
|
3
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/LICENSE.txt,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
4
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
|
5
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/README.txt,sha256=zaXpAy3bI9KFJQt0v_98G0_OTVBMu2KZHnRLkiyg4Bg,32701
|
6
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/__init__.py,sha256=aZ62qYACxsU8m8_5JkzNzos1lVFNcMGPRMgeddnUUiQ,1633
|
7
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
|
8
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/globals.py,sha256=bIj3LBnbiGvVYidOF0sohg19jHTEkAavrGYaYFyBPhM,240829
|
9
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/pkscreener.ini,sha256=QKs6j4qhyH37L_MdG3ztAIwgqs4c3qihuqDIoex-V2g,2391
|
10
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/pkscreenerbot.py,sha256=br4hCHdOYqck0nO4FS2ApQ43wH8DydAEFja0ExOovIM,111801
|
11
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/pkscreenercli.py,sha256=WEVXfcZdeogWZBY3CWtRYyFrmQa5BEEZedKLlMwCM5U,56999
|
12
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/requirements.txt,sha256=FN4W519f9djXoatr7VpWIbrwQUMmHvMvXO54_0SG2w8,1457
|
13
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ArtTexts.py,sha256=LZ8ynyS8woliv8bM9Nq4aU0VCoJDJU0FgZk8V5zYPmg,19504
|
14
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/AssetsManager.py,sha256=SutbAZ4JiGhzN0tzfa9vNpHdW6alSL67Jz-knPPcqBw,33706
|
15
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Backtest.py,sha256=wobBQgqVQhFNZlyJ2hgMXQqofrICc_3F0I5D66DUvGI,10530
|
16
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Barometer.py,sha256=WPrgtIXb1nIbb-FnuRs-yvOQ5baNQRBgUR_zWg1moxk,9464
|
17
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=u5t1wf-HsZ8xEtprON55ehIR3F2LNNq8LvwgIrhYRmU,3000
|
18
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=gaswU2OeDa3JXjEafR2clUpKW5v8_1_tJuNPuTWsAss,17066
|
19
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Changelog.py,sha256=vUOpca28OACNhavAmjBm4xco3u6fcHqWlnlmCJqO5Lk,1469
|
20
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ConfigManager.py,sha256=THcfBgua5hr1Pv7AwEDBu2yurCNteGM04jY3Fr_MeBg,53565
|
21
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=fyR7dEsAaEWEe5SyaVgwLPdU4h4pI8SozUhsPZXShpg,10037
|
22
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=TrEnTT4pmsBpEYdwD2oAtNqNG_drPe1LVkhthP2540I,12096
|
23
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Fetcher.py,sha256=WWX9_NO3JTw6_1Z9SqPm4Nj-4Uy_4PPYEMVyD5FLnVo,12336
|
24
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/GlobalStore.py,sha256=IzoYMybXpVVf6YwZi7j34rP-hNd7sMened8TAMu_-A8,3709
|
25
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ImageUtility.py,sha256=mgJUzjrOKQ1mYV5P_ylhBnaF7ZgOO6ogjy22Rt49TNI,37032
|
26
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=GQOPLuUhgcrnVa0mI8ZvXqQ4vPFW00FHW_vMfICnko8,22079
|
27
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/MarketStatus.py,sha256=dNg8znbRpt7ID3U_1nmclD4zSLtveJeYeRbS0l6HLtE,3737
|
28
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/MenuOptions.py,sha256=iZb0zBs7lcP60cmuP7Z5xmXfNtTFcFH6ZWOuoileErE,64552
|
29
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Messenger.py,sha256=peyY-YiqdC1bp-3DlJXILRa9HGYbqGVzf1wil0fYv98,8396
|
30
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=_7-nFAC-vAcmZ1Nwi5g5tfp7hKQQPuLUnBCOzrwC39g,13491
|
31
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=_X-2OFw2yQVmXlEIRsnBVNy9fhYyxqt0BOqADD4v08U,5246
|
32
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKDataService.py,sha256=BipM8Z4rS6h12cF6VWv_u4Z8ee7psMFd1yUojejW1Ag,3393
|
33
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=r4KrZF8TaOu1J0nu8sUsgWEvnbndboWQQvz69GOy1Fk,2207
|
34
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=T7S0DRv4Tqg77S5CyTWQUgpIAtx0NEtSVAplkynS2YM,33833
|
35
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=r16-u9fyc0ftgnSnZnz-JusTfEzyQIyKkvgbPuSd7W4,5611
|
36
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=EPLo2euBMfA9omnqrr5pXv2h9KzTcPZM-PXRFI26LSo,26791
|
37
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=h19ZuxoalB50pnZjntFh12b9mBozvMqhKYq6TL18vo4,1657
|
38
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKScheduler.py,sha256=qThoz0yXLmHEWAiD_TdkIrzJb37b_m830JJFrkN1Tio,8814
|
39
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=1I7YGGPPY879K5JeTZ_d1FNCpjloh6TZrx91JlwT20o,8298
|
40
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKTask.py,sha256=4q87uD2cXvp0AbP6I73xPP39F0mfnpHQutsxxqpnxJM,1867
|
41
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=ZbnPzgvT5Je9X0Dm6bewSp8u7Fj_szNucaYnit_AtCg,11465
|
42
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Pktalib.py,sha256=xketnpMVDGHOFg47LFavaU-agWy370VanYWyzzuLY8c,33386
|
43
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Portfolio.py,sha256=JZ93n3Zk9nkSFaX-lHyQiFnavHVmHPFoy-L_4gugj54,13895
|
44
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=4MjXqBAVUlfN4w5tTmgEnQGMoy0hFu_uaVgrmai1fN4,48339
|
45
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LteoSl8r4mI2GMvVKAmdmzMe-Axy3jeyNAaIsgp48s4,221101
|
46
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/StockScreener.py,sha256=F0SWa1DSTgYdSWnkPTR9kmOKgHLtaqNMCtJP8yZkDnE,67252
|
47
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/StockSentiment.py,sha256=WL7TBAHDSIN5cgZ9uTbbEFnUPo4G-YIzEv16RpPGaro,3546
|
48
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=_fTCscTLEjoU-n12V9237uDN6Jf8nGCvGdBVkpD3Ap4,4947
|
49
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/Utility.py,sha256=Cn_QrVH40rQWkHW2e2NolE0b18qszvGXfVLdwAqD7sM,13562
|
50
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=d0_QiVfai65axe4Oi_h2XUkPyx_wWfiofZd_gMtNAwY,5632
|
51
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/__init__.py,sha256=K7IWpgyLVwEQTUhJXK35poUNOFheF_w5e4jBdM113EY,28
|
52
|
+
pkscreener-0.46.20250214.718.data/purelib/pkscreener/classes/keys.py,sha256=LQq_t1lSh0x4TbRCIDhoCil3xctgLLeVk5f2vgrl1tk,6789
|
53
|
+
pkscreener-0.46.20250214.718.dist-info/LICENSE,sha256=CdnyGrl-xRYX67ZkdERZWHr6BlTxOyg8Z8sK1XQ5Xsg,1078
|
54
|
+
pkscreener-0.46.20250214.718.dist-info/METADATA,sha256=r7JHWShxiYi0-KH5UEWwulE8T6RJiffn5DeWquGJm8o,34391
|
55
|
+
pkscreener-0.46.20250214.718.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
|
56
|
+
pkscreener-0.46.20250214.718.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
|
57
|
+
pkscreener-0.46.20250214.718.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
|
58
|
+
pkscreener-0.46.20250214.718.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
VERSION='0.46.20250214.717'
|
@@ -1,58 +0,0 @@
|
|
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=9SdjQX8zLJ3HlBlt-clSsRniKkukeUVgSBV6AW50FUg,34391
|
55
|
-
pkscreener-0.46.20250214.717.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
|
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,,
|
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.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/entry_points.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250214.717.dist-info → pkscreener-0.46.20250214.718.dist-info}/top_level.txt
RENAMED
File without changes
|