neurostats-API 1.0.0rc5__tar.gz → 1.0.0rc6__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 (130) hide show
  1. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/PKG-INFO +2 -2
  2. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/README.md +1 -1
  3. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/__init__.py +1 -1
  4. neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/__init__.py +2 -0
  5. neurostats_api-1.0.0rc5/neurostats_API/async_mode/fetchers/tej.py → neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/seasonal_data.py +1 -1
  6. neurostats_api-1.0.0rc6/neurostats_API/async_mode/fetchers/tej/tech.py +34 -0
  7. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/twse.py +7 -7
  8. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/PKG-INFO +2 -2
  9. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/SOURCES.txt +3 -1
  10. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/setup.py +1 -1
  11. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/test/test_async_fetcher.py +1 -1
  12. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/MANIFEST.in +0 -0
  13. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/__init__.py +0 -0
  14. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/__init__.py +0 -0
  15. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/__init__.py +0 -0
  16. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/base.py +0 -0
  17. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/tej.py +0 -0
  18. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/twse.py +0 -0
  19. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db/us.py +0 -0
  20. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/__init__.py +0 -0
  21. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/base.py +0 -0
  22. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/__init__.py +0 -0
  23. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/base.py +0 -0
  24. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/tej_chip.py +0 -0
  25. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/tej_tech.py +0 -0
  26. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/twse_chip.py +0 -0
  27. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/value.py +0 -0
  28. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/daily/yf.py +0 -0
  29. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/__init__.py +0 -0
  30. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/base.py +0 -0
  31. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/month_revenue/twse.py +0 -0
  32. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/__init__.py +0 -0
  33. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/balance_sheet.py +0 -0
  34. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/base.py +0 -0
  35. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/cashflow.py +0 -0
  36. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/profit_lose.py +0 -0
  37. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/db_extractors/seasonal/tej.py +0 -0
  38. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/__init__.py +0 -0
  39. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/extractor_factory.py +0 -0
  40. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/factory/transformer_factory.py +0 -0
  41. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/balance_sheet.py +0 -0
  42. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/base.py +0 -0
  43. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/cash_flow.py +0 -0
  44. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/finance_overview.py +0 -0
  45. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/month_revenue.py +0 -0
  46. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/profit_lose.py +0 -0
  47. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/tech.py +0 -0
  48. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/twse_institution.py +0 -0
  49. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/twse_margin.py +0 -0
  50. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/async_mode/fetchers/value.py +0 -0
  51. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/cli.py +0 -0
  52. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/ticker_index_industry_map.json +0 -0
  53. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/tw.json +0 -0
  54. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/us.json +0 -0
  55. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/company_list/us_TradingView_list.json +0 -0
  56. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_index.yaml +0 -0
  57. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_percent_index.yaml +0 -0
  58. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_skip_index.yaml +0 -0
  59. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/tej_db/tej_db_thousand_index.yaml +0 -0
  60. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/balance_sheet.yaml +0 -0
  61. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/cash_flow_percentage.yaml +0 -0
  62. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/finance_overview_dict.yaml +0 -0
  63. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/profit_lose.yaml +0 -0
  64. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/config/twse/seasonal_data_field_dict.txt +0 -0
  65. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/__init__.py +0 -0
  66. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/balance_sheet.py +0 -0
  67. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/base.py +0 -0
  68. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/cash_flow.py +0 -0
  69. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/finance_overview.py +0 -0
  70. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/institution.py +0 -0
  71. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/margin_trading.py +0 -0
  72. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/month_revenue.py +0 -0
  73. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/profit_lose.py +0 -0
  74. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/tech.py +0 -0
  75. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/tej_finance_report.py +0 -0
  76. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/fetchers/value_invest.py +0 -0
  77. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/main.py +0 -0
  78. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/__init__.py +0 -0
  79. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/__init__.py +0 -0
  80. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/base.py +0 -0
  81. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/twse.py +0 -0
  82. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/balance_sheet/us.py +0 -0
  83. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/base.py +0 -0
  84. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/__init__.py +0 -0
  85. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/base.py +0 -0
  86. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/twse.py +0 -0
  87. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/cash_flow/us.py +0 -0
  88. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/__init__.py +0 -0
  89. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/base.py +0 -0
  90. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/tej.py +0 -0
  91. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/twse_chip.py +0 -0
  92. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/__init__.py +0 -0
  93. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/institution.py +0 -0
  94. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/margin_trading.py +0 -0
  95. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_chip/utils/security_lending.py +0 -0
  96. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/__init__.py +0 -0
  97. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/base.py +0 -0
  98. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/tech.py +0 -0
  99. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/utils/__init__.py +0 -0
  100. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/daily_tech/utils/processor.py +0 -0
  101. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/__init__.py +0 -0
  102. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/agent_overview.py +0 -0
  103. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/base.py +0 -0
  104. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/finance_overview/stats_overview.py +0 -0
  105. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/__init__.py +0 -0
  106. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/month_revenue/base.py +0 -0
  107. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/__init__.py +0 -0
  108. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/base.py +0 -0
  109. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/twse.py +0 -0
  110. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/profit_lose/us.py +0 -0
  111. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/__init__.py +0 -0
  112. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/base.py +0 -0
  113. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/tej/finance_statement.py +0 -0
  114. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/__init__.py +0 -0
  115. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/base.py +0 -0
  116. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/tej.py +0 -0
  117. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/transformers/value/twse.py +0 -0
  118. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/__init__.py +0 -0
  119. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/calculate_value.py +0 -0
  120. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/data_process.py +0 -0
  121. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/datetime.py +0 -0
  122. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/db_client.py +0 -0
  123. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/exception.py +0 -0
  124. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API/utils/logger.py +0 -0
  125. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/dependency_links.txt +0 -0
  126. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/requires.txt +0 -0
  127. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/neurostats_API.egg-info/top_level.txt +0 -0
  128. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/setup.cfg +0 -0
  129. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/test/test_fetchers.py +0 -0
  130. {neurostats_api-1.0.0rc5 → neurostats_api-1.0.0rc6}/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.0rc5
