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.
Files changed (139) hide show
  1. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/PKG-INFO +2 -2
  2. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/README.md +1 -1
  3. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/__init__.py +1 -1
  4. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/__init__.py +1 -0
  5. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/__init__.py +1 -0
  6. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/__init__.py +1 -0
  7. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/extractor_factory.py +16 -7
  8. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/__init__.py +1 -1
  9. neurostats_api-1.0.3rc1/neurostats_API/async_mode/fetchers/tej/__init__.py +3 -0
  10. neurostats_api-1.0.3rc1/neurostats_API/async_mode/fetchers/tej/chip.py +42 -0
  11. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tej/tech.py +17 -9
  12. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/__init__.py +3 -1
  13. neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/__init__.py +3 -0
  14. neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/chip.py +23 -0
  15. neurostats_api-1.0.3rc1/neurostats_API/transformers/tej/tech.py +24 -0
  16. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/PKG-INFO +2 -2
  17. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/SOURCES.txt +3 -1
  18. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/setup.py +1 -1
  19. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/test/test_async_fetcher.py +21 -1
  20. neurostats_api-1.0.2rc4/neurostats_API/async_mode/fetchers/tej/__init__.py +0 -2
  21. neurostats_api-1.0.2rc4/neurostats_API/transformers/daily_chip/tej.py +0 -0
  22. neurostats_api-1.0.2rc4/neurostats_API/transformers/tej/__init__.py +0 -1
  23. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/MANIFEST.in +0 -0
  24. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/__init__.py +0 -0
  25. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/base.py +0 -0
  26. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/tej.py +0 -0
  27. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/twse.py +0 -0
  28. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db/us.py +0 -0
  29. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/base.py +0 -0
  30. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/base.py +0 -0
  31. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/tej_chip.py +0 -0
  32. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/tej_tech.py +0 -0
  33. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/twse_chip.py +0 -0
  34. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/us_chip.py +0 -0
  35. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/value.py +0 -0
  36. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/daily/yf.py +0 -0
  37. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/__init__.py +0 -0
  38. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/base.py +0 -0
  39. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/month_revenue/twse.py +0 -0
  40. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/__init__.py +0 -0
  41. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/balance_sheet.py +0 -0
  42. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/base.py +0 -0
  43. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/cashflow.py +0 -0
  44. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/profit_lose.py +0 -0
  45. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/db_extractors/seasonal/tej.py +0 -0
  46. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/__init__.py +0 -0
  47. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/factory/transformer_factory.py +0 -0
  48. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/balance_sheet.py +0 -0
  49. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/base.py +0 -0
  50. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/cash_flow.py +0 -0
  51. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/finance_overview.py +0 -0
  52. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/month_revenue.py +0 -0
  53. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/profit_lose.py +0 -0
  54. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tech.py +0 -0
  55. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/tej/seasonal_data.py +0 -0
  56. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/twse_institution.py +0 -0
  57. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/twse_margin.py +0 -0
  58. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/us_chip.py +0 -0
  59. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/async_mode/fetchers/value.py +0 -0
  60. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/cli.py +0 -0
  61. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/ticker_index_industry_map.json +0 -0
  62. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/ticker_to_cik.json +0 -0
  63. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/tw.json +0 -0
  64. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/us.json +0 -0
  65. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/company_list/us_TradingView_list.json +0 -0
  66. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_index.yaml +0 -0
  67. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_percent_index.yaml +0 -0
  68. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_skip_index.yaml +0 -0
  69. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/tej_db/tej_db_thousand_index.yaml +0 -0
  70. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/balance_sheet.yaml +0 -0
  71. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/cash_flow_percentage.yaml +0 -0
  72. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/finance_overview_dict.yaml +0 -0
  73. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/profit_lose.yaml +0 -0
  74. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/config/twse/seasonal_data_field_dict.txt +0 -0
  75. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/__init__.py +0 -0
  76. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/balance_sheet.py +0 -0
  77. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/base.py +0 -0
  78. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/cash_flow.py +0 -0
  79. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/finance_overview.py +0 -0
  80. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/institution.py +0 -0
  81. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/margin_trading.py +0 -0
  82. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/month_revenue.py +0 -0
  83. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/profit_lose.py +0 -0
  84. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/tech.py +0 -0
  85. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/tej_finance_report.py +0 -0
  86. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/fetchers/value_invest.py +0 -0
  87. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/main.py +0 -0
  88. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/__init__.py +0 -0
  89. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/base.py +0 -0
  90. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/twse.py +0 -0
  91. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/balance_sheet/us.py +0 -0
  92. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/base.py +0 -0
  93. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/__init__.py +0 -0
  94. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/base.py +0 -0
  95. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/twse.py +0 -0
  96. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/cash_flow/us.py +0 -0
  97. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/__init__.py +0 -0
  98. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/base.py +0 -0
  99. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/twse_chip.py +0 -0
  100. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/us.py +0 -0
  101. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/__init__.py +0 -0
  102. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/institution.py +0 -0
  103. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/margin_trading.py +0 -0
  104. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_chip/utils/security_lending.py +0 -0
  105. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/__init__.py +0 -0
  106. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/base.py +0 -0
  107. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/tech.py +0 -0
  108. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/utils/__init__.py +0 -0
  109. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/daily_tech/utils/processor.py +0 -0
  110. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/__init__.py +0 -0
  111. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/agent_overview.py +0 -0
  112. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/base.py +0 -0
  113. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/finance_overview/stats_overview.py +0 -0
  114. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/__init__.py +0 -0
  115. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/base.py +0 -0
  116. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/month_revenue/twse.py +0 -0
  117. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/__init__.py +0 -0
  118. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/base.py +0 -0
  119. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/twse.py +0 -0
  120. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/profit_lose/us.py +0 -0
  121. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/tej/base.py +0 -0
  122. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/tej/finance_statement.py +0 -0
  123. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/__init__.py +0 -0
  124. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/base.py +0 -0
  125. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/tej.py +0 -0
  126. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/transformers/value/twse.py +0 -0
  127. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/__init__.py +0 -0
  128. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/calculate_value.py +0 -0
  129. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/data_process.py +0 -0
  130. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/datetime.py +0 -0
  131. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/db_client.py +0 -0
  132. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/exception.py +0 -0
  133. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API/utils/logger.py +0 -0
  134. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/dependency_links.txt +0 -0
  135. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/requires.txt +0 -0
  136. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/neurostats_API.egg-info/top_level.txt +0 -0
  137. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/setup.cfg +0 -0
  138. {neurostats_api-1.0.2rc4 → neurostats_api-1.0.3rc1}/test/test_fetchers.py +0 -0
  139. {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.2rc4
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.2rc4
74
+ 1.0.3rc1
75
75
  ```
76
76
 
77
77
  ### 下載舊版
@@ -54,7 +54,7 @@ pip install neurostats-API
54
54
  ```Python
55
55
  >>> import neurostats_API
56
56
  >>> print(neurostats_API.__version__)
57
- 1.0.2rc4
57
+ 1.0.3rc1
58
58
  ```
59
59
 
60
60
  ### 下載舊版
@@ -1,4 +1,4 @@
1
- __version__='1.0.2rc4'
1
+ __version__='1.0.3rc1'
2
2
 
3
3
  from .fetchers import (
4
4
  AgentFinanceOverviewFetcher,
@@ -5,6 +5,7 @@ from .fetchers import (
5
5
  AsyncFinanceOverviewFetcher,
6
6
  AsyncMonthlyRevenueFetcher,
7
7
  AsyncProfitLoseFetcher,
8
+ AsyncTEJChipFetcher,
8
9
  AsyncTechFetcher,
9
10
  AsyncTEJSeasonalFetcher,
10
11
  AsyncTWSEInstitutionFetcher,
@@ -1,4 +1,5 @@
1
1
  from .daily import (
2
+ AsyncTEJDailyChipDBExtractor,
2
3
  AsyncTEJDailyTechDBExtractor,
3
4
  AsyncYFDailyTechDBExtractor,
4
5
  AsyncDailyValueDBExtractor,
@@ -1,3 +1,4 @@
1
+ from .tej_chip import AsyncTEJDailyChipDBExtractor
1
2
  from .tej_tech import AsyncTEJDailyTechDBExtractor, AsyncBatchTechDBExtractor
2
3
  from .twse_chip import AsyncTWSEChipDBExtractor
3
4
  from .value import (
@@ -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
- AsyncTWSEChipDBExtractor, AsyncTWSEMonthlyRevenueExtractor,
6
- AsyncBalanceSheetExtractor, AsyncProfitLoseExtractor,
7
- AsyncCashFlowExtractor, AsyncTEJFinanceStatementDBExtractor,
8
- AsyncTEJSelfSettlementDBExtractor, AsyncUS_F13DBExtractor
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
 
@@ -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,3 @@
1
+ from .chip import AsyncTEJChipFetcher
2
+ from .seasonal_data import AsyncTEJSeasonalFetcher
3
+ from .tech import AsyncTEJDailyTechFetcher
@@ -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
@@ -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(columns={
29
- "open_d": "open",
30
- "high_d": "high",
31
- "low_d": "low",
32
- "close_d": "close",
33
- "vol": "volume"
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
+ )
@@ -29,7 +29,9 @@ from .profit_lose import (
29
29
  )
30
30
 
31
31
  from .tej import (
32
- TEJFinanceStatementTransformer
32
+ TEJChipTransformer,
33
+ TEJFinanceStatementTransformer,
34
+ TEJTechTransformer
33
35
  )
34
36
 
35
37
  from .value import (
@@ -0,0 +1,3 @@
1
+ from .chip import TEJChipTransformer
2
+ from .finance_statement import TEJFinanceStatementTransformer
3
+ from .tech import TEJTechTransformer
@@ -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.2rc4
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.2rc4
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
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='neurostats_API',
5
- version='1.0.2rc4',
5
+ version='1.0.3rc1',
6
6
  long_description=open('README.md', 'r', encoding='utf-8').read(),
7
7
  long_description_content_type='text/markdown',
8
8
  install_requires=[
@@ -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, fetcher.get_tej
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():
@@ -1,2 +0,0 @@
1
- from .seasonal_data import AsyncTEJSeasonalFetcher
2
- from .tech import AsyncTEJDailyTechFetcher
@@ -1 +0,0 @@
1
- from .finance_statement import TEJFinanceStatementTransformer