neurostats-API 1.0.2rc4__tar.gz → 1.0.3rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/PKG-INFO +2 -2
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/README.md +1 -1
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/__init__.py +1 -1
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/__init__.py +1 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/__init__.py +1 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/__init__.py +1 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/extractor_factory.py +16 -7
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/__init__.py +1 -1
- neurostats_api-1.0.3rc1/neurostats_API/async_mode/fetchers/tej/__init__.py +3 -0
- neurostats_api-1.0.3rc1/neurostats_API/async_mode/fetchers/tej/chip.py +42 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tej/tech.py +17 -9
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/__init__.py +3 -1
- neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/__init__.py +3 -0
- neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/chip.py +23 -0
- neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/tech.py +24 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/PKG-INFO +2 -2
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/SOURCES.txt +3 -1
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/setup.py +1 -1
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/test/test_async_fetcher.py +21 -1
- neurostats_api-1.0.2rc4/neurostats_API/async_mode/fetchers/tej/__init__.py +0 -2
- neurostats_api-1.0.2rc4/neurostats_API/transformers/daily_chip/tej.py +0 -0
- neurostats_api-1.0.2rc4/neurostats_API/transformers/tej/__init__.py +0 -1
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/MANIFEST.in +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/tej.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/us.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/tej_chip.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/tej_tech.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/twse_chip.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/us_chip.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/value.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/yf.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/balance_sheet.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/cashflow.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/profit_lose.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/tej.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/transformer_factory.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/balance_sheet.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/cash_flow.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/finance_overview.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/month_revenue.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/profit_lose.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tech.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tej/seasonal_data.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/twse_institution.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/twse_margin.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/us_chip.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/value.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/cli.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/ticker_index_industry_map.json +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/ticker_to_cik.json +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/tw.json +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/us.json +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/us_TradingView_list.json +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_index.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_percent_index.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_skip_index.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_thousand_index.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/balance_sheet.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/cash_flow_percentage.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/finance_overview_dict.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/profit_lose.yaml +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/seasonal_data_field_dict.txt +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/balance_sheet.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/cash_flow.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/finance_overview.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/institution.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/margin_trading.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/month_revenue.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/profit_lose.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/tech.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/tej_finance_report.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/value_invest.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/main.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/us.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/us.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/twse_chip.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/us.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/institution.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/margin_trading.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/security_lending.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/tech.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/utils/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/utils/processor.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/agent_overview.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/stats_overview.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/us.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/tej/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/tej/finance_statement.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/base.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/tej.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/twse.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/__init__.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/calculate_value.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/data_process.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/datetime.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/db_client.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/exception.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/logger.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/dependency_links.txt +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/requires.txt +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/top_level.txt +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/setup.cfg +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/test/test_fetchers.py +0 -0
- {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/test/test_tej.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: neurostats_API
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.3rc1
|
4
4
|
Summary: The service of NeuroStats website
|
5
5
|
Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
|
6
6
|
Author: JasonWang@Neurowatt
|
@@ -71,7 +71,7 @@ pip install neurostats-API
|
|
71
71
|
```Python
|
72
72
|
>>> import neurostats_API
|
73
73
|
>>> print(neurostats_API.__version__)
|
74
|
-
1.0.
|
74
|
+
1.0.3rc1
|
75
75
|
```
|
76
76
|
|
77
77
|
### 下載舊版
|
@@ -2,10 +2,11 @@ from typing import Type, TypedDict, Optional
|
|
2
2
|
from neurostats_API.async_mode.db_extractors import (
|
3
3
|
AsyncTEJDailyTechDBExtractor, AsyncYFDailyTechDBExtractor,
|
4
4
|
AsyncDailyValueDBExtractor, AsyncTEJDailyValueDBExtractor,
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
AsyncTEJSelfSettlementDBExtractor,
|
5
|
+
AsyncTEJDailyChipDBExtractor, AsyncTWSEChipDBExtractor,
|
6
|
+
AsyncTWSEMonthlyRevenueExtractor, AsyncBalanceSheetExtractor,
|
7
|
+
AsyncProfitLoseExtractor, AsyncCashFlowExtractor,
|
8
|
+
AsyncTEJFinanceStatementDBExtractor, AsyncTEJSelfSettlementDBExtractor,
|
9
|
+
AsyncUS_F13DBExtractor
|
9
10
|
)
|
10
11
|
from neurostats_API.utils import NotSupportedError
|
11
12
|
|
@@ -92,6 +93,16 @@ EXTRACTOR_MAP: dict[str, ExtractorConfig] = {
|
|
92
93
|
開高低收
|
93
94
|
"""
|
94
95
|
},
|
96
|
+
"TEJ_Chip": {
|
97
|
+
"class_":
|
98
|
+
AsyncTEJDailyChipDBExtractor,
|
99
|
+
"default_kwargs": {},
|
100
|
+
"description":
|
101
|
+
"""
|
102
|
+
DB_collection: TEJ_chip
|
103
|
+
TWSE的評價面
|
104
|
+
"""
|
105
|
+
},
|
95
106
|
"TEJ_tech": {
|
96
107
|
"class_":
|
97
108
|
AsyncTEJDailyTechDBExtractor,
|
@@ -140,8 +151,6 @@ EXTRACTOR_MAP: dict[str, ExtractorConfig] = {
|
|
140
151
|
TWSE的評價面
|
141
152
|
"""
|
142
153
|
},
|
143
|
-
|
144
|
-
|
145
154
|
"US_Chip_F13": {
|
146
155
|
"class_":
|
147
156
|
AsyncUS_F13DBExtractor,
|
@@ -151,7 +160,7 @@ EXTRACTOR_MAP: dict[str, ExtractorConfig] = {
|
|
151
160
|
DB_collection: "us_F13_flat"
|
152
161
|
US籌碼面(F13)
|
153
162
|
"""
|
154
|
-
}
|
163
|
+
}
|
155
164
|
}
|
156
165
|
|
157
166
|
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/__init__.py
RENAMED
@@ -7,5 +7,5 @@ from .twse_margin import AsyncTWSEMarginFetcher
|
|
7
7
|
from .month_revenue import AsyncMonthlyRevenueFetcher
|
8
8
|
from .profit_lose import AsyncProfitLoseFetcher
|
9
9
|
from .value import AsyncTWSEStatsValueFetcher
|
10
|
-
from .tej import AsyncTEJDailyTechFetcher, AsyncTEJSeasonalFetcher
|
10
|
+
from .tej import AsyncTEJChipFetcher, AsyncTEJDailyTechFetcher, AsyncTEJSeasonalFetcher
|
11
11
|
from .us_chip import AsyncUSChipF13Fetcher, AsyncUSCelebrityFetcher
|
@@ -0,0 +1,42 @@
|
|
1
|
+
from datetime import datetime
|
2
|
+
|
3
|
+
from neurostats_API.async_mode.fetchers.base import AsyncBaseFetcher
|
4
|
+
|
5
|
+
from neurostats_API.async_mode.factory import get_extractor
|
6
|
+
from neurostats_API.transformers import TEJChipTransformer
|
7
|
+
from neurostats_API.utils import NotSupportedError
|
8
|
+
|
9
|
+
class AsyncTEJChipFetcher(AsyncBaseFetcher):
|
10
|
+
def __init__(
|
11
|
+
self,
|
12
|
+
ticker,
|
13
|
+
client
|
14
|
+
):
|
15
|
+
self.ticker = ticker
|
16
|
+
self.transformer_map = {"tw": TEJChipTransformer}
|
17
|
+
try:
|
18
|
+
self.extractor = get_extractor("TEJ_Chip", ticker, client)
|
19
|
+
|
20
|
+
company_name = self.extractor.get_company_name()
|
21
|
+
zone = self.extractor.get_zone()
|
22
|
+
|
23
|
+
transformer = self.get_transformer(zone)
|
24
|
+
self.transformer = transformer(ticker, company_name, zone)
|
25
|
+
|
26
|
+
except NotSupportedError as e:
|
27
|
+
raise NotSupportedError(
|
28
|
+
f"{self.__class__.__name__} only support {list(self.transformer_map.keys())} companies now, {ticker} is not available"
|
29
|
+
) from e
|
30
|
+
|
31
|
+
async def query_data(
|
32
|
+
self, start_date=None, end_date=None, get_latest=False
|
33
|
+
):
|
34
|
+
fetched_data = await self.extractor.query_data(
|
35
|
+
start_date, end_date, get_latest
|
36
|
+
)
|
37
|
+
|
38
|
+
transformed_data = self.transformer.process_transform(
|
39
|
+
fetched_data = fetched_data
|
40
|
+
)
|
41
|
+
|
42
|
+
return transformed_data
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tej/tech.py
RENAMED
@@ -1,10 +1,12 @@
|
|
1
1
|
import pandas as pd
|
2
2
|
from neurostats_API.async_mode.fetchers.base import AsyncBaseFetcher
|
3
3
|
from neurostats_API.async_mode.factory import get_extractor
|
4
|
+
from neurostats_API.transformers import TEJTechTransformer
|
4
5
|
from neurostats_API.utils import NotSupportedError
|
5
6
|
|
7
|
+
|
6
8
|
class AsyncTEJDailyTechFetcher(AsyncBaseFetcher):
|
7
|
-
|
9
|
+
|
8
10
|
def __init__(
|
9
11
|
self,
|
10
12
|
ticker,
|
@@ -17,18 +19,24 @@ class AsyncTEJDailyTechFetcher(AsyncBaseFetcher):
|
|
17
19
|
self.company_name = self.extractor.get_company_name()
|
18
20
|
self.zone = self.extractor.get_zone()
|
19
21
|
|
22
|
+
self.transformer = TEJTechTransformer(
|
23
|
+
ticker, self.company_name, self.zone
|
24
|
+
)
|
25
|
+
|
20
26
|
except NotSupportedError as e:
|
21
27
|
raise NotSupportedError(
|
22
28
|
f"{self.__class__.__name__} only support TW companies now, {ticker} is not available"
|
23
29
|
) from e
|
24
|
-
|
30
|
+
|
25
31
|
async def query_data(self, start_date, end_date):
|
26
32
|
data = await self.extractor.query_data(start_date, end_date)
|
27
33
|
df = pd.DataFrame(data)
|
28
|
-
return df.rename(
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
34
|
+
return df.rename(
|
35
|
+
columns={
|
36
|
+
"open_d": "open",
|
37
|
+
"high_d": "high",
|
38
|
+
"low_d": "low",
|
39
|
+
"close_d": "close",
|
40
|
+
"vol": "volume"
|
41
|
+
}
|
42
|
+
)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from .base import BaseTEJTransformer
|
2
|
+
import pandas as pd
|
3
|
+
|
4
|
+
class TEJChipTransformer(BaseTEJTransformer):
|
5
|
+
def __init__(self, ticker, company_name, zone):
|
6
|
+
super().__init__(ticker, company_name, zone)
|
7
|
+
self.return_keys = ["chip_data"]
|
8
|
+
|
9
|
+
|
10
|
+
def process_transform(
|
11
|
+
self,
|
12
|
+
fetched_data
|
13
|
+
):
|
14
|
+
if (not fetched_data):
|
15
|
+
return self._get_empty_structure()
|
16
|
+
|
17
|
+
fetched_data = pd.DataFrame(fetched_data)
|
18
|
+
|
19
|
+
return {
|
20
|
+
"ticker": self.ticker,
|
21
|
+
"company_name": self.company_name,
|
22
|
+
"chip_data": fetched_data
|
23
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
from .base import BaseTEJTransformer
|
2
|
+
import pandas as pd
|
3
|
+
|
4
|
+
|
5
|
+
class TEJTechTransformer(BaseTEJTransformer):
|
6
|
+
|
7
|
+
def __init__(self, ticker, company_name, zone):
|
8
|
+
super().__init__(ticker, company_name, zone)
|
9
|
+
self.fetched_data = None
|
10
|
+
|
11
|
+
def process_transform(self, fetched_data):
|
12
|
+
self.fetched_data = pd.DataFrame(fetched_data)
|
13
|
+
|
14
|
+
self.fetched_data = self.fetched_data.rename(
|
15
|
+
columns={
|
16
|
+
"open_d": "open",
|
17
|
+
"high_d": "high",
|
18
|
+
"low_d": "low",
|
19
|
+
"close_d": "close",
|
20
|
+
"vol": "volume"
|
21
|
+
}
|
22
|
+
)
|
23
|
+
|
24
|
+
return self.fetched_data
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: neurostats_API
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.3rc1
|
4
4
|
Summary: The service of NeuroStats website
|
5
5
|
Home-page: https://github.com/NeurowattStats/NeuroStats_API.git
|
6
6
|
Author: JasonWang@Neurowatt
|
@@ -71,7 +71,7 @@ pip install neurostats-API
|
|
71
71
|
```Python
|
72
72
|
>>> import neurostats_API
|
73
73
|
>>> print(neurostats_API.__version__)
|
74
|
-
1.0.
|
74
|
+
1.0.3rc1
|
75
75
|
```
|
76
76
|
|
77
77
|
### 下載舊版
|
@@ -50,6 +50,7 @@ neurostats_API/async_mode/fetchers/twse_margin.py
|
|
50
50
|
neurostats_API/async_mode/fetchers/us_chip.py
|
51
51
|
neurostats_API/async_mode/fetchers/value.py
|
52
52
|
neurostats_API/async_mode/fetchers/tej/__init__.py
|
53
|
+
neurostats_API/async_mode/fetchers/tej/chip.py
|
53
54
|
neurostats_API/async_mode/fetchers/tej/seasonal_data.py
|
54
55
|
neurostats_API/async_mode/fetchers/tej/tech.py
|
55
56
|
neurostats_API/config/company_list/ticker_index_industry_map.json
|
@@ -90,7 +91,6 @@ neurostats_API/transformers/cash_flow/twse.py
|
|
90
91
|
neurostats_API/transformers/cash_flow/us.py
|
91
92
|
neurostats_API/transformers/daily_chip/__init__.py
|
92
93
|
neurostats_API/transformers/daily_chip/base.py
|
93
|
-
neurostats_API/transformers/daily_chip/tej.py
|
94
94
|
neurostats_API/transformers/daily_chip/twse_chip.py
|
95
95
|
neurostats_API/transformers/daily_chip/us.py
|
96
96
|
neurostats_API/transformers/daily_chip/utils/__init__.py
|
@@ -115,7 +115,9 @@ neurostats_API/transformers/profit_lose/twse.py
|
|
115
115
|
neurostats_API/transformers/profit_lose/us.py
|
116
116
|
neurostats_API/transformers/tej/__init__.py
|
117
117
|
neurostats_API/transformers/tej/base.py
|
118
|
+
neurostats_API/transformers/tej/chip.py
|
118
119
|
neurostats_API/transformers/tej/finance_statement.py
|
120
|
+
neurostats_API/transformers/tej/tech.py
|
119
121
|
neurostats_API/transformers/value/__init__.py
|
120
122
|
neurostats_API/transformers/value/base.py
|
121
123
|
neurostats_API/transformers/value/tej.py
|
@@ -105,7 +105,7 @@ async def test_tech():
|
|
105
105
|
|
106
106
|
test_fns = [
|
107
107
|
fetcher.get_daily, fetcher.get_weekly, fetcher.get_monthly,
|
108
|
-
fetcher.get_quarterly, fetcher.get_yearly
|
108
|
+
fetcher.get_quarterly, fetcher.get_yearly
|
109
109
|
]
|
110
110
|
|
111
111
|
for fetch_fn in test_fns:
|
@@ -249,6 +249,26 @@ async def test_us_chip():
|
|
249
249
|
print(e)
|
250
250
|
print('========================================')
|
251
251
|
|
252
|
+
@pytest.mark.asyncio
|
253
|
+
async def test_tej_chip():
|
254
|
+
print(f"# Agents overview")
|
255
|
+
from neurostats_API.async_mode.fetchers import AsyncTEJChipFetcher
|
256
|
+
|
257
|
+
for ticker in tickers:
|
258
|
+
try:
|
259
|
+
fetcher = AsyncTEJChipFetcher(ticker, client)
|
260
|
+
|
261
|
+
test_fn = [fetcher.query_data]
|
262
|
+
|
263
|
+
for fetch_fn in test_fn:
|
264
|
+
data = await fetch_fn()
|
265
|
+
|
266
|
+
print_dict_summary(data)
|
267
|
+
print('========================================')
|
268
|
+
|
269
|
+
except Exception as e:
|
270
|
+
print(str(e))
|
271
|
+
|
252
272
|
def print_dict_summary(data: dict, indent: int = 1):
|
253
273
|
prefix = " " * indent
|
254
274
|
for key, value in data.items():
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
from .finance_statement import TEJFinanceStatementTransformer
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/base.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/cash_flow.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tech.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/us_chip.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/value.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/tw.json
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/us.json
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_index.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/balance_sheet.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/profit_lose.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/balance_sheet.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/finance_overview.py
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/margin_trading.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/month_revenue.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/tej_finance_report.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/us.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/twse.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/us.py
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/base.py
RENAMED
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/us.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/tech.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/twse.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/us.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/__init__.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/base.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/tej.py
RENAMED
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/twse.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|