v1.2.2
Full Changelog: v1.2.1...v1.2.2
Added
- Optional
as_polars=Trueparameter across all data-fetching functions to returnpolars.DataFrameinstead ofpandas.DataFrame(requirespip install bdshare[polars]) get_market_status()— current market status (Open, Closed, Holiday, etc.)get_top_twenty_shares()— top twenty shares by traded volume- MCP (Model Context Protocol) server (
bdshare/mcp_server.py) exposing 15 tools so AI agents (Claude Desktop, Claude Code, etc.) can call live DSE data directly; install withpip install bdshare[mcp], run withbdshare-mcp
Changed
- Renamed
get_top_gainers_losers()→get_top_ten_gainers_losers(); returned columns changed fromsymbol, ltp, changetosymbol, close, high, low, ycp, change
Removed
get_sector_performance()(module function andBDShare.get_sector_performance()) — no aliased replacement; useget_top_twenty_shares()instead
Fixed
- Bundled the missing Sectigo DV R36 intermediate certificate so requests to dsebd.org verify correctly instead of relying on an incomplete chain
- Corrected
DSE_ALT_URLfallback domain todse.com.bd get_corporate_announcements()andget_price_sensitive_news()always raisedBDShareError— the row parser assumed each news item was one<tr>with 4<td>s, but DSE renders each field (Trading Code:,News Title:,News:,Post Date:) as its own<th>/<td>row pairas_polars=Truecould crash withunexpected value while building Series of type String; found value of type Float64: NaNon tables mixing strings and missing values (e.g.get_company_info()); NaN now converts to a proper polars null instead- Corrected
usage.rst/README documentation that hadget_historical_data()/get_basic_historical_data()mislabeled as the deprecated aliases —get_hist_data()/get_basic_hist_data()are the deprecated ones