{"id":43325589,"url":"https://github.com/rochi88/bdshare","last_synced_at":"2026-02-01T23:07:07.682Z","repository":{"id":57414392,"uuid":"253465924","full_name":"rochi88/bdshare","owner":"rochi88","description":"A utility for crawling historical and Real-time Quotes data from Dhaka Stock Exchange (DSE)","archived":false,"fork":false,"pushed_at":"2025-10-23T20:00:21.000Z","size":166,"stargazers_count":36,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-23T20:25:03.575Z","etag":null,"topics":["bd-share-market","dhaka-stock-exchange","dse","historical-data","livedata","python","stock-market","trading","trading-data"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rochi88.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"rochi88"}},"created_at":"2020-04-06T10:34:35.000Z","updated_at":"2025-10-23T20:00:25.000Z","dependencies_parsed_at":"2024-07-28T20:26:44.863Z","dependency_job_id":"9d5f0374-7439-4d9e-b2e3-0fe23af6e674","html_url":"https://github.com/rochi88/bdshare","commit_stats":{"total_commits":76,"total_committers":1,"mean_commits":76.0,"dds":0.0,"last_synced_commit":"a9bfa3c2a75edd72eb28f7708fdfb13fb93aaf02"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/rochi88/bdshare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rochi88%2Fbdshare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rochi88%2Fbdshare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rochi88%2Fbdshare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rochi88%2Fbdshare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rochi88","download_url":"https://codeload.github.com/rochi88/bdshare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rochi88%2Fbdshare/sbom","scorecard":{"id":781679,"data":{"date":"2025-08-11","repo":{"name":"github.com/rochi88/bdshare","commit":"a2212314a498484b714bfa78a2d18f358f440a1e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/python-package.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/rochi88/bdshare/publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/rochi88/bdshare/publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/rochi88/bdshare/python-package.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/python-package.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/rochi88/bdshare/python-package.yml/main?enable=pin","Warn: containerImage not pinned by hash: demo/Dockerfile:1: pin your Docker image by updating python:3.11-slim-buster to python:3.11-slim-buster@sha256:c46b0ae5728c2247b99903098ade3176a58e274d9c7d2efeaaab3e0621a53935","Warn: pipCommand not pinned by hash: demo/Dockerfile:17","Warn: pipCommand not pinned by hash: .github/workflows/publish.yml:15","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:40","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/python-package.yml:42","Info:   0 out of   3 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   5 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish.yml:7"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2018-66 / GHSA-562c-5r94-xh97","Warn: Project is vulnerable to: PYSEC-2019-179 / GHSA-5wv5-4vpf-pj6m","Warn: Project is vulnerable to: PYSEC-2023-62 / GHSA-m2qf-hxjv-5gpq","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-41 / GHSA-qfc5-mcwq-26q8","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T05:03:39.960Z","repository_id":57414392,"created_at":"2025-08-23T05:03:39.961Z","updated_at":"2025-08-23T05:03:39.961Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28993895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T22:01:47.507Z","status":"ssl_error","status_checked_at":"2026-02-01T21:58:37.335Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bd-share-market","dhaka-stock-exchange","dse","historical-data","livedata","python","stock-market","trading","trading-data"],"created_at":"2026-02-01T23:07:07.162Z","updated_at":"2026-02-01T23:07:07.677Z","avatar_url":"https://github.com/rochi88.png","language":"Python","funding_links":["https://github.com/sponsors/rochi88"],"categories":[],"sub_categories":[],"readme":"#Bdshare                                                             \n---\n\n![StyleCI](https://github.styleci.io/repos/253465924/shield?branch=main)\n[![Documentation Status](https://readthedocs.org/projects/bdshare/badge/?version=latest)](https://bdshare.readthedocs.io/en/latest/?badge=latest)\n![PyPI](https://img.shields.io/pypi/v/bdshare)\n\n\n\nA utility for crawling historical and Real-time data from stock exchanges of Bangladesh. At present this utility can collect data from Dhaka stock exchange.\n\n### \u003ca name=\"contents\"\u003e\u003c/a\u003eContents\n- [Installation](#install)\n- [Example Use](#usage)\n- [List of functions](#functions)\n- [Todo's and Road Map:](#roadmap)\n\n\n## Quickstart\n\n### \u003ca name=\"install\"\u003e\u003c/a\u003e[Installation](#contents)\n\n```sh\n$ pip install bdshare\n```\nor upgrade\n```sh\n$ pip install -U bdshare\n```\n\n### \u003ca name=\"usage\"\u003e\u003c/a\u003e[Example Use](#contents)\n\n#### Get DSE last or current trading data\n```python\nfrom bdshare import get_current_trade_data\n\ndf = get_current_trade_data()\nprint(df.to_string())\n```\n```python\nfrom bdshare import get_current_trade_data\n\ndf = get_current_trade_data('GP') # get specific instrument data\nprint(df.to_string())\n```\n\n#### Get historical data\n```python\nfrom bdshare import get_hist_data\n\ndf = get_hist_data('2022-03-01','2022-03-02') # get all instrument data\nprint(df.to_string())\n```\nor\n```python\nfrom bdshare import get_hist_data\n\ndf = get_hist_data('2022-03-01','2022-03-02','ACI') # get specific instrument data\nprint(df.to_string())\n```\n\n#### Get OHLCV historical data\n```python\nfrom bdshare import get_basic_hist_data\n\ndf = get_basic_hist_data('2022-03-01','2022-03-02') # get all instrument data\nprint(df.to_string())\n```\nor\n```python\nimport datetime as dt\nfrom bdshare import get_basic_hist_data\n\nstart = dt.datetime.now().date() - dt.timedelta(days=2 * 365)\nend = dt.datetime.now().date()\ndf = get_basic_hist_data(start, end, 'GP') # get specific instrument data\nprint(df.to_string())\n```\n\n#### Get DSE Index data\n```python\nfrom bdshare import get_market_inf\n\ndf = get_market_inf() # get last 30 days market data\nprint(df.to_string())\n```\n\n```python\nfrom bdshare import get_market_inf_more_data\n\ndf = get_market_inf_more_data('2022-03-01','2022-03-02') # get historical market data\nprint(df.to_string())\n```\n\n#### Get DSE Market Depth data\n```python\nfrom bdshare import get_market_depth_data\n\ndf = get_market_depth_data('ACI') # get current buy and sell data\nprint(df.to_string())\n```\n\n#### Save data to csv file\n```python\nimport datetime as dt\nfrom bdshare import get_basic_hist_data, Store\n\nstart = dt.datetime.now().date() - dt.timedelta(days=2 * 365)\nend = dt.datetime.now().date()\ndf = get_basic_hist_data(start, end) # get all instrument data\nStore(df).save()\n```\n\n### \u003ca name=\"functions\"\u003e\u003c/a\u003e [List of functions](#contents)\n\n#### Trading data\n|Function|Params|Description|\n|---|---|---|\n|get_current_trade_data()|symbol:str|get last stock price|\n|get_dsex_data()|symbol:str|get dseX share price|\n|get_current_trading_code()||get last stock codes|\n|get_hist_data()|start:str, end:str|get historical stock price|\n|get_basic_hist_data()|start:str, end:str, code:str|get historical stock price|\n|get_close_price_data()|start:str, end:str, code:str|get stock close price|\n|get_last_trade_price_data()|||\n\n#### Trading news\n|Function|Params|Description|\n|---|---|---|\n|get_agm_news()||get stock agm declarations|\n|get_all_news()|start:str, end:str, code:str|get dse news|\n\n#### Market data\n|Function|Params|Description|\n|---|---|---|\n|get_market_inf()||get stock market information|\n|get_latest_pe()||get last stock P/E|\n|get_market_inf_more_data()|start:str, end:str|get historical stock price|\n|get_market_depth_data()|index:str|get_market_depth_data('ACI')|\n\n### \u003ca name=\"roadmap\"\u003e\u003c/a\u003e [TODO's and Road Map:](#contents)\n - [x] refine logic for parameters \n - [x] Demo example;\n - [x] DSE daily data and historical data crawling\n - [x] DSE news,p/e crawling\n - [x] Add DSEX Index data support\n - [x] Create tests\n - [x] Store dat to csv\n - [x] DSE market depth data\n - [x] Add docker support in demo example\n\n\n### Documentation\n\nComplete documentation can be found at [Readthedocs](http://bdshare.readthedocs.io/en/latest/ \"bdshare's readthedocs\") .\n\n\n## Contributing to this project\n\nAnyone and everyone is welcome to contribute. Please take a moment to\nreview the [guidelines for contributing](CONTRIBUTING.md).\n\n* [Bug reports](CONTRIBUTING.md#bugs)\n* [Feature requests](CONTRIBUTING.md#features)\n* [Pull requests](CONTRIBUTING.md#pull-requests)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frochi88%2Fbdshare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frochi88%2Fbdshare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frochi88%2Fbdshare/lists"}