Name | tudata JSON |
Version |
1.0.3
JSON |
| download |
home_page | None |
Summary | A Python library for accessing Tushare financial data through optimized API |
upload_time | 2025-09-03 08:36:36 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
keywords |
finance
data
tushare
stock
market
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# TuData
A Python library for accessing Tushare financial data through optimized API.
## Features
- 🚀 **Optimized Performance**: Built-in connection pooling and retry mechanisms
- 📊 **Comprehensive Data**: Access to stocks, funds, futures, options, and cryptocurrency data
- 🔧 **Easy to Use**: Simple and intuitive API interface
- 🛡️ **Robust**: Automatic error handling and retry logic
- 📈 **Real-time**: Support for real-time and historical financial data
## Installation
```bash
pip install tudata
```
## Quick Start
### 1. Set Your Token
```python
import tudata as ts
# Set your Tushare token (only need to do this once)
ts.set_token('your_tushare_token_here')
```
### 2. Initialize API Client
```python
# Initialize the API client
api = ts.pro_api()
# Or initialize with token directly
api = ts.pro_api(token='your_token_here')
```
### 3. Fetch Data
```python
# Get stock basic information
stocks = api.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
print(stocks.head())
# Get daily trading data
daily_data = api.daily(ts_code='000001.SZ', start_date='20240101', end_date='20241201')
print(daily_data.head())
# Get trading calendar
cal = api.trade_cal(exchange='', start_date='20240101', end_date='20241201')
print(cal.head())
```
### 4. Use Pro Bar for Time Series Data
```python
# Get historical price data with pro_bar
df = ts.pro_bar(ts_code='000001.SZ', start_date='20240101', end_date='20241201', freq='D')
print(df.head())
```
## API Reference
### Core Classes
#### `pro_api`
The main API client class for accessing Tushare data.
```python
api = ts.pro_api(token=None)
```
**Parameters:**
- `token` (str, optional): Your Tushare API token. If not provided, will use stored token.
#### Main Methods
##### Stock Data
- `stock_basic(**kwargs)` - Get basic stock information
- `daily(**kwargs)` - Get daily trading data
- `weekly(**kwargs)` - Get weekly trading data
- `monthly(**kwargs)` - Get monthly trading data
- `adj_factor(**kwargs)` - Get adjustment factors
- `daily_basic(**kwargs)` - Get daily basic trading metrics
##### Financial Statements
- `income(**kwargs)` - Get income statement data
- `balancesheet(**kwargs)` - Get balance sheet data
- `cashflow(**kwargs)` - Get cash flow statement data
- `fina_indicator(**kwargs)` - Get financial indicators
##### Market Data
- `moneyflow(**kwargs)` - Get money flow data
- `top_list(**kwargs)` - Get top gainers/losers
- `limit_list_d(**kwargs)` - Get daily limit up/down stocks
##### Index Data
- `index_basic(**kwargs)` - Get index basic information
- `index_daily(**kwargs)` - Get index daily data
- `index_weight(**kwargs)` - Get index constituent weights
##### Fund Data
- `fund_basic(**kwargs)` - Get fund basic information
- `fund_nav(**kwargs)` - Get fund net asset value
- `fund_daily(**kwargs)` - Get fund daily trading data
##### And many more...
### Utility Functions
#### `set_token(token)`
Store your Tushare API token locally.
**Parameters:**
- `token` (str): Your Tushare API token
#### `get_token()`
Retrieve the stored Tushare API token.
**Returns:**
- `str`: The stored token, or None if not set
#### `pro_bar(ts_code, start_date, end_date, freq='D', **kwargs)`
Get time series data with enhanced functionality.
**Parameters:**
- `ts_code` (str): Stock code (e.g., '000001.SZ')
- `start_date` (str): Start date in 'YYYYMMDD' format
- `end_date` (str): End date in 'YYYYMMDD' format
- `freq` (str): Data frequency ('D', 'W', 'M', etc.)
## Configuration
### Connection Settings
The library includes optimized connection settings:
- **Connection Pooling**: 10 connections with max 20 connections
- **Retry Logic**: Automatic retry on 500, 502, 503, 504 errors
- **Timeouts**: 5 seconds connection timeout, 30 seconds read timeout
### Error Handling
The library automatically handles:
- Network timeouts and retries
- Invalid token errors
- Rate limiting
- JSON parsing errors
## Examples
### Get Stock List
```python
import tudata as ts
api = ts.pro_api()
# Get all listed stocks
stocks = api.stock_basic(list_status='L')
print(f"Total stocks: {len(stocks)}")
print(stocks[['ts_code', 'name', 'industry']].head())
```
### Get Historical Prices
```python
# Get 1 year of daily data for a specific stock
data = api.daily(
ts_code='000001.SZ',
start_date='20230101',
end_date='20231231'
)
print(data[['trade_date', 'open', 'high', 'low', 'close', 'vol']].head())
```
### Get Financial Indicators
```python
# Get financial indicators for a stock
indicators = api.fina_indicator(
ts_code='000001.SZ',
start_date='20230101',
end_date='20231231'
)
print(indicators[['end_date', 'roe', 'roa', 'eps']].head())
```
### Real-time Data
```python
# Get real-time quotes (requires special permission)
quotes = api.realtime_quote(ts_code='000001.SZ,000002.SZ')
print(quotes)
```
## Requirements
- Python 3.7+
- pandas >= 1.0.0
- requests >= 2.25.0
- urllib3 >= 1.26.0
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## Support
If you encounter any issues or have questions, please file an issue on the GitHub repository.
## Disclaimer
This library is for educational and research purposes. Please ensure you comply with Tushare's terms of service and any applicable financial data regulations.
Raw data
{
"_id": null,
"home_page": null,
"name": "tudata",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "fuconx <contact@tudata.com>",
"keywords": "finance, data, tushare, stock, market",
"author": null,
"author_email": "fuconx <contact@tudata.com>",
"download_url": "https://files.pythonhosted.org/packages/cb/4f/b719e4d3026eea2f95465cea54854b4aed6853d0a6cabd165214cfe9b1de/tudata-1.0.3.tar.gz",
"platform": null,
"description": "# TuData\r\n\r\nA Python library for accessing Tushare financial data through optimized API.\r\n\r\n## Features\r\n\r\n- \ud83d\ude80 **Optimized Performance**: Built-in connection pooling and retry mechanisms\r\n- \ud83d\udcca **Comprehensive Data**: Access to stocks, funds, futures, options, and cryptocurrency data\r\n- \ud83d\udd27 **Easy to Use**: Simple and intuitive API interface\r\n- \ud83d\udee1\ufe0f **Robust**: Automatic error handling and retry logic\r\n- \ud83d\udcc8 **Real-time**: Support for real-time and historical financial data\r\n\r\n## Installation\r\n\r\n```bash\r\npip install tudata\r\n```\r\n\r\n## Quick Start\r\n\r\n### 1. Set Your Token\r\n\r\n```python\r\nimport tudata as ts\r\n\r\n# Set your Tushare token (only need to do this once)\r\nts.set_token('your_tushare_token_here')\r\n```\r\n\r\n### 2. Initialize API Client\r\n\r\n```python\r\n# Initialize the API client\r\napi = ts.pro_api()\r\n\r\n# Or initialize with token directly\r\napi = ts.pro_api(token='your_token_here')\r\n```\r\n\r\n### 3. Fetch Data\r\n\r\n```python\r\n# Get stock basic information\r\nstocks = api.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')\r\nprint(stocks.head())\r\n\r\n# Get daily trading data\r\ndaily_data = api.daily(ts_code='000001.SZ', start_date='20240101', end_date='20241201')\r\nprint(daily_data.head())\r\n\r\n# Get trading calendar\r\ncal = api.trade_cal(exchange='', start_date='20240101', end_date='20241201')\r\nprint(cal.head())\r\n```\r\n\r\n### 4. Use Pro Bar for Time Series Data\r\n\r\n```python\r\n# Get historical price data with pro_bar\r\ndf = ts.pro_bar(ts_code='000001.SZ', start_date='20240101', end_date='20241201', freq='D')\r\nprint(df.head())\r\n```\r\n\r\n## API Reference\r\n\r\n### Core Classes\r\n\r\n#### `pro_api`\r\n\r\nThe main API client class for accessing Tushare data.\r\n\r\n```python\r\napi = ts.pro_api(token=None)\r\n```\r\n\r\n**Parameters:**\r\n- `token` (str, optional): Your Tushare API token. If not provided, will use stored token.\r\n\r\n#### Main Methods\r\n\r\n##### Stock Data\r\n- `stock_basic(**kwargs)` - Get basic stock information\r\n- `daily(**kwargs)` - Get daily trading data\r\n- `weekly(**kwargs)` - Get weekly trading data \r\n- `monthly(**kwargs)` - Get monthly trading data\r\n- `adj_factor(**kwargs)` - Get adjustment factors\r\n- `daily_basic(**kwargs)` - Get daily basic trading metrics\r\n\r\n##### Financial Statements\r\n- `income(**kwargs)` - Get income statement data\r\n- `balancesheet(**kwargs)` - Get balance sheet data \r\n- `cashflow(**kwargs)` - Get cash flow statement data\r\n- `fina_indicator(**kwargs)` - Get financial indicators\r\n\r\n##### Market Data\r\n- `moneyflow(**kwargs)` - Get money flow data\r\n- `top_list(**kwargs)` - Get top gainers/losers\r\n- `limit_list_d(**kwargs)` - Get daily limit up/down stocks\r\n\r\n##### Index Data\r\n- `index_basic(**kwargs)` - Get index basic information\r\n- `index_daily(**kwargs)` - Get index daily data\r\n- `index_weight(**kwargs)` - Get index constituent weights\r\n\r\n##### Fund Data\r\n- `fund_basic(**kwargs)` - Get fund basic information\r\n- `fund_nav(**kwargs)` - Get fund net asset value\r\n- `fund_daily(**kwargs)` - Get fund daily trading data\r\n\r\n##### And many more...\r\n\r\n### Utility Functions\r\n\r\n#### `set_token(token)`\r\nStore your Tushare API token locally.\r\n\r\n**Parameters:**\r\n- `token` (str): Your Tushare API token\r\n\r\n#### `get_token()`\r\nRetrieve the stored Tushare API token.\r\n\r\n**Returns:**\r\n- `str`: The stored token, or None if not set\r\n\r\n#### `pro_bar(ts_code, start_date, end_date, freq='D', **kwargs)`\r\nGet time series data with enhanced functionality.\r\n\r\n**Parameters:**\r\n- `ts_code` (str): Stock code (e.g., '000001.SZ')\r\n- `start_date` (str): Start date in 'YYYYMMDD' format\r\n- `end_date` (str): End date in 'YYYYMMDD' format \r\n- `freq` (str): Data frequency ('D', 'W', 'M', etc.)\r\n\r\n## Configuration\r\n\r\n### Connection Settings\r\n\r\nThe library includes optimized connection settings:\r\n\r\n- **Connection Pooling**: 10 connections with max 20 connections\r\n- **Retry Logic**: Automatic retry on 500, 502, 503, 504 errors\r\n- **Timeouts**: 5 seconds connection timeout, 30 seconds read timeout\r\n\r\n### Error Handling\r\n\r\nThe library automatically handles:\r\n\r\n- Network timeouts and retries\r\n- Invalid token errors\r\n- Rate limiting\r\n- JSON parsing errors\r\n\r\n## Examples\r\n\r\n### Get Stock List\r\n\r\n```python\r\nimport tudata as ts\r\n\r\napi = ts.pro_api()\r\n\r\n# Get all listed stocks\r\nstocks = api.stock_basic(list_status='L')\r\nprint(f\"Total stocks: {len(stocks)}\")\r\nprint(stocks[['ts_code', 'name', 'industry']].head())\r\n```\r\n\r\n### Get Historical Prices\r\n\r\n```python\r\n# Get 1 year of daily data for a specific stock\r\ndata = api.daily(\r\n ts_code='000001.SZ',\r\n start_date='20230101', \r\n end_date='20231231'\r\n)\r\n\r\nprint(data[['trade_date', 'open', 'high', 'low', 'close', 'vol']].head())\r\n```\r\n\r\n### Get Financial Indicators\r\n\r\n```python\r\n# Get financial indicators for a stock\r\nindicators = api.fina_indicator(\r\n ts_code='000001.SZ',\r\n start_date='20230101',\r\n end_date='20231231'\r\n)\r\n\r\nprint(indicators[['end_date', 'roe', 'roa', 'eps']].head())\r\n```\r\n\r\n### Real-time Data\r\n\r\n```python\r\n# Get real-time quotes (requires special permission)\r\nquotes = api.realtime_quote(ts_code='000001.SZ,000002.SZ')\r\nprint(quotes)\r\n```\r\n\r\n## Requirements\r\n\r\n- Python 3.7+\r\n- pandas >= 1.0.0\r\n- requests >= 2.25.0\r\n- urllib3 >= 1.26.0\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n## Support\r\n\r\nIf you encounter any issues or have questions, please file an issue on the GitHub repository.\r\n\r\n## Disclaimer\r\n\r\nThis library is for educational and research purposes. Please ensure you comply with Tushare's terms of service and any applicable financial data regulations. \r\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python library for accessing Tushare financial data through optimized API",
"version": "1.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/fuconx/tudata/issues",
"Documentation": "https://tudata.readthedocs.io",
"Homepage": "https://github.com/fuconx/tudata",
"Repository": "https://github.com/fuconx/tudata.git"
},
"split_keywords": [
"finance",
" data",
" tushare",
" stock",
" market"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9bec7955c1eb0e218dcdd8c65bb7be09a1ac3ecf40d7f6878061a6cf697235e2",
"md5": "9f443a3e5d3f9285ad181c9d3ccd2b90",
"sha256": "2c5bbdedfe80eb6e666ccfcc5f97b5063556e8011522a0c812eb55d62b07036e"
},
"downloads": -1,
"filename": "tudata-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9f443a3e5d3f9285ad181c9d3ccd2b90",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10524,
"upload_time": "2025-09-03T08:36:34",
"upload_time_iso_8601": "2025-09-03T08:36:34.585954Z",
"url": "https://files.pythonhosted.org/packages/9b/ec/7955c1eb0e218dcdd8c65bb7be09a1ac3ecf40d7f6878061a6cf697235e2/tudata-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cb4fb719e4d3026eea2f95465cea54854b4aed6853d0a6cabd165214cfe9b1de",
"md5": "edec4fc917e98cb1bcbcef319e2a1775",
"sha256": "f801aef523aa6ee00611f24edaf4e65f4e428aed5a1067a926c4ef2a7ad86915"
},
"downloads": -1,
"filename": "tudata-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "edec4fc917e98cb1bcbcef319e2a1775",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 24864,
"upload_time": "2025-09-03T08:36:36",
"upload_time_iso_8601": "2025-09-03T08:36:36.141500Z",
"url": "https://files.pythonhosted.org/packages/cb/4f/b719e4d3026eea2f95465cea54854b4aed6853d0a6cabd165214cfe9b1de/tudata-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-03 08:36:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fuconx",
"github_project": "tudata",
"github_not_found": true,
"lcname": "tudata"
}