pkscreener 0.46.20250218.719__cp312-cp312-win_amd64.whl → 0.46.20250218.720__cp312-cp312-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/README.txt +5 -5
- pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/__init__.py +1 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/pkscreenerbot.py +62 -23
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/requirements.txt +1 -1
- {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/METADATA +7 -7
- pkscreener-0.46.20250218.720.dist-info/RECORD +58 -0
- pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/__init__.py +0 -1
- pkscreener-0.46.20250218.719.dist-info/RECORD +0 -58
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/Disclaimer.txt +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/LICENSE-Others.txt +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/LICENSE.txt +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/LogoWM.txt +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/__init__.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ArtTexts.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/AssetsManager.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Backtest.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Barometer.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/BaseScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/CandlePatterns.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Changelog.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ConfigManager.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ConsoleMenuUtility.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ConsoleUtility.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Fetcher.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/GlobalStore.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ImageUtility.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/MarketMonitor.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/MarketStatus.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/MenuOptions.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Messenger.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/OtaUpdater.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKAnalytics.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKDataService.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKDemoHandler.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKPremiumHandler.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKScanRunner.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKScheduledTaskProgress.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKScheduler.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKSpreadsheets.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKTask.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PKUserRegistration.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Pktalib.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Portfolio.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/PortfolioXRay.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/ScreeningStatistics.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/StockScreener.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/StockSentiment.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/UserMenuChoicesHandler.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/Utility.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/WorkflowManager.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/classes/keys.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/courbd.ttf +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/globals.py +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/pkscreener.ini +0 -0
- {pkscreener-0.46.20250218.719.data → pkscreener-0.46.20250218.720.data}/purelib/pkscreener/pkscreenercli.py +0 -0
- {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/LICENSE +0 -0
- {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/WHEEL +0 -0
- {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/entry_points.txt +0 -0
- {pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.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.
|
331
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/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.20250218.719/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.20250218.719/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.20250218.719/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.20250218.719/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.720'
|
@@ -165,6 +165,7 @@ PIPED_SCAN_SKIP_COMMAND_MENUS =["2", "3", "M", "0", "4"]
|
|
165
165
|
PIPED_SCAN_SKIP_INDEX_MENUS =["W","N","E","S","0","Z","M","15"]
|
166
166
|
UNSUPPORTED_COMMAND_MENUS =["22","M","Z","0",str(MAX_MENU_OPTION)]
|
167
167
|
SUPPORTED_COMMAND_MENUS = ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"]
|
168
|
+
user_states = {}
|
168
169
|
|
169
170
|
def registerUser(user,forceFetch=False):
|
170
171
|
otpValue, subsModel,subsValidity,alertUser = 0,0,None,None
|
@@ -213,6 +214,32 @@ def sanitiseTexts(text):
|
|
213
214
|
return text[:MAX_MSG_LENGTH]
|
214
215
|
return text
|
215
216
|
|
217
|
+
def updateSubscription(userid,subvalue,subtype = "add"):
|
218
|
+
workflow_name = "w18-workflow-sub-data.yml"
|
219
|
+
branch = "main"
|
220
|
+
updatedResults = None
|
221
|
+
try:
|
222
|
+
workflow_postData = (
|
223
|
+
'{"ref":"'
|
224
|
+
+ branch
|
225
|
+
+ '","inputs":{"userid":"'
|
226
|
+
+ f"{userid}"
|
227
|
+
+ '","subtype":"'
|
228
|
+
+ f"{subtype}"
|
229
|
+
+ '","subvalue":"'
|
230
|
+
+ f"{subvalue}"
|
231
|
+
+ '"}}'
|
232
|
+
)
|
233
|
+
ghp_token = PKEnvironment().allSecrets["PKG"]
|
234
|
+
resp = run_workflow(workflowType="O",repo="PKScreener",owner="pkjmesra",branch=branch,ghp_token=ghp_token,workflow_name=workflow_name,workflow_postData=workflow_postData)
|
235
|
+
if resp is not None and resp.status_code != 204:
|
236
|
+
updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
|
237
|
+
except Exception as e:
|
238
|
+
logger.error(e)
|
239
|
+
updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
|
240
|
+
pass
|
241
|
+
return updatedResults
|
242
|
+
|
216
243
|
def matchUTR(update: Update, context: CallbackContext) -> str:
|
217
244
|
global bot_available
|
218
245
|
updateCarrier = None
|
@@ -250,27 +277,10 @@ def matchUTR(update: Update, context: CallbackContext) -> str:
|
|
250
277
|
matchedTran = PKGmailReader.matchUTR(utr=args[0])
|
251
278
|
if matchedTran is not None:
|
252
279
|
updatedResults = f"We have found the following transaction for the provided UTR:\n{matchedTran}\n\nYour subscription is being enabled soon!\n\nPlease check with /OTP in the next couple of minutes!\n\nThank you for trusting PKScreener!"
|
253
|
-
workflow_name = "w18-workflow-sub-data.yml"
|
254
|
-
subtype = "add"
|
255
|
-
userid = user.id
|
256
|
-
branch = "main"
|
257
280
|
try:
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
+ branch
|
262
|
-
+ '","inputs":{"userid":"'
|
263
|
-
+ f"{userid}"
|
264
|
-
+ '","subtype":"'
|
265
|
-
+ f"{subtype}"
|
266
|
-
+ '","subvalue":"'
|
267
|
-
+ f"{subvalue}"
|
268
|
-
+ '"}}'
|
269
|
-
)
|
270
|
-
ghp_token = PKEnvironment().allSecrets["PKG"]
|
271
|
-
resp = run_workflow(workflowType="O",repo="PKScreener",owner="pkjmesra",branch=branch,ghp_token=ghp_token,workflow_name=workflow_name,workflow_postData=workflow_postData)
|
272
|
-
if resp is not None and resp.status_code != 204:
|
273
|
-
updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
|
281
|
+
results = updateSubscription(user.id,int(float(matchedTran.get("amountPaid"))))
|
282
|
+
if results is not None:
|
283
|
+
updatedResults = results
|
274
284
|
except Exception as e:
|
275
285
|
logger.error(e)
|
276
286
|
updatedResults = f"{updatedResults} Uh oh! We ran into a problem enabling your subscription.\nPlease reach out to @ItsOnlyPK to resolve."
|
@@ -1296,9 +1306,22 @@ def handleHousekeeping(update: Update, context: CallbackContext) -> str:
|
|
1296
1306
|
reply_markup = default_markup(user)
|
1297
1307
|
dbMgr = DBManager()
|
1298
1308
|
if selection == "GAU":
|
1299
|
-
|
1300
|
-
if
|
1301
|
-
menuText = f"Number of all registered users in the DB: {len(
|
1309
|
+
activeUsers = dbMgr.getUsers(fieldName="userId")
|
1310
|
+
if activeUsers is not None:
|
1311
|
+
menuText = f"Number of all registered users in the DB: {len(activeUsers)}"
|
1312
|
+
elif selection == "GAP":
|
1313
|
+
payingUsers = dbMgr.getPayingUsers()
|
1314
|
+
if payingUsers is not None and len(payingUsers) > 0:
|
1315
|
+
menuText = "Here are all the paying users:"
|
1316
|
+
menuText = f"{menuText}\n{"UserID".ljust(10,'#')} : {"Subs.".ljust(5,'#')} : {"Bal.".ljust(5,'#')}"
|
1317
|
+
for payingUser in payingUsers:
|
1318
|
+
menuText = f"{menuText}\n{str(payingUser.userid).ljust(10,'#')} : {str(payingUser.subscriptionmodel).ljust(5,'#')} : {str(payingUser.balance).ljust(5,'#')}"
|
1319
|
+
elif selection == "UUB":
|
1320
|
+
user_states[user.id] = f"{selection}_awaiting_input_1" # Set user state
|
1321
|
+
menuText = "Please enter a userID for whom to update balance:"
|
1322
|
+
elif selection in ["EUS", "DUS"]:
|
1323
|
+
user_states[user.id] = f"{selection}_awaiting_input_1" # Set user state
|
1324
|
+
menuText = "Please enter a userID for whom to update subscription:"
|
1302
1325
|
elif selection == "GAS":
|
1303
1326
|
scanners = dbMgr.scannerJobsWithActiveUsers()
|
1304
1327
|
if scanners is not None:
|
@@ -2030,6 +2053,22 @@ def help_command(update: Update, context: CallbackContext) -> None:
|
|
2030
2053
|
# Get user that sent /start and log his name
|
2031
2054
|
user = updateCarrier.from_user
|
2032
2055
|
|
2056
|
+
if user.id in user_states:
|
2057
|
+
if "_awaiting_input_1" in user_states[user.id]:
|
2058
|
+
hskCmd = user_states[user.id].split("_")[0]
|
2059
|
+
user_states[user.id] = f"{hskCmd}_awaiting_input_2_{updateCarrier.text}"
|
2060
|
+
update.message.reply_text(f"{'Balance' if hskCmd == 'UUB' else 'Subscription'} to be updated for entered userID: {updateCarrier.text} ✅\nPlease enter the {'Balance' if hskCmd == 'UUB' else 'Subscription'} value:")
|
2061
|
+
return START_ROUTES
|
2062
|
+
elif "_awaiting_input_2_" in user_states[user.id]:
|
2063
|
+
hskCmd = user_states[user.id].split("_")[0]
|
2064
|
+
userID = user_states[user.id].split("_")[-1]
|
2065
|
+
results = updateSubscription(int(userID),float(updateCarrier.text),subtype="remove" if hskCmd=="DUS" else "add")
|
2066
|
+
if results is None:
|
2067
|
+
update.message.reply_text(f"✅ {'Balance' if hskCmd == 'UUB' else 'Subscription'} update for userID: {userID} with balance value: {updateCarrier.text} triggered!\nPlease check with Get Paying users in a few minutes!")
|
2068
|
+
# Clear user state
|
2069
|
+
del user_states[user.id]
|
2070
|
+
return START_ROUTES
|
2071
|
+
|
2033
2072
|
cmds = m0.renderForMenu(
|
2034
2073
|
selectedMenu=None,
|
2035
2074
|
skip=TOP_LEVEL_SCANNER_SKIP_MENUS[:len(TOP_LEVEL_SCANNER_SKIP_MENUS)-1],
|
@@ -19,7 +19,7 @@ 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.
|
22
|
+
PKDevTools>=0.13.20250126.236
|
23
23
|
PKNSETools>=0.1.20250122.138
|
24
24
|
Pyarrow #>=17.0.0
|
25
25
|
pyppeteer #>=2.0.0
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: pkscreener
|
3
|
-
Version: 0.46.20250218.
|
3
|
+
Version: 0.46.20250218.720
|
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.20250218.
|
6
|
+
Download-URL: https://github.com/pkjmesra/pkscreener/archive/v0.46.20250218.720.zip
|
7
7
|
Author: pkjmesra
|
8
8
|
Author-email: pkjmesra@gmail.com
|
9
9
|
License: OSI Approved (MIT)
|
@@ -357,15 +357,15 @@ After you have finished the run, go to that copied path, zip the contents of the
|
|
357
357
|
[MADE-IN-INDIA-badge]: https://img.shields.io/badge/MADE%20WITH%20%E2%9D%A4%20IN-INDIA-orange
|
358
358
|
[MADE-IN-INDIA]: https://en.wikipedia.org/wiki/India
|
359
359
|
[Windows-badge]: https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white
|
360
|
-
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.
|
360
|
+
[Windows]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/pkscreenercli.exe
|
361
361
|
[Linux-badge_x64]: https://img.shields.io/badge/Linux(x64)-FCC624?logo=linux&logoColor=black
|
362
|
-
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.
|
362
|
+
[Linux_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/pkscreenercli_x64.bin
|
363
363
|
[Linux-badge_arm64]: https://img.shields.io/badge/Linux(arm64)-FCC624?logo=linux&logoColor=black
|
364
|
-
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.
|
364
|
+
[Linux_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/pkscreenercli_arm64.bin
|
365
365
|
[Mac OS-badge_x64]: https://img.shields.io/badge/mac%20os(x64)-D3D3D3?logo=apple&logoColor=000000
|
366
|
-
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.
|
366
|
+
[Mac OS_x64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/pkscreenercli_x64.run
|
367
367
|
[Mac OS-badge_arm64]: https://img.shields.io/badge/mac%20os(arm64)-D3D3D3?logo=apple&logoColor=000000
|
368
|
-
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.
|
368
|
+
[Mac OS_arm64]: https://github.com/pkjmesra/PKScreener/releases/download/0.46.20250218.719/pkscreenercli_arm64.run
|
369
369
|
[GitHub release (latest by date)-badge]: https://img.shields.io/github/v/release/pkjmesra/PKScreener
|
370
370
|
[GitHub release (latest by date)]: https://github.com/pkjmesra/PKScreener/releases/latest
|
371
371
|
[pypi-badge]: https://img.shields.io/pypi/v/pkscreener.svg?style=flat-square
|
@@ -0,0 +1,58 @@
|
|
1
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
|
2
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
|
3
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
|
4
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
|
5
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/README.txt,sha256=7dINjHjtaHQhYx8eVyFLjsnsGdPynAP7AVOMosmKkjA,33085
|
6
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
|
7
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
|
8
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
|
9
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
|
10
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/pkscreenerbot.py,sha256=QlWr62rs0uRZ71eR9D9SaFVWvhyJxqd7a0-tnw3y3qE,119157
|
11
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
|
12
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/requirements.txt,sha256=IsiYZzO2RFIPoDOULBL5qJu7tq2sGdgKbpYt2L0xlBw,1503
|
13
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
|
14
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
|
15
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
|
16
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
|
17
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
|
18
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
|
19
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
|
20
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
|
21
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
|
22
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
|
23
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
|
24
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
|
25
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
|
26
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=--qQpmLt7XTljACGDWIIOZO01uWJpEbG78wyMRynTI4,22450
|
27
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
|
28
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
|
29
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
|
30
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
|
31
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
|
32
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
|
33
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
|
34
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
|
35
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
|
36
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
|
37
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
|
38
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
|
39
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
|
40
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
|
41
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
|
42
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
|
43
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
|
44
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
|
45
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
|
46
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
|
47
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
|
48
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
|
49
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
|
50
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
|
51
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/__init__.py,sha256=XwZ1OxXHV2qGnSYbGH2mvqT9cfWQgruDxZrXhIMYTNs,28
|
52
|
+
pkscreener-0.46.20250218.720.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
|
53
|
+
pkscreener-0.46.20250218.720.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
|
54
|
+
pkscreener-0.46.20250218.720.dist-info/METADATA,sha256=QRaJK-6txNu4w1s0DvjuyGgiymRtNGCpTDHYgJEDgxA,34107
|
55
|
+
pkscreener-0.46.20250218.720.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
|
56
|
+
pkscreener-0.46.20250218.720.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
|
57
|
+
pkscreener-0.46.20250218.720.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
|
58
|
+
pkscreener-0.46.20250218.720.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
VERSION='0.46.20250218.719'
|
@@ -1,58 +0,0 @@
|
|
1
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/Disclaimer.txt,sha256=x7M9Clrb9qACqOa-Vnwh9wliISLgudW5Kv_dgEk3N_Q,1405
|
2
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/LICENSE-Others.txt,sha256=0put8oIYbAYz98IGnp2F1CpHoyR_iyk0PRYG5D-U1K0,277059
|
3
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/LICENSE.txt,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
|
4
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/LogoWM.txt,sha256=7Njnavpy_FKY4Iwbzv1JqsYMcOdkDSKAKXP3SAItKV0,14868
|
5
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/README.txt,sha256=ufEdmy2D1GRQ_jX1PDUWLw-ceXsFcKCOcBuk1ciUPuc,33085
|
6
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/__init__.py,sha256=cH0zxpSdH-dhmZihoe5mpE2NRRmF2Na_KaGMO9u33Rg,1669
|
7
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/courbd.ttf,sha256=SKpnp-BRs7AZcdI83nencS3Q7xe0anbbP1YMOxLlEhU,791436
|
8
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/globals.py,sha256=h7gRVI1ljj5AQp-KvOMGz9LqXYvt0v2YaWdxFeP-rqg,245088
|
9
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreener.ini,sha256=v0MV7kLxi0ehh1a013wg6TLXDeeLRO8PKapICSU1u-k,2451
|
10
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreenerbot.py,sha256=lbj8iheNtOAxrtDHKxh_QA-PBrIUuoEWobKxYqfAgxs,116861
|
11
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/pkscreenercli.py,sha256=NtW0PGiMKgkBfQk6jZ8WE_ipTRrZP7v1020xQNHZdUE,58213
|
12
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/requirements.txt,sha256=MRt1xjlgh8eFDf459OVS71QheZ-PnmQ1GyQg2wkJEGI,1503
|
13
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ArtTexts.py,sha256=UzU0v3LX4PsWcx_ATv5M-T4v93uLz2hmvyDtew6qzZk,19708
|
14
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/AssetsManager.py,sha256=0__n99u7SD0KHmpnybm_msu35CAlv5W6WwtT5LrSkNc,34313
|
15
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Backtest.py,sha256=VoNronl--07E477I9lhwfEjI4vK5VHu_tcDRO1K96hU,10784
|
16
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Barometer.py,sha256=aZWu0TFbwRBvnkyN_Ws4a_2FYNhKKuqEpoQAqokthPc,9640
|
17
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/BaseScreeningStatistics.py,sha256=Dev8eCx8eGNqDsbXj-t68hLSDpKDICcyb9yH_n_IbYg,3086
|
18
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/CandlePatterns.py,sha256=IFVUXzx175aqZlL7JlmNl308aeIkSD6Hugl4M9zg9Io,17419
|
19
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Changelog.py,sha256=S0hNTDYptWUxFrdTzqinjFLIywVAuKlYR1aCjepADn0,1511
|
20
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConfigManager.py,sha256=ZIxZ-IqWjIXpo_7SWRLx5e8sc0b92gGnc4qqMZVproM,54426
|
21
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConsoleMenuUtility.py,sha256=QZLPA0li0bfs1zNijfq_utovulY5fl4vXWk89CBpL5Q,10291
|
22
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ConsoleUtility.py,sha256=gNMAm4iQF0ClmVPBe6ZnsjWQ-rfnTq6R_mLBjA6GgyI,12330
|
23
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Fetcher.py,sha256=ZwU9iW0nbGAgM0mKZNjYgy9sm8jRSw9PvYmyhuY7Pos,12620
|
24
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/GlobalStore.py,sha256=UCYctbau2ZAShkWOLA7-p52Pg_irghCWRoa6UrIKYQQ,3799
|
25
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ImageUtility.py,sha256=DKPiM7u-fGPujD63VLCWUsvesgflVYDiLqyw_KWOK8g,37629
|
26
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MarketMonitor.py,sha256=--qQpmLt7XTljACGDWIIOZO01uWJpEbG78wyMRynTI4,22450
|
27
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MarketStatus.py,sha256=oBDTCTGazzOEhcclugxOOtyhu2VVT2XQ-t-GmY_pT7g,3823
|
28
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/MenuOptions.py,sha256=RIPQ9mVC9I07GZubrmOtUAQg10GbCoYwF3fnvV1dvqY,65741
|
29
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Messenger.py,sha256=yKqq3eE2JkvTOeKcNZoPpCgxQ9FjcEeB1iHIKwwq8dA,8572
|
30
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/OtaUpdater.py,sha256=jSjVqgiZ4CGVkieJMekNLHZGx_eOGN-Xg4RF3eZO_Nk,13816
|
31
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKAnalytics.py,sha256=4LdzjSjbJExBpD2DM9wXWuFqKiC8QEr9HT2XFiJq7oA,5368
|
32
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKDataService.py,sha256=InEI3AGt_ykYfbwq2v1_NWUefTqPluKHSh_4ksFSUzE,3456
|
33
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKDemoHandler.py,sha256=wh48WLLFxBAFHML5Sq5G5-UFP96snJ9yKJgpKWuQ2Zs,2253
|
34
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKMarketOpenCloseAnalyser.py,sha256=zscdvHwDb5GQttqnR4Ed0SsVfOFeqKQgfIo6LWukgH0,34366
|
35
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKPremiumHandler.py,sha256=L3O3EwIZBE9PpdDFIGH-2Ec9Gi3IlzCd6RfQSXUd6So,5695
|
36
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScanRunner.py,sha256=9Qy6xouK6qkNExeWF8LrxYXynI3Ju9UrSY5kI5W81Ok,27313
|
37
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScheduledTaskProgress.py,sha256=wDMORWmyglcu06woVNpgDlESsMIiYX96MXO0VoBlLYg,1694
|
38
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKScheduler.py,sha256=Od3Niv6Q_aHarau9agCVt7h194votlaDX4j1Xv-_ru4,8994
|
39
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKSpreadsheets.py,sha256=BIICJx79QjGFPrnmQ34357jOGp79vuiknx6A_kC9y8Y,8466
|
40
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKTask.py,sha256=YPxzn0dA5ty7CtRFi1wQphC9vCdK8tB2_3DYHje9jgc,1907
|
41
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PKUserRegistration.py,sha256=q5V3GChPEFl4-je4VFJDGDT4GK37t3sBT0UY9GT6L8s,11657
|
42
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Pktalib.py,sha256=yko7TZMOsLoBv-LbTuT903CsGdyckhypXldh7uoAXmo,34179
|
43
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Portfolio.py,sha256=dxviO0G3OqJza4Nbpj5OCph8PZlfkRCkL3LfLJYgqu0,14196
|
44
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/PortfolioXRay.py,sha256=cMQ-yZrBPWo4gACxFqj3HNG9rqmyqXkS88qpy77JP_s,49612
|
45
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/ScreeningStatistics.py,sha256=LHPQLinxcvIFCJE6vWN-l50bamJCexbfLn9HP4JNRn0,225368
|
46
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/StockScreener.py,sha256=wL6RjojBvTqo9XUlh2qoCpERrKdGNTlcDtCTReA0jkI,68437
|
47
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/StockSentiment.py,sha256=kc5jdXRGm2nIvDK-2y4i_Y1w47_2zWpunjlQsKB7IBY,3640
|
48
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/UserMenuChoicesHandler.py,sha256=MXJrQPD4yvKSI4p_RcnHt5oZg8AZ59ME7Jf-Nryoy5g,5055
|
49
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/Utility.py,sha256=6JpIich2-knaZ4sjsjyMoO_4S622KK-Jte2Hi4eYIOs,13870
|
50
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/WorkflowManager.py,sha256=GgxHCWOOEUv4M7xbIZtcoxndzII4eInex24U99uEWcI,5769
|
51
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/__init__.py,sha256=BCKw9m_4O-B4oUAvnHQRQqIFNijfHCIfzGHsmLLZJII,28
|
52
|
-
pkscreener-0.46.20250218.719.data/purelib/pkscreener/classes/keys.py,sha256=tygV0iu8bKmSPo6HGj1Cb-rTtEWErGrsYRZY7SoCb1g,6957
|
53
|
-
pkscreener-0.46.20250218.719.dist-info/LICENSE,sha256=q80QYQZCkhPymkaQKXZJwOFYU6X-4lUHRzCGYERdLpA,1099
|
54
|
-
pkscreener-0.46.20250218.719.dist-info/METADATA,sha256=_Tvsq8b4M7G2c7p-e6ELFiyeVWb5aPzpqKZA9RZXD6E,34107
|
55
|
-
pkscreener-0.46.20250218.719.dist-info/WHEEL,sha256=cRmSBGD-cl98KkuHMNqv9Ac9L9_VqTvcBYwpIvxN0cg,101
|
56
|
-
pkscreener-0.46.20250218.719.dist-info/entry_points.txt,sha256=Pm30xm4sU7YFtFJUC-Te8VlqOvYAvWKFFA5AfQE0xGY,120
|
57
|
-
pkscreener-0.46.20250218.719.dist-info/top_level.txt,sha256=oIfcPPw58Q4KU-GDqp25dXbrtvxYXJBCo_em6i5aVvY,11
|
58
|
-
pkscreener-0.46.20250218.719.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.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/entry_points.txt
RENAMED
File without changes
|
{pkscreener-0.46.20250218.719.dist-info → pkscreener-0.46.20250218.720.dist-info}/top_level.txt
RENAMED
File without changes
|