twse
A Python package for querying real-time stock information from Taiwan Stock Exchange (TWSE).
Features
- Real-time stock data querying from TWSE
- Support for single or multiple stock symbols
- Comprehensive stock information including:
- Current price, volume, and price changes
- Open, high, low prices
- Best bid/ask prices
- Company information
- Formatted output suitable for display (including Telegram MarkdownV2 format)
Installation
Requires Python 3.11 or higher.
pip install twse
Usage
Basic Usage
from twse import get_stock_info_sync
# Query single stock (TSMC - 2330)
response = get_stock_info_sync("2330")
print(response.pretty_repr())
# Query multiple stocks (TSMC - 2330 and Hon Hai - 2317)
response = get_stock_info_sync(["2330", "2317"])
print(response.pretty_repr())
Async Usage
import asyncio
from twse import get_stock_info
async def main() -> None:
# Query single stock (TSMC - 2330)
response = await get_stock_info("2330")
print(response.pretty_repr())
if __name__ == "__main__":
asyncio.run(main())
Example Output
The pretty_repr() method formats the output in Telegram MarkdownV2 format:
⏰ 2024-03-21 14:30:00
📊 台積電 (2330)
Open: 735.00
High: 738.00
Low: 732.00
Last: 735.00
Change: 🔺 +0.68%
Volume: 15,234,567
Stock Information Fields
The StockInfo class provides access to various fields:
symbol: Stock symbolname: Stock namefull_name: Full company namelast_price: Current trading priceopen_price: Opening pricehigh_price: High pricelow_price: Low priceaccumulated_volume: Trading volumebest_ask_price: Best ask pricebest_bid_price: Best bid price- And more...
Development
Setup
- Clone the repository
- Install dependencies using uv:
uv pip install -r requirements.txt
Commands
- Run tests:
make test
- Run linter:
make lint
Pre-commit Hooks
The project uses pre-commit hooks for code quality. Install them with:
pre-commit install
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for twse 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| twse-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / twse-0.5.1-py3-none-any.whl
| Download URL | twse-0.5.1-py3-none-any.whl |
|---|---|
| Size | 6.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b560c3ebd6da38b5e45a53d4583625b7d9beaed37f98e7938ef072532091f5d2
|
|
BLAKE2b-256 checksum How to use checksums |
3b69a9a16cd564d0137db3a4b83dca3653df3b124561c2efaaac514409da8bb4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|