Skip to content

Commit

Permalink
Added show_log parameter to StockComponents and Vnstock classes to …
Browse files Browse the repository at this point in the history
…allow users to disable unwanted logging.
  • Loading branch information
thinh-vu committed Jul 8, 2024
1 parent 5e33768 commit 560a3fc
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 158 deletions.
Binary file modified .DS_Store
Binary file not shown.
76 changes: 3 additions & 73 deletions docs/1_vietnam_stock_vnstock3.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -42,81 +42,11 @@
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: vnstock3 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (0.3.0.4)\n",
"Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (2.31.0)\n",
"Requirement already satisfied: beautifulsoup4 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (4.12.3)\n",
"Requirement already satisfied: pandas in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (2.2.1)\n",
"Requirement already satisfied: vnai>=0.1.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (0.1.0)\n",
"Requirement already satisfied: openpyxl in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (3.1.2)\n",
"Requirement already satisfied: pydantic in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (2.7.0)\n",
"Requirement already satisfied: psutil in /Users/mrthinh/Library/Python/3.10/lib/python/site-packages (from vnstock3) (5.9.8)\n",
"Requirement already satisfied: fake-useragent in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (1.5.1)\n",
"Requirement already satisfied: vnstock-ezchart in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock3) (0.0.2)\n",
"Requirement already satisfied: cryptography in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnai>=0.1.0->vnstock3) (42.0.5)\n",
"Requirement already satisfied: soupsieve>1.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from beautifulsoup4->vnstock3) (2.5)\n",
"Requirement already satisfied: et-xmlfile in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from openpyxl->vnstock3) (1.1.0)\n",
"Requirement already satisfied: numpy<2,>=1.22.4 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pandas->vnstock3) (1.26.4)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pandas->vnstock3) (2.9.0.post0)\n",
"Requirement already satisfied: pytz>=2020.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pandas->vnstock3) (2024.1)\n",
"Requirement already satisfied: tzdata>=2022.7 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pandas->vnstock3) (2024.1)\n",
"Requirement already satisfied: annotated-types>=0.4.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pydantic->vnstock3) (0.6.0)\n",
"Requirement already satisfied: pydantic-core==2.18.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pydantic->vnstock3) (2.18.1)\n",
"Requirement already satisfied: typing-extensions>=4.6.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from pydantic->vnstock3) (4.11.0)\n",
"Requirement already satisfied: charset-normalizer<4,>=2 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from requests->vnstock3) (3.3.2)\n",
"Requirement already satisfied: idna<4,>=2.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from requests->vnstock3) (3.6)\n",
"Requirement already satisfied: urllib3<3,>=1.21.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from requests->vnstock3) (2.2.1)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from requests->vnstock3) (2024.2.2)\n",
"Requirement already satisfied: squarify in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock-ezchart->vnstock3) (0.4.3)\n",
"Requirement already satisfied: wordcloud in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock-ezchart->vnstock3) (1.9.3)\n",
"Requirement already satisfied: vnstock in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from vnstock-ezchart->vnstock3) (0.2.9.0)\n",
"Requirement already satisfied: six>=1.5 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas->vnstock3) (1.16.0)\n",
"Requirement already satisfied: cffi>=1.12 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from cryptography->vnai>=0.1.0->vnstock3) (1.16.0)\n",
"Requirement already satisfied: pillow in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from wordcloud->vnstock-ezchart->vnstock3) (9.5.0)\n",
"Requirement already satisfied: matplotlib in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from wordcloud->vnstock-ezchart->vnstock3) (3.8.4)\n",
"Requirement already satisfied: pycparser in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from cffi>=1.12->cryptography->vnai>=0.1.0->vnstock3) (2.22)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (1.2.1)\n",
"Requirement already satisfied: cycler>=0.10 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (4.51.0)\n",
"Requirement already satisfied: kiwisolver>=1.3.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (1.4.5)\n",
"Requirement already satisfied: packaging>=20.0 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (23.2)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages (from matplotlib->wordcloud->vnstock-ezchart->vnstock3) (3.1.2)\n"
]
}
],
"source": [
"!pip install -U vnstock3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tự động chấp nhận thoả thuận người dùng"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trong trường hợp bạn sử dụng Vnstock3 trên Google Colab (hoặc các môi trường không có giao diện nhập liêụ), việc hiển thị thoả thuận người dùng mỗi lần khởi động phiên làm việc có thể khiến bạn phiền lòng, hãy đặt đoạn code này trước dòng lệnh nạp thư viện vnstock3 để tự động chấp nhận và bỏ qua bước yêu cầu chấp nhận thoả thuận sử dụng."
]
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"if \"ACCEPT_TC\" not in os.environ:\n",
" os.environ[\"ACCEPT_TC\"] = \"tôi đồng ý\""
"!pip install -U vnstock3"
]
},
{
Expand Down Expand Up @@ -6934,7 +6864,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0rc2"
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
27 changes: 1 addition & 26 deletions docs/2_international_market.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,31 +49,6 @@
"!pip install -U vnstock3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tự động chấp nhận thoả thuận người dùng"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trong trường hợp bạn sử dụng Vnstock3 trên Google Colab, việc hiển thị thoả thuận người dùng mỗi lần khởi động phiên làm việc có thể khiến bạn phiền lòng, hãy đặt đoạn code này vào notebook để tự động chấp nhận và bỏ qua bước yêu cầu chấp nhận thoả thuận sử dụng."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"if \"ACCEPT_TC\" not in os.environ:\n",
" os.environ[\"ACCEPT_TC\"] = \"tôi đồng ý\""
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -1402,7 +1377,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0rc2"
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
25 changes: 0 additions & 25 deletions docs/3_commodities_vnstock3.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,31 +49,6 @@
"!pip install -U vnstock3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tự động chấp nhận thoả thuận người dùng"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trong trường hợp bạn sử dụng Vnstock3 trên Google Colab, việc hiển thị thoả thuận người dùng mỗi lần khởi động phiên làm việc có thể khiến bạn phiền lòng, hãy đặt đoạn code này vào notebook để tự động chấp nhận và bỏ qua bước yêu cầu chấp nhận thoả thuận sử dụng."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"if \"ACCEPT_TC\" not in os.environ:\n",
" os.environ[\"ACCEPT_TC\"] = \"tôi đồng ý\""
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down
27 changes: 1 addition & 26 deletions docs/5_visualization_data_exploration_vnstock3.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,31 +49,6 @@
"!pip install -U vnstock3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Tự động chấp nhận thoả thuận người dùng"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Trong trường hợp bạn sử dụng Vnstock3 trên Google Colab (hoặc các môi trường không có giao diện nhập liêụ), việc hiển thị thoả thuận người dùng mỗi lần khởi động phiên làm việc có thể khiến bạn phiền lòng, hãy đặt đoạn code này trước dòng lệnh nạp thư viện vnstock3 để tự động chấp nhận và bỏ qua bước yêu cầu chấp nhận thoả thuận sử dụng."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"if \"ACCEPT_TC\" not in os.environ:\n",
" os.environ[\"ACCEPT_TC\"] = \"tôi đồng ý\""
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -1943,7 +1918,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.0rc2"
"version": "3.10.0"
}
},
"nbformat": 4,
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ dependencies = [
"requests",
"beautifulsoup4",
"pandas",
"vnai>=0.1.0",
"vnai>=0.1.3",
"openpyxl",
"pydantic",
"psutil",
Expand Down
7 changes: 5 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

setup(
name="vnstock3",
version="0.3.0.5",
version="0.3.0.6",
description="A comprehensive and transparent solution for Vietnamese stock market analysis.",
long_description=open("README.md", "r", encoding="utf-8").read(),
long_description_content_type="text/markdown",
Expand All @@ -15,6 +15,9 @@
url="https://github.com/thinh-vu/vnstock",
classifiers=[
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
Expand All @@ -27,7 +30,7 @@
"requests",
"beautifulsoup4",
"pandas",
"vnai>=0.1.0",
"vnai>=0.1.3",
"openpyxl",
"pydantic",
"psutil",
Expand Down
Binary file modified vnstock3/.DS_Store
Binary file not shown.
17 changes: 14 additions & 3 deletions vnstock3/common/data/data_explorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,18 @@ class StockComponents:
"""
SUPPORTED_SOURCES = ["VCI", "TCBS", "MSN"]

def __init__(self, symbol: str, source: str = "VCI"):
def __init__(self, symbol: str, source: str = "VCI", show_log:bool=True):
"""
Khởi tạo lớp (class) với mã chứng khoán và nguồn dữ liệu được chọn.
Tham số:
- symbol (str): Mã chứng khoán cần truy xuất thông tin.
- source (str): Nguồn dữ liệu cần truy xuất thông tin. Mặc định là 'VCI'.
- show_log (bool): mặc định là True để hiển thị đầy đủ cảnh báo, đặt False nếu muốn tắt logger.
"""
self.symbol = symbol.upper()
self.source = source.upper()
self.show_log = show_log
if self.source not in self.SUPPORTED_SOURCES:
raise ValueError(f"Hiện tại chỉ có nguồn dữ liệu từ {', '.join(self.SUPPORTED_SOURCES)} được hỗ trợ.")
self._initialize_components()
Expand All @@ -26,7 +35,8 @@ def _initialize_components(self):
if self.source not in ["VCI", "TCBS"]:
self.listing = Listing(source='VCI')
self.trading = Trading(self.symbol, source='VCI')
logger.warning("Thông tin niêm yết & giao dịch sẽ được truy xuất từ VCI")
if self.show_log:
logger.warning("Thông tin niêm yết & giao dịch sẽ được truy xuất từ VCI")
elif self.source == "TCBS":
self.listing = Listing(source='VCI')
self.trading = Trading(self.symbol, source=self.source)
Expand All @@ -41,7 +51,8 @@ def _initialize_components(self):
self.trading = Trading(self.symbol, source=self.source)
if get_asset_type(self.symbol) == "stock":
self.finance = Finance(self.symbol, source=self.source)
logger.warning("Thông tin niêm yết & giao dịch sẽ được truy xuất từ TCBS")
if self.show_log:
logger.warning("Thông tin niêm yết & giao dịch sẽ được truy xuất từ TCBS")

def update_symbol(self, symbol: str):
"""
Expand Down
12 changes: 10 additions & 2 deletions vnstock3/common/vnstock.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,16 @@ class Vnstock:
SUPPORTED_SOURCES = ["VCI", "TCBS", "MSN"]
msn_symbol_map = {**_CURRENCY_ID_MAP, **_GLOBAL_INDICES, **_CRYPTO_ID_MAP}

def __init__(self, source:str="VCI"):
def __init__(self, source:str="VCI", show_log:bool=True):
"""
Hàm khởi tạo của lớp Vnstock.
Tham số:
- source (str): Nguồn dữ liệu chứng khoán. Mặc định là 'VCI' (Vietstock). Các giá trị hợp lệ là 'VCI', 'TCBS', 'MSN'.
- show_log (bool): Hiển thị log hoạt động của chương trình. Mặc định là True.
"""
self.source = source.upper()
self.show_log = show_log
if self.source not in self.SUPPORTED_SOURCES:
raise ValueError(F"Hiện tại chỉ có nguồn dữ liệu từ {', '.join(self.SUPPORTED_SOURCES)} được hỗ trợ.")
self.source = source.upper()
Expand All @@ -27,7 +35,7 @@ def stock(self, symbol: Optional[str]=None, source: Optional[str] = "VCI"):
logger.info("Mã chứng khoán không được chỉ định, chương trình mặc định sử dụng VN30F1M")
else:
self.symbol = symbol
return StockComponents(self.symbol, source)
return StockComponents(self.symbol, source, show_log=self.show_log)

def fx(self, symbol: Optional[str]='EURUSD', source: Optional[str] = "MSN"):
if symbol:
Expand Down

0 comments on commit 560a3fc

Please sign in to comment.