import psxdata from typing import List, Dict, Any import pandas as pd from models import TickerModel class PsxIndexAndTickers: def getAllSymbols(self) -> List[str]: allShare = psxdata.tickers("ALLSHR") return allShare def getIndexTicker(self,index) -> List[TickerModel]: df = psxdata.indices(index) print(df) indexTicker = [ TickerModel( symbol = row["symbol"], name = row["name"], idx_weight = row["idx_weight"], ldcp = row['ldcp'], current = row['current'], change = row['change'], volume = row['volume'], freeFloat = row['freefloat_m'], marketCap = row['market_cap_m'] ) for _, row in df.iterrows() ] return indexTicker if __name__ == "__main__": psxIndex = PsxIndexAndTickers() psxIndex.getIndexTicker("PSXDIV20")