Name | thaifin JSON |
Version |
1.1.0
JSON |
| download |
home_page | None |
Summary | A Python library for access thai stock fundamental data up to 10+ years. |
upload_time | 2025-07-25 09:14:24 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.11 |
license | ISC |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# thaifin: ข้อมูลพื้นฐานหุ้น ง่ายแค่สามบรรทัด
> The same author as [PythaiNAV](https://github.com/CircleOnCircles/pythainav)
[**Documentation**](https://circleoncircles.github.io/thaifin/thaifin.html) | [**Changelog**](./CHANGELOG.md)
A Python library for access thai stock fundamental data up to 10+ years.
- faster and lesser load to server with [cachetools](https://pypi.org/project/cachetools/)
- more robust with auto retry with expo wait via [tenacity](https://github.com/jd/tenacity)
- better than nothing docs with [pdoc](https://pdoc.dev/)
<a href="https://imgflip.com/i/4dxnzi"><img src="https://i.imgflip.com/4dxnzi.jpg" title="made at imgflip.com"/></a><div></div>
ไพทอนไลบารี่สำหรับเข้าถึงข้อมูลปัจจัยพื้นฐานของหุ้นในตลาดไทยมากถึง 10+ ปี
## Get Started
```bash
# Pick one ✨
$ pip install thaifin
$ conda install thaifin
```
```python
# Import both classes for different use cases
from thaifin import Stock, Stocks
# Collection operations with Stocks class
# Get all stock symbols
all_symbols = Stocks.list()
# ['T', 'A', 'U', 'J', 'W', 'B', 'D', 'S', 'M', 'K', 'EE', ...
# Smart search with auto language detection
top5match = Stocks.search('จัสมิน') # Thai search
# [<Stock JTS - updated just now>, <Stock JAS - updated just now>, <Stock JASIF - updated just now>, ...
cp_stocks = Stocks.search('cp') # English search
# [<Stock CPALL - updated just now>, <Stock CPANEL - updated just now>, <Stock CPAXT - updated just now>, ...
# Get detailed stock list with company info
stock_df = Stocks.list_with_names()
# symbol name industry sector market
# 0 24CS Twenty-Four Con & Supply Public Company Limited Property & Construction - mai
# 1 2S 2S METAL PUBLIC COMPANY LIMITED Industrials Steel and Metal Products SET
# Filter stocks by sector or market
banking_stocks = Stocks.filter_by_sector('Banking')
mai_stocks = Stocks.filter_by_market('mai')
# Individual stock operations with Stock class
stock = Stock('PTT')
# <Stock PTT - updated just now>
# Access company information
print(f"Company: {stock.company_name}")
print(f"Sector: {stock.sector}")
print(f"Industry: {stock.industry}")
# Get financial data as pandas DataFrames
stock.quarter_dataframe
# Cash DA ... FinancingActivities Asset
# Time ...
# 2009Q1 9.383006e+07 1.070218e+07 ... 3.101551e+07 9.453044e+08
# 2009Q2 9.643438e+07 8.893013e+06 ... 3.195314e+07 1.042480e+09
# 2009Q3 1.050549e+08 1.127702e+07 ... 1.100019e+07 1.099084e+09
# 2009Q4 1.040559e+08 1.227756e+07 ... -1.356621e+07 1.103590e+09
# ...
# 2019Q4 2.925425e+08 3.581462e+07 ... -2.179443e+07 2.484439e+09
# 2020Q1 2.543450e+08 3.586543e+07 ... -2.705637e+07 2.499666e+09
# 2020Q2 2.578579e+08 3.460213e+07 ... 2.117104e+07 2.449277e+09
# [46 rows x 35 columns]
stock.yearly_dataframe
# Cash DA ... FinancingActivities Asset
# Fiscal ...
# 2009 1.040559e+08 4.314976e+07 ... 6.040263e+07 1.103590e+09
# 2010 1.356320e+08 5.122258e+07 ... 3.761321e+06 1.249148e+09
# 2011 1.161321e+08 5.531816e+07 ... -4.542309e+07 1.402412e+09
# 2012 1.369176e+08 6.523743e+07 ... 2.771070e+07 1.631320e+09
# 2013 1.576835e+08 7.631456e+07 ... -5.579036e+07 1.801722e+09
# 2014 2.037854e+08 1.170070e+08 ... -4.731543e+07 1.779179e+09
# 2015 2.399779e+08 1.488855e+08 ... -1.638133e+08 2.173996e+09
# 2016 2.155664e+08 1.297570e+08 ... -1.162034e+08 2.232331e+09
# 2017 1.661890e+08 1.171472e+08 ... -1.624979e+08 2.232314e+09
# 2018 2.921843e+08 1.235563e+08 ... -1.114676e+08 2.355484e+09
# 2019 2.925425e+08 1.332042e+08 ... -7.022567e+07 2.484439e+09
# [11 rows x 35 columns]
```
### Columns Data
```python
class QuarterFinancialSheetDatum(BaseModel):
security_id: str
fiscal: int
quarter: int
cash: Optional[str]
da: Optional[str]
debt_to_equity: Optional[str]
equity: Optional[str]
earning_per_share: Optional[str]
earning_per_share_yoy: Optional[str]
earning_per_share_qoq: Optional[str]
gpm: Optional[str]
gross_profit: Optional[str]
net_profit: Optional[str]
net_profit_yoy: Optional[str]
net_profit_qoq: Optional[str]
npm: Optional[str]
revenue: Optional[str]
revenue_yoy: Optional[str]
revenue_qoq: Optional[str]
roa: Optional[str]
roe: Optional[str]
sga: Optional[str]
sga_per_revenue: Optional[str]
total_debt: Optional[str]
dividend_yield: Optional[str]
book_value_per_share: Optional[str]
close: Optional[str]
mkt_cap: Optional[str]
price_earning_ratio: Optional[str]
price_book_value: Optional[str]
ev_per_ebit_da: Optional[str]
ebit_dattm: Optional[str]
paid_up_capital: Optional[str]
cash_cycle: Optional[str]
operating_activities: Optional[str]
investing_activities: Optional[str]
financing_activities: Optional[str]
asset: Optional[str]
end_of_year_date: Optional[str]
```
## Disclaimer
เราไม่รับประกันความเสียหายใดๆทั้งสิ้นที่เกิดจาก แหล่งข้อมูล, library, source code,sample code, documentation, library dependencies และอื่นๆ
## FAQ
Q: อยากขอบคุณอ่ะ อยากตอบแทนอ่ะ 😋 ทำไงดี?
A: ถ้าเป็น developer สามารถช่วยส่ง PR หรือ pull request ได้ครับ ไม่ว่าจะเป็นงานเล็กน้อยเช่นแก้การพิมพ์ผิด หรือช่วยทำคู่มือ ยินดีมากๆครับ สามารถสนับสนุนผม
โดยการบริจาคครั้งเดียวผ่าน [Ko-fi](https://ko-fi.com/circleoncircles) หรือ [patreon](https://www.patreon.com/CircleOnCircles) ก็ได้เช่นกันครับ นอกจากนี้ยังสามารถเขียนให้กำลังใจผมได้ทาง [](https://saythanks.io/to/nutchanon@codustry.com)
Q: แจ้งปัญหาไงอ่ะ ?
A: ถ้าเป็น error วิธีการใช้งานเขียน stackoverflow ได้ครับ ถ้าเป็น bug หรืออยากแนะนำขอ feature เขียน issue มาได้ครับ
Q: ข้อมูลมาจากไหน เชื่อถือได้แค่ไหน ?
A: ข้อมูลมาจากสาธารณะหลายแหล่งครับ ตอนที่เขียนมีเว็ป Finnomena, Set, Settrade เชื่อถือได้ไม่ได้คงต้องตัดสินเองนะครับ
Q: สร้างมาทำไม ?
A: สมัยเป็นนักศึกษา ผมก็อยากได้สิ่งนี้มาก่อนครับ เป็นเครื่องมือช่วยประกอบการลงทุน และใช้ความรู้ทาง data science กับข้อมูลได้ ตอนนั้นไม่มีใครทำครับ
ข้อมูลผูกขาดเฉพาะกับบริษัทลงทุนเท่านั้น ตอนนี้ก็ยังเหมือนเดิม เพิ่มเติมคือผมมีความสามารถที่จะสร้างมัน ก็อยากให้คนรุ่นต่อไปได้มี library ดีๆ เป็นสมบัติ
ของทุกคน(License ISC) ผมจึงใช้เวลาส่วนตัวมาพัฒนาครับ ทุกคนให้ความรักมันด้วยนะครับ code ก็ต้องการความรักนะ อิอิ
Raw data
{
"_id": null,
"home_page": null,
"name": "thaifin",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Nutchanon Ninyawee <me@nutchanon.org>",
"download_url": "https://files.pythonhosted.org/packages/f0/74/0c9a7d710d085728ac88a226279e64acc7636af8bc68d85b8b641b2f6f7a/thaifin-1.1.0.tar.gz",
"platform": null,
"description": "# thaifin: \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e2b\u0e38\u0e49\u0e19 \u0e07\u0e48\u0e32\u0e22\u0e41\u0e04\u0e48\u0e2a\u0e32\u0e21\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\n\n> The same author as [PythaiNAV](https://github.com/CircleOnCircles/pythainav)\n\n [**Documentation**](https://circleoncircles.github.io/thaifin/thaifin.html) | [**Changelog**](./CHANGELOG.md)\n\nA Python library for access thai stock fundamental data up to 10+ years. \n\n- faster and lesser load to server with [cachetools](https://pypi.org/project/cachetools/)\n- more robust with auto retry with expo wait via [tenacity](https://github.com/jd/tenacity)\n- better than nothing docs with [pdoc](https://pdoc.dev/)\n\n<a href=\"https://imgflip.com/i/4dxnzi\"><img src=\"https://i.imgflip.com/4dxnzi.jpg\" title=\"made at imgflip.com\"/></a><div></div>\n\n\u0e44\u0e1e\u0e17\u0e2d\u0e19\u0e44\u0e25\u0e1a\u0e32\u0e23\u0e35\u0e48\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e38\u0e49\u0e19\u0e43\u0e19\u0e15\u0e25\u0e32\u0e14\u0e44\u0e17\u0e22\u0e21\u0e32\u0e01\u0e16\u0e36\u0e07 10+ \u0e1b\u0e35\n\n## Get Started\n\n```bash\n# Pick one \u2728\n$ pip install thaifin\n$ conda install thaifin\n```\n\n```python\n# Import both classes for different use cases\nfrom thaifin import Stock, Stocks\n\n# Collection operations with Stocks class\n# Get all stock symbols\nall_symbols = Stocks.list() \n# ['T', 'A', 'U', 'J', 'W', 'B', 'D', 'S', 'M', 'K', 'EE', ...\n\n# Smart search with auto language detection\ntop5match = Stocks.search('\u0e08\u0e31\u0e2a\u0e21\u0e34\u0e19') # Thai search\n# [<Stock JTS - updated just now>, <Stock JAS - updated just now>, <Stock JASIF - updated just now>, ...\n\ncp_stocks = Stocks.search('cp') # English search\n# [<Stock CPALL - updated just now>, <Stock CPANEL - updated just now>, <Stock CPAXT - updated just now>, ...\n\n# Get detailed stock list with company info\nstock_df = Stocks.list_with_names()\n# symbol name industry sector market\n# 0 24CS Twenty-Four Con & Supply Public Company Limited Property & Construction - mai\n# 1 2S 2S METAL PUBLIC COMPANY LIMITED Industrials Steel and Metal Products SET\n\n# Filter stocks by sector or market\nbanking_stocks = Stocks.filter_by_sector('Banking')\nmai_stocks = Stocks.filter_by_market('mai')\n\n# Individual stock operations with Stock class\nstock = Stock('PTT')\n# <Stock PTT - updated just now>\n\n# Access company information\nprint(f\"Company: {stock.company_name}\")\nprint(f\"Sector: {stock.sector}\")\nprint(f\"Industry: {stock.industry}\")\n\n# Get financial data as pandas DataFrames\nstock.quarter_dataframe\n\n# Cash DA ... FinancingActivities Asset\n# Time ... \n# 2009Q1 9.383006e+07 1.070218e+07 ... 3.101551e+07 9.453044e+08\n# 2009Q2 9.643438e+07 8.893013e+06 ... 3.195314e+07 1.042480e+09\n# 2009Q3 1.050549e+08 1.127702e+07 ... 1.100019e+07 1.099084e+09\n# 2009Q4 1.040559e+08 1.227756e+07 ... -1.356621e+07 1.103590e+09\n# ...\n# 2019Q4 2.925425e+08 3.581462e+07 ... -2.179443e+07 2.484439e+09\n# 2020Q1 2.543450e+08 3.586543e+07 ... -2.705637e+07 2.499666e+09\n# 2020Q2 2.578579e+08 3.460213e+07 ... 2.117104e+07 2.449277e+09\n# [46 rows x 35 columns]\n\nstock.yearly_dataframe\n\n # Cash DA ... FinancingActivities Asset\n# Fiscal ... \n# 2009 1.040559e+08 4.314976e+07 ... 6.040263e+07 1.103590e+09\n# 2010 1.356320e+08 5.122258e+07 ... 3.761321e+06 1.249148e+09\n# 2011 1.161321e+08 5.531816e+07 ... -4.542309e+07 1.402412e+09\n# 2012 1.369176e+08 6.523743e+07 ... 2.771070e+07 1.631320e+09\n# 2013 1.576835e+08 7.631456e+07 ... -5.579036e+07 1.801722e+09\n# 2014 2.037854e+08 1.170070e+08 ... -4.731543e+07 1.779179e+09\n# 2015 2.399779e+08 1.488855e+08 ... -1.638133e+08 2.173996e+09\n# 2016 2.155664e+08 1.297570e+08 ... -1.162034e+08 2.232331e+09\n# 2017 1.661890e+08 1.171472e+08 ... -1.624979e+08 2.232314e+09\n# 2018 2.921843e+08 1.235563e+08 ... -1.114676e+08 2.355484e+09\n# 2019 2.925425e+08 1.332042e+08 ... -7.022567e+07 2.484439e+09\n# [11 rows x 35 columns]\n\n```\n\n### Columns Data\n\n```python\nclass QuarterFinancialSheetDatum(BaseModel):\n security_id: str\n fiscal: int\n quarter: int\n cash: Optional[str]\n da: Optional[str]\n debt_to_equity: Optional[str]\n equity: Optional[str]\n earning_per_share: Optional[str]\n earning_per_share_yoy: Optional[str]\n earning_per_share_qoq: Optional[str]\n gpm: Optional[str]\n gross_profit: Optional[str]\n net_profit: Optional[str]\n net_profit_yoy: Optional[str]\n net_profit_qoq: Optional[str]\n npm: Optional[str]\n revenue: Optional[str]\n revenue_yoy: Optional[str]\n revenue_qoq: Optional[str]\n roa: Optional[str]\n roe: Optional[str]\n sga: Optional[str]\n sga_per_revenue: Optional[str]\n total_debt: Optional[str]\n dividend_yield: Optional[str]\n book_value_per_share: Optional[str]\n close: Optional[str]\n mkt_cap: Optional[str]\n price_earning_ratio: Optional[str]\n price_book_value: Optional[str]\n ev_per_ebit_da: Optional[str]\n ebit_dattm: Optional[str]\n paid_up_capital: Optional[str]\n cash_cycle: Optional[str]\n operating_activities: Optional[str]\n investing_activities: Optional[str]\n financing_activities: Optional[str]\n asset: Optional[str]\n end_of_year_date: Optional[str]\n```\n\n## Disclaimer\n\n\u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e30\u0e01\u0e31\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e22\u0e2b\u0e32\u0e22\u0e43\u0e14\u0e46\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e08\u0e32\u0e01 \u0e41\u0e2b\u0e25\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25, library, source code,sample code, documentation, library dependencies \u0e41\u0e25\u0e30\u0e2d\u0e37\u0e48\u0e19\u0e46\n\n## FAQ\nQ: \u0e2d\u0e22\u0e32\u0e01\u0e02\u0e2d\u0e1a\u0e04\u0e38\u0e13\u0e2d\u0e48\u0e30 \u0e2d\u0e22\u0e32\u0e01\u0e15\u0e2d\u0e1a\u0e41\u0e17\u0e19\u0e2d\u0e48\u0e30 \ud83d\ude0b \u0e17\u0e33\u0e44\u0e07\u0e14\u0e35?\n\nA: \u0e16\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19 developer \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e0a\u0e48\u0e27\u0e22\u0e2a\u0e48\u0e07 PR \u0e2b\u0e23\u0e37\u0e2d pull request \u0e44\u0e14\u0e49\u0e04\u0e23\u0e31\u0e1a \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e07\u0e32\u0e19\u0e40\u0e25\u0e47\u0e01\u0e19\u0e49\u0e2d\u0e22\u0e40\u0e0a\u0e48\u0e19\u0e41\u0e01\u0e49\u0e01\u0e32\u0e23\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e1c\u0e34\u0e14 \u0e2b\u0e23\u0e37\u0e2d\u0e0a\u0e48\u0e27\u0e22\u0e17\u0e33\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d \u0e22\u0e34\u0e19\u0e14\u0e35\u0e21\u0e32\u0e01\u0e46\u0e04\u0e23\u0e31\u0e1a \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e1c\u0e21\n\u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e08\u0e32\u0e04\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e1c\u0e48\u0e32\u0e19 [Ko-fi](https://ko-fi.com/circleoncircles) \u0e2b\u0e23\u0e37\u0e2d [patreon](https://www.patreon.com/CircleOnCircles) \u0e01\u0e47\u0e44\u0e14\u0e49\u0e40\u0e0a\u0e48\u0e19\u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a \u0e19\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49\u0e22\u0e31\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e2b\u0e49\u0e01\u0e33\u0e25\u0e31\u0e07\u0e43\u0e08\u0e1c\u0e21\u0e44\u0e14\u0e49\u0e17\u0e32\u0e07 [](https://saythanks.io/to/nutchanon@codustry.com)\n\nQ: \u0e41\u0e08\u0e49\u0e07\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e44\u0e07\u0e2d\u0e48\u0e30 ?\n\nA: \u0e16\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19 error \u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19 stackoverflow \u0e44\u0e14\u0e49\u0e04\u0e23\u0e31\u0e1a \u0e16\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19 bug \u0e2b\u0e23\u0e37\u0e2d\u0e2d\u0e22\u0e32\u0e01\u0e41\u0e19\u0e30\u0e19\u0e33\u0e02\u0e2d feature \u0e40\u0e02\u0e35\u0e22\u0e19 issue \u0e21\u0e32\u0e44\u0e14\u0e49\u0e04\u0e23\u0e31\u0e1a\n\nQ: \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e21\u0e32\u0e08\u0e32\u0e01\u0e44\u0e2b\u0e19 \u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e16\u0e37\u0e2d\u0e44\u0e14\u0e49\u0e41\u0e04\u0e48\u0e44\u0e2b\u0e19 ?\n\nA: \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e21\u0e32\u0e08\u0e32\u0e01\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30\u0e2b\u0e25\u0e32\u0e22\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e04\u0e23\u0e31\u0e1a \u0e15\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e21\u0e35\u0e40\u0e27\u0e47\u0e1b Finnomena, Set, Settrade \u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e16\u0e37\u0e2d\u0e44\u0e14\u0e49\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e04\u0e07\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e31\u0e14\u0e2a\u0e34\u0e19\u0e40\u0e2d\u0e07\u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a\n\nQ: \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e21\u0e32\u0e17\u0e33\u0e44\u0e21 ?\n\nA: \u0e2a\u0e21\u0e31\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32 \u0e1c\u0e21\u0e01\u0e47\u0e2d\u0e22\u0e32\u0e01\u0e44\u0e14\u0e49\u0e2a\u0e34\u0e48\u0e07\u0e19\u0e35\u0e49\u0e21\u0e32\u0e01\u0e48\u0e2d\u0e19\u0e04\u0e23\u0e31\u0e1a \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e0a\u0e48\u0e27\u0e22\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e25\u0e07\u0e17\u0e38\u0e19 \u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e17\u0e32\u0e07 data science \u0e01\u0e31\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e14\u0e49 \u0e15\u0e2d\u0e19\u0e19\u0e31\u0e49\u0e19\u0e44\u0e21\u0e48\u0e21\u0e35\u0e43\u0e04\u0e23\u0e17\u0e33\u0e04\u0e23\u0e31\u0e1a \n\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e01\u0e02\u0e32\u0e14\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e31\u0e1a\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17\u0e25\u0e07\u0e17\u0e38\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e01\u0e47\u0e22\u0e31\u0e07\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e34\u0e21 \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e04\u0e37\u0e2d\u0e1c\u0e21\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e21\u0e31\u0e19 \u0e01\u0e47\u0e2d\u0e22\u0e32\u0e01\u0e43\u0e2b\u0e49\u0e04\u0e19\u0e23\u0e38\u0e48\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e44\u0e14\u0e49\u0e21\u0e35 library \u0e14\u0e35\u0e46 \u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\n\u0e02\u0e2d\u0e07\u0e17\u0e38\u0e01\u0e04\u0e19(License ISC) \u0e1c\u0e21\u0e08\u0e36\u0e07\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e21\u0e32\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e04\u0e23\u0e31\u0e1a \u0e17\u0e38\u0e01\u0e04\u0e19\u0e43\u0e2b\u0e49\u0e04\u0e27\u0e32\u0e21\u0e23\u0e31\u0e01\u0e21\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22\u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a code \u0e01\u0e47\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e23\u0e31\u0e01\u0e19\u0e30 \u0e2d\u0e34\u0e2d\u0e34\n\n \n \n",
"bugtrack_url": null,
"license": "ISC",
"summary": "A Python library for access thai stock fundamental data up to 10+ years.",
"version": "1.1.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "59fa9fff047a29b3a89cebebac7d4343e74b64da6a345d47c8190d0b1d20eaae",
"md5": "71f4da6c9974dac31e5204fc6b205405",
"sha256": "c90739b01edb786d6c41cd625cf047ab632be577ae07b7ea1ed268b6ef32071b"
},
"downloads": -1,
"filename": "thaifin-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "71f4da6c9974dac31e5204fc6b205405",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 20864,
"upload_time": "2025-07-25T09:14:24",
"upload_time_iso_8601": "2025-07-25T09:14:24.106476Z",
"url": "https://files.pythonhosted.org/packages/59/fa/9fff047a29b3a89cebebac7d4343e74b64da6a345d47c8190d0b1d20eaae/thaifin-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f0740c9a7d710d085728ac88a226279e64acc7636af8bc68d85b8b641b2f6f7a",
"md5": "c2ab60417cbf3d6f83828e81a006c08d",
"sha256": "75a8ab2b22588065bf20808c3bb4a156654c7ad4c384e29acb13b42985e16448"
},
"downloads": -1,
"filename": "thaifin-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c2ab60417cbf3d6f83828e81a006c08d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 309527,
"upload_time": "2025-07-25T09:14:24",
"upload_time_iso_8601": "2025-07-25T09:14:24.963738Z",
"url": "https://files.pythonhosted.org/packages/f0/74/0c9a7d710d085728ac88a226279e64acc7636af8bc68d85b8b641b2f6f7a/thaifin-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-25 09:14:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "thaifin"
}