# VISTOCK
**Vistock** is an open-source library focused on searching, retrieving, and analyzing Vietnamese stock market data. It aims to provide robust tools that support developers, researchers, and AI agents in accessing and processing financial market information from Vietnam.
> **Note**: Vistock is under active development. Features may be incomplete or subject to change. Contributions, suggestions, and bug reports are welcome and highly appreciated!
## Disclaimer & Terms of Use ‼️
This library is provided for **educational and research purposes only**. You are solely responsible for how you use it. Before scraping any website, you must ensure that your actions comply with all applicable laws and the website’s own policies — including their **Terms of Service** and `robots.txt` directives. Many websites explicitly prohibit automated access. The authors and contributors are not responsible for any misuse or legal issues arising from the use of this tool. Always scrape ethically, respectfully, and within legal boundaries.
## Responsible Scraping ‼️
Please be respectful of the websites you interact with. Always use appropriate rate limiting and avoid sending excessive requests. Scraping should never disrupt or degrade the performance of a website. Generating unreasonable traffic may not only lead to IP bans but could also violate legal or ethical standards. Respect the site's resources, policies, and the efforts of its creators.
## Supported Websites
- **Vndirect**
- **Vietstock**
- **24hmoney**
- **DNSE**
- **SSC**
- *more coming soon...*
## Installation
```bash
pip install vistock
```
## Quick Start
```python
from vistock.modules.vndirect.search import VistockVnDirectStockIndexSearch
import asyncio
import json
async def main():
search = VistockVnDirectStockIndexSearch()
data = search.search(
code="ACB",
start_date="2025-06-20",
end_date="2025-06-28",
resolution="day",
advanced=False,
ascending=False
)
with open('data.json', 'w', encoding='utf-8') as file:
json.dump(data.model_dump(), file, indent=2, ensure_ascii=False)
if __name__ == "__main__":
asyncio.run(main())
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the Apache 2.0 - see the `LICENSE` file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/kaiismith/vistock",
"name": "vistock",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "stock, vietnamese, vietnam, financial data, stock market",
"author": "Thang Duong",
"author_email": "kaiismith.business@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2d/a2/c18b68537a0e05a0ba705be592d89583623924ee4bd95f890975eb9b93dd/vistock-0.1.0b4.tar.gz",
"platform": null,
"description": "# VISTOCK\r\n\r\n**Vistock** is an open-source library focused on searching, retrieving, and analyzing Vietnamese stock market data. It aims to provide robust tools that support developers, researchers, and AI agents in accessing and processing financial market information from Vietnam.\r\n\r\n> **Note**: Vistock is under active development. Features may be incomplete or subject to change. Contributions, suggestions, and bug reports are welcome and highly appreciated!\r\n\r\n## Disclaimer & Terms of Use \u203c\ufe0f\r\n\r\nThis library is provided for **educational and research purposes only**. You are solely responsible for how you use it. Before scraping any website, you must ensure that your actions comply with all applicable laws and the website\u2019s own policies \u2014 including their **Terms of Service** and `robots.txt` directives. Many websites explicitly prohibit automated access. The authors and contributors are not responsible for any misuse or legal issues arising from the use of this tool. Always scrape ethically, respectfully, and within legal boundaries.\r\n\r\n## Responsible Scraping \u203c\ufe0f\r\n\r\nPlease be respectful of the websites you interact with. Always use appropriate rate limiting and avoid sending excessive requests. Scraping should never disrupt or degrade the performance of a website. Generating unreasonable traffic may not only lead to IP bans but could also violate legal or ethical standards. Respect the site's resources, policies, and the efforts of its creators.\r\n\r\n## Supported Websites\r\n\r\n- **Vndirect**\r\n- **Vietstock**\r\n- **24hmoney**\r\n- **DNSE**\r\n- **SSC**\r\n- *more coming soon...*\r\n\r\n## Installation\r\n\r\n```bash\r\npip install vistock\r\n```\r\n\r\n## Quick Start\r\n```python\r\nfrom vistock.modules.vndirect.search import VistockVnDirectStockIndexSearch\r\nimport asyncio\r\nimport json\r\n\r\nasync def main():\r\n search = VistockVnDirectStockIndexSearch()\r\n \r\n data = search.search(\r\n code=\"ACB\",\r\n start_date=\"2025-06-20\",\r\n end_date=\"2025-06-28\",\r\n resolution=\"day\",\r\n advanced=False,\r\n ascending=False\r\n )\r\n\r\n with open('data.json', 'w', encoding='utf-8') as file:\r\n json.dump(data.model_dump(), file, indent=2, ensure_ascii=False)\r\n\r\nif __name__ == \"__main__\":\r\n asyncio.run(main())\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## License\r\n\r\nThis project is licensed under the Apache 2.0 - see the `LICENSE` file for details.\r\n\r\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Vistock is an open-source library focused on searching, retrieving, and analyzing Vietnamese stock market data.",
"version": "0.1.0b4",
"project_urls": {
"Bug Reports": "https://github.com/kaiismith/vistock/issues",
"Documentation": "https://github.com/kaiismith/vistock#readme",
"Homepage": "https://github.com/kaiismith/vistock",
"Source": "https://github.com/kaiismith/vistock"
},
"split_keywords": [
"stock",
" vietnamese",
" vietnam",
" financial data",
" stock market"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5073a5d878ac9da24329bdbc9601899142153c9e6d6920dc829504699abdfe3d",
"md5": "6bb69ca72541702a4a27a911bcfce622",
"sha256": "b5a0ac64ec19d4b0ee54d38a15879bd6ba901040cf2e4ab6a0b26ab927e2aa90"
},
"downloads": -1,
"filename": "vistock-0.1.0b4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6bb69ca72541702a4a27a911bcfce622",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 38147,
"upload_time": "2025-07-26T10:16:48",
"upload_time_iso_8601": "2025-07-26T10:16:48.384632Z",
"url": "https://files.pythonhosted.org/packages/50/73/a5d878ac9da24329bdbc9601899142153c9e6d6920dc829504699abdfe3d/vistock-0.1.0b4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2da2c18b68537a0e05a0ba705be592d89583623924ee4bd95f890975eb9b93dd",
"md5": "2a9403ba6fce469476a1a01014738d88",
"sha256": "040a55d7b8372ace1aea438fd54e594ad720fc60a002916fb0825aae900333c5"
},
"downloads": -1,
"filename": "vistock-0.1.0b4.tar.gz",
"has_sig": false,
"md5_digest": "2a9403ba6fce469476a1a01014738d88",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 29700,
"upload_time": "2025-07-26T10:16:49",
"upload_time_iso_8601": "2025-07-26T10:16:49.622196Z",
"url": "https://files.pythonhosted.org/packages/2d/a2/c18b68537a0e05a0ba705be592d89583623924ee4bd95f890975eb9b93dd/vistock-0.1.0b4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-26 10:16:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kaiismith",
"github_project": "vistock",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "anyio",
"specs": [
[
"==",
"4.9.0"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"1.2.2.post1"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2025.7.14"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.2"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.2.1"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "exceptiongroup",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "h11",
"specs": [
[
"==",
"0.16.0"
]
]
},
{
"name": "httpcore",
"specs": [
[
"==",
"1.0.9"
]
]
},
{
"name": "httpx",
"specs": [
[
"==",
"0.28.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.3.1"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"25.0"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.3.1"
]
]
},
{
"name": "pip-tools",
"specs": [
[
"==",
"7.4.1"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.11.7"
]
]
},
{
"name": "pydantic-core",
"specs": [
[
"==",
"2.33.2"
]
]
},
{
"name": "pyproject-hooks",
"specs": [
[
"==",
"1.2.0"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2025.2"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.4"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "sniffio",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "tenacity",
"specs": [
[
"==",
"9.1.2"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.14.1"
]
]
},
{
"name": "typing-inspection",
"specs": [
[
"==",
"0.4.1"
]
]
},
{
"name": "tzdata",
"specs": [
[
"==",
"2025.2"
]
]
},
{
"name": "tzlocal",
"specs": [
[
"==",
"5.3.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.5.0"
]
]
},
{
"name": "wheel",
"specs": [
[
"==",
"0.45.1"
]
]
}
],
"lcname": "vistock"
}