3
+ Version: 1.0.0rc6
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.0rc5
74
+ 1.0.0rc6
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.0rc5
57
+ 1.0.0rc6
58
58
  ```
59
59
 
60
60
  ### 下載舊版
@@ -7,4 +7,4 @@ 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 AsyncTEJSeasonalFetcher
10
+ from .tej import AsyncTEJDailyTechFetcher, AsyncTEJSeasonalFetcher
@@ -0,0 +1,2 @@
1
+ from .seasonal_data import AsyncTEJSeasonalFetcher
2
+ from .tech import AsyncTEJDailyTechFetcher
@@ -1,4 +1,4 @@
1
- from .base import AsyncBaseFetcher
1
+ from neurostats_API.async_mode.fetchers.base import AsyncBaseFetcher
2
2
  from datetime import datetime
3
3
  from neurostats_API.async_mode.db_extractors import (
4
4
  AsyncTEJFinanceStatementDBExtractor, AsyncTEJSelfSettlementDBExtractor
@@ -0,0 +1,34 @@
1
+ import pandas as pd
2
+ from neurostats_API.async_mode.fetchers.base import AsyncBaseFetcher
3
+ from neurostats_API.async_mode.factory import get_extractor
4
+ from neurostats_API.utils import NotSupportedError
5
+
6
+ class AsyncTEJDailyTechFetcher(AsyncBaseFetcher):
7
+
8
+ def __init__(
9
+ self,
10
+ ticker,
11
+ client,
12
+ ):
13
+ self.ticker = ticker
14
+ try:
15
+ self.extractor = get_extractor("TEJ_tech", ticker, client)
16
+
17
+ self.company_name = self.extractor.get_company_name()
18
+ self.zone = self.extractor.get_zone()
19
+
20
+ except NotSupportedError as e:
21
+ raise NotSupportedError(
22
+ f"{self.__class__.__name__} only support TW companies now, {ticker} is not available"
23
+ ) from e
24
+
25
+ async def query_data(self, start_date, end_date):
26
+ data = await self.extractor.query_data(start_date, end_date)
27
+ 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
+ })
@@ -68,11 +68,11 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
68
68
  return return_dict
69
69
 
70
70
  def _get_recent_growth(self, monthly_data, grand_total_dict, interval=12):
71
- last_month_data = monthly_data[1:interval + 1] + [{}] * max(0, interval - len(monthly_data) + 1)
71
+ last_month_data = monthly_data[-(interval + 1): ] + [{}] * max(0, interval - len(monthly_data) + 1)
72
72
 
73
73
  MoMs = [
74
74
  YoY_Calculator.cal_growth(this.get('revenue'), last.get('revenue'), delta = 1)
75
- for this, last in zip(monthly_data[:interval], last_month_data[:interval])
75
+ for last, this in zip(last_month_data[:interval], last_month_data[1 :interval + 1])
76
76
  ]
77
77
 
78
78
  def safe_accum_yoy(data):
@@ -85,15 +85,15 @@ class TWSEMonthlyRevenueTransformer(BaseMonthRevenueTransformer):
85
85
  return None
86
86
 
87
87
  recent_month_data = {
88
- "date": [f"{d.get('year', 0)}/{d.get('month', 0)}" for d in monthly_data[:interval]],
89
- "revenue": [d.get('revenue') for d in monthly_data[:interval]],
88
+ "date": [f"{d.get('year', 0)}/{d.get('month', 0)}" for d in last_month_data[:interval]],
89
+ "revenue": [d.get('revenue') for d in last_month_data[:interval]],
90
90
  "MoM": [f"{(m * 100):.2f}%" if isinstance(m, float) else None for m in MoMs],
91
- "YoY": [d.get('revenue_increment_ratio') for d in monthly_data[:interval]],
92
- "total_YoY": [d.get('grand_total_increment_ratio') for d in monthly_data[:interval]],
91
+ "YoY": [d.get('revenue_increment_ratio') for d in last_month_data[:interval]],
92
+ "total_YoY": [d.get('grand_total_increment_ratio') for d in last_month_data[:interval]],
93
93
  # accum_YoY
94
94
  # accum_YoY 為 Davis提出的定義
95
95
  # 2024/6的累計YoY(accum_YoY) 為 2024累計到6月為止的總營收/2023年度總營收
96
- "accum_YoY": [safe_accum_yoy(d) for d in monthly_data[:interval]]
96
+ "accum_YoY": [safe_accum_yoy(d) for d in last_month_data[:interval]]
97
97
  }
98
98
 
99
99
  df = pd.DataFrame(recent_month_data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: neurostats_API
3
- Version: 1.0.0rc5
3
+ Version: 1.0.0rc6
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.0rc5
74
+ 1.0.0rc6
75
75
  ```
76
76
 
77
77
  ### 下載舊版
@@ -44,10 +44,12 @@ neurostats_API/async_mode/fetchers/finance_overview.py
44
44
  neurostats_API/async_mode/fetchers/month_revenue.py
45
45
  neurostats_API/async_mode/fetchers/profit_lose.py
46
46
  neurostats_API/async_mode/fetchers/tech.py
47
- neurostats_API/async_mode/fetchers/tej.py
48
47
  neurostats_API/async_mode/fetchers/twse_institution.py
49
48
  neurostats_API/async_mode/fetchers/twse_margin.py
50
49
  neurostats_API/async_mode/fetchers/value.py
50
+ neurostats_API/async_mode/fetchers/tej/__init__.py
51
+ neurostats_API/async_mode/fetchers/tej/seasonal_data.py
52
+ neurostats_API/async_mode/fetchers/tej/tech.py
51
53
  neurostats_API/config/company_list/ticker_index_industry_map.json
52
54
  neurostats_API/config/company_list/tw.json
53
55
  neurostats_API/config/company_list/us.json
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='neurostats_API',
5
- version='1.0.0rc5',
5
+ version='1.0.0rc6',
6
6
  long_description=open('README.md', 'r', encoding='utf-8').read(),
7
7
  long_description_content_type='text/markdown',
8
8
  install_requires=[
@@ -103,7 +103,7 @@ async def test_tech():
103
103
 
104
104
  test_fns = [
105
105
  fetcher.get_daily, fetcher.get_weekly, fetcher.get_monthly,
106
- fetcher.get_quarterly, fetcher.get_yearly
106
+ fetcher.get_quarterly, fetcher.get_yearly, fetcher.get_tej
107
107
  ]
108
108
 
109
109
  for fetch_fn in test_fns: