deepfos 1.1.34__tar.gz → 1.1.36__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 (188) hide show
  1. deepfos-1.1.36/.gitattributes +1 -0
  2. deepfos-1.1.36/.gitee/ISSUE_GUIDELINES.md +7 -0
  3. deepfos-1.1.36/.gitee/ISSUE_TEMPLATE.md +57 -0
  4. deepfos-1.1.36/.gitignore +27 -0
  5. deepfos-1.1.36/CHANGELOG.md +383 -0
  6. {deepfos-1.1.34 → deepfos-1.1.36}/PKG-INFO +1 -6
  7. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/_version.py +3 -3
  8. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/deepmodel_kingbase.py +0 -2
  9. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/kingbase.py +0 -2
  10. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/postgresql.py +10 -3
  11. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/base.py +9 -3
  12. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/datatable.py +1 -5
  13. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/deepmodel.py +28 -20
  14. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/pyscript.py +2 -1
  15. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/asynchronous.py +20 -2
  16. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/PKG-INFO +1 -6
  17. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/SOURCES.txt +171 -2
  18. deepfos-1.1.36/requirements.txt +2 -0
  19. deepfos-1.1.34/tests/__init__.py +0 -4
  20. {deepfos-1.1.34 → deepfos-1.1.36}/MANIFEST.in +0 -0
  21. {deepfos-1.1.34 → deepfos-1.1.36}/README.md +0 -0
  22. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/__init__.py +0 -0
  23. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/algo/__init__.py +0 -0
  24. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/algo/graph.py +0 -0
  25. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/__init__.py +0 -0
  26. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/business_model.py +0 -0
  27. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/dimension.py +0 -0
  28. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/models/__init__.py +0 -0
  29. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/models/business_model.py +0 -0
  30. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_1/models/dimension.py +0 -0
  31. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_2/__init__.py +0 -0
  32. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_2/dimension.py +0 -0
  33. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_2/models/__init__.py +0 -0
  34. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/V1_2/models/dimension.py +0 -0
  35. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/__init__.py +0 -0
  36. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/account.py +0 -0
  37. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/accounting_engines.py +0 -0
  38. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/app.py +0 -0
  39. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/approval_process.py +0 -0
  40. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/base.py +0 -0
  41. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/business_model.py +0 -0
  42. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/consolidation.py +0 -0
  43. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/consolidation_process.py +0 -0
  44. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/datatable.py +0 -0
  45. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/deepconnector.py +0 -0
  46. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/deepfos_task.py +0 -0
  47. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/deepmodel.py +0 -0
  48. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/dimension.py +0 -0
  49. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/financial_model.py +0 -0
  50. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/journal_model.py +0 -0
  51. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/journal_template.py +0 -0
  52. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/memory_financial_model.py +0 -0
  53. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/__init__.py +0 -0
  54. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/account.py +0 -0
  55. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/accounting_engines.py +0 -0
  56. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/app.py +0 -0
  57. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/approval_process.py +0 -0
  58. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/base.py +0 -0
  59. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/business_model.py +0 -0
  60. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/consolidation.py +0 -0
  61. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/consolidation_process.py +0 -0
  62. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/datatable_mysql.py +0 -0
  63. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/deepconnector.py +0 -0
  64. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/deepfos_task.py +0 -0
  65. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/deepmodel.py +0 -0
  66. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/dimension.py +0 -0
  67. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/financial_model.py +0 -0
  68. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/journal_model.py +0 -0
  69. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/journal_template.py +0 -0
  70. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/memory_financial_model.py +0 -0
  71. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/platform.py +0 -0
  72. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/python.py +0 -0
  73. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/reconciliation_engine.py +0 -0
  74. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/reconciliation_report.py +0 -0
  75. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/role_strategy.py +0 -0
  76. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/smartlist.py +0 -0
  77. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/space.py +0 -0
  78. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/system.py +0 -0
  79. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/variable.py +0 -0
  80. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/models/workflow.py +0 -0
  81. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/platform.py +0 -0
  82. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/python.py +0 -0
  83. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/reconciliation_engine.py +0 -0
  84. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/reconciliation_report.py +0 -0
  85. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/role_strategy.py +0 -0
  86. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/smartlist.py +0 -0
  87. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/space.py +0 -0
  88. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/system.py +0 -0
  89. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/variable.py +0 -0
  90. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/api/workflow.py +0 -0
  91. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/__init__.py +0 -0
  92. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/jstream.c +0 -0
  93. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/jstream.pyx +0 -0
  94. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/pandas.c +0 -0
  95. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/pandas.pyx +0 -0
  96. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/py_jstream.py +0 -0
  97. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/boost/py_pandas.py +0 -0
  98. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/cache.py +0 -0
  99. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/config.py +0 -0
  100. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/__init__.py +0 -0
  101. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/__init__.py +0 -0
  102. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/_base.py +0 -0
  103. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/constants.py +0 -0
  104. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/cube.py +0 -0
  105. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/formula.py +0 -0
  106. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/syscube.py +0 -0
  107. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/typing.py +0 -0
  108. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/cube/utils.py +0 -0
  109. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/__init__.py +0 -0
  110. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/_base.py +0 -0
  111. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/dimcreator.py +0 -0
  112. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/dimension.py +0 -0
  113. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/dimexpr.py +0 -0
  114. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/dimmember.py +0 -0
  115. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/eledimension.py +0 -0
  116. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/filters.py +0 -0
  117. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/dimension/sysdimension.py +0 -0
  118. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/__init__.py +0 -0
  119. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/_cache.py +0 -0
  120. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/_operator.py +0 -0
  121. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/nodemixin.py +0 -0
  122. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/sqlcondition.py +0 -0
  123. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/core/logictable/tablemodel.py +0 -0
  124. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/__init__.py +0 -0
  125. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/cipher.py +0 -0
  126. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/clickhouse.py +0 -0
  127. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/connector.py +0 -0
  128. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/daclickhouse.py +0 -0
  129. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/dameng.py +0 -0
  130. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/damysql.py +0 -0
  131. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/dbkits.py +0 -0
  132. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/deepengine.py +0 -0
  133. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/deepmodel.py +0 -0
  134. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/edb.py +0 -0
  135. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/gauss.py +0 -0
  136. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/mysql.py +0 -0
  137. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/oracle.py +0 -0
  138. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/sqlserver.py +0 -0
  139. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/db/utils.py +0 -0
  140. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/__init__.py +0 -0
  141. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/accounting.py +0 -0
  142. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/apvlprocess.py +0 -0
  143. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/bizmodel.py +0 -0
  144. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/deepconnector.py +0 -0
  145. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/dimension.py +0 -0
  146. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/fact_table.py +0 -0
  147. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/finmodel.py +0 -0
  148. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/journal.py +0 -0
  149. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/journal_template.py +0 -0
  150. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/reconciliation.py +0 -0
  151. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/rolestrategy.py +0 -0
  152. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/smartlist.py +0 -0
  153. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/variable.py +0 -0
  154. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/element/workflow.py +0 -0
  155. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/exceptions/__init__.py +0 -0
  156. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/exceptions/hook.py +0 -0
  157. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lazy.py +0 -0
  158. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/__init__.py +0 -0
  159. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/_javaobj.py +0 -0
  160. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/concurrency.py +0 -0
  161. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/constant.py +0 -0
  162. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/decorator.py +0 -0
  163. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/deepchart.py +0 -0
  164. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/deepux.py +0 -0
  165. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/discovery.py +0 -0
  166. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/eureka.py +0 -0
  167. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/filterparser.py +0 -0
  168. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/httpcli.py +0 -0
  169. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/jsonstreamer.py +0 -0
  170. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/msg.py +0 -0
  171. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/nacos.py +0 -0
  172. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/patch.py +0 -0
  173. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/redis.py +0 -0
  174. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/serutils.py +0 -0
  175. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/stopwatch.py +0 -0
  176. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/subtask.py +0 -0
  177. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/sysutils.py +0 -0
  178. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/lib/utils.py +0 -0
  179. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/local.py +0 -0
  180. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/options.py +0 -0
  181. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos/translation.py +0 -0
  182. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/dependency_links.txt +0 -0
  183. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/not-zip-safe +0 -0
  184. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/requires.txt +0 -0
  185. {deepfos-1.1.34 → deepfos-1.1.36}/deepfos.egg-info/top_level.txt +0 -0
  186. {deepfos-1.1.34 → deepfos-1.1.36}/setup.cfg +0 -0
  187. {deepfos-1.1.34 → deepfos-1.1.36}/setup.py +0 -0
  188. {deepfos-1.1.34 → deepfos-1.1.36}/versioneer.py +0 -0
@@ -0,0 +1 @@
1
+ deepfos/_version.py export-subst
@@ -0,0 +1,7 @@
1
+ 在您提交issue之前, 请先根据您的issue类型选取对应的问题集:
2
+
3
+ - 缺陷 | BUG
4
+ - 需求 | Feature Requests
5
+ - 问题 | Question
6
+
7
+ 删除不属于您想要提交的issue类型,并且回答剩余的问题。
@@ -0,0 +1,57 @@
1
+ <!-- # BUG | 缺陷 -->
2
+ <!-- 把下面一行作为您的标题
3
+ 【🐞 缺陷】补充您的描述
4
+ -->
5
+ ## 现象描述
6
+
7
+ [描述问题的现象,最好能够提供屏幕截图 或 gif 动画]
8
+
9
+ ## 环境信息
10
+
11
+ [在此填写python版本,系统环境等相关的环境信息,debug文件可以在此处提交或者使用附件]
12
+
13
+ ## 重现步骤
14
+
15
+ [在此填写能够重现该问题的操作步骤]
16
+
17
+ - 步骤1,...
18
+ - 步骤2,...
19
+ - 步骤3,...
20
+
21
+ ## 报错信息
22
+
23
+ [在此填写报错信息]
24
+
25
+ <!------------------ 分割线 -------------->
26
+
27
+ <!-- # Feature Requests | 需求 -->
28
+ <!-- 把下面一行作为您的标题
29
+ 【✨ 需求】补充您的描述
30
+ -->
31
+ ## 您希望增加什么样的功能?
32
+
33
+ [在此填写该功能的详细描述,也可以写您设想的实现方式]
34
+
35
+ ## 这个功能目前能否实现?
36
+
37
+ [目前是否完全无法实现,或者能够实现,但是步骤繁琐,应该作为标准功能]
38
+
39
+ ## 这个功能有哪些应用场景?
40
+
41
+ [说明这个功能是否有足够的泛用性]
42
+
43
+
44
+ <!------------------ 分割线 -------------->
45
+
46
+ <!-- # Question | 问题 -->
47
+ <!-- 把下面一行作为您的标题
48
+ 【🤔 问题】补充您的描述
49
+ -->
50
+
51
+ ## 这个问题是否在文档和issue中都没有被回答?
52
+
53
+ [一般来说不建议在issue中提问,在提问前,请先查阅文档和可能关联的issue]
54
+
55
+ ## 您遇到了什么问题?
56
+
57
+ [在此填写该问题的描述]
@@ -0,0 +1,27 @@
1
+ logs
2
+ __pycache__
3
+ .idea
4
+ venv
5
+ dist
6
+ deepfos.egg-info
7
+ docs/source/deepfos/generated
8
+ docs/build
9
+ scripts/_*
10
+ scripts/V*
11
+ .ipynb_checkpoints
12
+ examples/quick_start/debug.py
13
+ _local_test
14
+ sdist
15
+ .run
16
+ _bug_fix
17
+ build
18
+ .vscode
19
+ docs_debug
20
+ Python
21
+ *.pyd
22
+ examples/notebook/debug.py
23
+ docs/source/_static
24
+ docs/source/network_backup
25
+ tests/.coverage
26
+ tests/test_log.log
27
+ i18n
@@ -0,0 +1,383 @@
1
+ ## [1.1.36] - 2024-06-05
2
+
3
+ ### 新增
4
+
5
+ * 无
6
+
7
+ ### 变更
8
+
9
+ * pg类数据表quote_char更新
10
+
11
+ ### 文档
12
+
13
+ * 无
14
+
15
+
16
+ ## [1.1.35] - 2024-05-28
17
+
18
+ ### 变更
19
+
20
+ * pyscript中初始化redis client时的密码增加quota
21
+
22
+ ### 文档
23
+
24
+ * 修复部分文档显示错误/重复的问题
25
+
26
+
27
+ ## [1.1.34] - 2024-04-23
28
+
29
+ ### 新增
30
+
31
+ * DeepModel增加批量插入pg底表方法
32
+
33
+ ### 变更
34
+
35
+ * 财务模型元素save方法支持保存备注
36
+ * 财务模型元素save方法增加数据保存权鉴模式参数
37
+
38
+
39
+ ## [1.1.33] - 2024-04-16
40
+
41
+ ### 新增
42
+
43
+ * 封装消息中心
44
+
45
+ ### 变更
46
+
47
+ * 无
48
+
49
+
50
+ ## [1.1.32] - 2024-04-02
51
+
52
+ ### 新增
53
+
54
+ * DeepModel提供设置globals方法
55
+ * DeepModel开放直连参数
56
+
57
+ ### 变更
58
+
59
+ * DeepModel execute方法返回DML结果
60
+ * 支持配置多节点Eureka地址
61
+
62
+
63
+ ## [1.1.31] - 2024-03-26
64
+
65
+ ### 新增
66
+
67
+ * DeepUX支持作为图结构数据源
68
+
69
+ ### 变更
70
+
71
+ * DeepModel修正查询返回结构字段顺序与语句不一致问题
72
+
73
+
74
+ ## [1.1.30] - 2024-03-05
75
+
76
+ ### 新增
77
+
78
+ * 无
79
+
80
+ ### 变更
81
+
82
+ * PythonScript线下模式获取运行结果完善错误提示
83
+
84
+
85
+ ## [1.1.29] - 2024-02-27
86
+
87
+ ### 新增
88
+
89
+ * 无
90
+
91
+ ### 变更
92
+
93
+ * 凭证元素save方法headMainId生成规则改为生成uuid
94
+
95
+
96
+ ## [1.1.28] - 2024-02-20
97
+
98
+ ### 新增
99
+
100
+ * DeepModel元素增加objects属性
101
+ * 服务发现的缓存增加轮询和随机策略
102
+
103
+ ### 变更
104
+
105
+ * 凭证元素save方法文档更新
106
+ * 维度元素save方法DimMember兼容1.0与1.1&1.2的字段差异
107
+
108
+
109
+ ## [1.1.27] - 2024-01-30
110
+
111
+ ### 新增
112
+
113
+ * DeepModel元素insert_df支持upsert句式
114
+
115
+ ### 变更
116
+
117
+ * DeepModel元素query_df结果增加符合列类型的cast
118
+ * 维度1.1&1.2元素使用的全量和增量保存接口更新,与前端使用的保持一致
119
+
120
+
121
+ ## [1.1.26] - 2023-12-26
122
+
123
+ ### 新增
124
+
125
+ * 凭证模型元素提供update方法
126
+
127
+ ### 变更
128
+
129
+ * 无
130
+
131
+ ## [1.1.25] - 2023-12-19
132
+
133
+ ### 新增
134
+
135
+ * 财务模型元素提供delete_with_mdx方法
136
+
137
+ ### 变更
138
+
139
+ * 财务模型元素delete方法提供是否使用MDX脚本实现的flag
140
+ * DeepModel序列化排除日期和UUID类型转string
141
+ * 财务模型元素delete, save, save_unpivot方法增加callback入参
142
+
143
+ ## [1.1.24] - 2023-12-12
144
+
145
+ ### 新增
146
+
147
+ * 无
148
+
149
+ ### 变更
150
+
151
+ * 财务模型元素delete方法使用MDX脚本实现
152
+
153
+ ## [1.1.23] - 2023-11-16
154
+
155
+ ### 新增
156
+
157
+ * 财务模型元素新增封装权限状态upsert更新接口
158
+
159
+ ### 变更
160
+
161
+ * 修正postgresql类数据表copy_rows为自增列赋默认值的问题
162
+
163
+ ## [1.1.22] - 2023-11-02
164
+
165
+ ### 新增
166
+
167
+ * 合并流程api封装
168
+
169
+ ### 变更
170
+
171
+ * 凭证组件元素接口响应success=False时报错
172
+ * 维度元素封装修改成员父级功能
173
+
174
+ ## [1.1.21] - 2023-10-26
175
+
176
+ ### 变更
177
+
178
+ * 更新KingBase数据表quote char
179
+
180
+
181
+ ## [1.1.20] - 2023-10-17
182
+
183
+ ### 新增
184
+
185
+ * 添加DeepModel KingBase数据表
186
+ * 维度元素封装sync_data方法
187
+
188
+ ### 变更
189
+
190
+ * 财务模型query方法增加对ignore列的处理
191
+
192
+
193
+ ## [1.1.19] - 2023-10-10
194
+
195
+ ### 变更
196
+
197
+ * 修正凭证元素save的头行df自带index时的请求体组织问题
198
+
199
+
200
+ ## [1.1.18] - 2023-09-19
201
+
202
+ ### 变更
203
+
204
+ * 修正DeepModel元素批量插入自链接对象时未排除计算link的问题
205
+
206
+
207
+ ## [1.1.17] - 2023-09-12
208
+
209
+ ### 新增
210
+
211
+ * 维度1.2支持多维度实体配置参数
212
+
213
+ ### 变更
214
+
215
+ * 修正维度1.1 1.2版本增量编辑响应的数据类型
216
+
217
+
218
+ ## [1.1.16] - 2023-09-05
219
+
220
+ ### 新增
221
+
222
+ * Deep Connector封装获取连接信息方法
223
+
224
+ ### 变更
225
+
226
+ * 维度修正共享成员维度保存的问题
227
+
228
+
229
+ ## [1.1.15] - 2023-08-29
230
+
231
+ ### 变更
232
+
233
+ * DeepModel 部分bug修复
234
+ * 维度修正共享成员维度保存的问题
235
+ * 优化redislock的renew lock逻辑
236
+
237
+
238
+ ## [1.1.14] - 2023-08-15
239
+
240
+ ### 变更
241
+
242
+ * 维度涉及ud字段的model统一扩充至60个ud
243
+ * 维度1.2 /refactor/dimension/info/save接口请求响应model更新
244
+
245
+
246
+ ## [1.1.13] - 2023-08-08
247
+
248
+ ### 变更
249
+
250
+ * DeepModel 部分bug修复
251
+ * pyscript redislock 延迟初始化
252
+ * 凭证元素接口字段修改 `type -> _type`(breaking)
253
+
254
+
255
+ ## [1.1.12] - 2023-07-27
256
+
257
+ ### 新增
258
+ * 维度同步至DeepModel对象
259
+
260
+ ### 变更
261
+
262
+ * DeepModel取消元素初始化逻辑(同步组件变更)
263
+
264
+
265
+ ## [1.1.11] - 2023-07-18
266
+
267
+ ### 新增
268
+ * 添加DeepModel数据表
269
+
270
+
271
+ ## [1.1.10] - 2023-07-13
272
+
273
+ ### 新增
274
+ * DeepModel insert_df增加对multi link的支持
275
+
276
+ ### 变更
277
+ * DeepModel本地执行时使用API
278
+ * 维度元素扩充DimensionMemberBean的ud数量至60
279
+ * 凭证元素已知问题修正
280
+
281
+ ## [1.1.9] - 2023-07-04
282
+
283
+ ### 新增
284
+ * 新增DeepModel元素
285
+ * 新增凭证元素
286
+
287
+ ## [1.1.8] - 2023-06-29
288
+
289
+ ### 变更
290
+ * deepux支持返回字段描述
291
+
292
+
293
+ ## [1.1.7] - 2023-06-20
294
+
295
+ ### 变更
296
+ * 兼容deepchart原BaseField的name成员可以被访问的逻辑
297
+ * 修复api/base中错误访问root属性的bug
298
+
299
+
300
+ ## [1.1.6] - 2023-06-13
301
+
302
+ ### 新增
303
+ * 支持nacos
304
+
305
+ ### 变更
306
+
307
+ * 修复oracle/dameng数据表查询字段大小写不一致的问题
308
+ * dataframe中set类型的索引器改为list类型 [@李杨](https://e.gitee.com/proinnova/members/trend/ryan_li1384)
309
+ * 优化DataframeSQLConvertor的性能 [@李杨](https://e.gitee.com/proinnova/members/trend/ryan_li1384)
310
+ * 修复多线程情况下future_property的死锁问题
311
+ * eureka相关代码重构
312
+ * 统一数据表获取方式为``get_table_class``,支持服务名作为参数
313
+
314
+
315
+ ## [1.1.5] - 2023-06-01
316
+
317
+ ### 变更
318
+
319
+ * 将dbkits的table_cache纳入Cache Manager管理
320
+ * 去除db库内对build_api的cache_async装饰
321
+
322
+ ## [1.1.4] - 2023-05-30
323
+
324
+ ### 新增
325
+
326
+ * 维度1.2新增/refactor/dimension/object/sync-data接口
327
+
328
+ ### 变更
329
+
330
+ * 修正试图将Oracle自增列置为null的默认逻辑
331
+
332
+ ## [1.1.3] - 2023-05-11
333
+
334
+ ### 变更
335
+
336
+ * 支持mysql标准以外SQL的字符串转义
337
+ * 修复 `bizmodel.set_approval_ex` 固定了审批流数据表为Mysql的问题
338
+
339
+ ## [1.1.2] - 2023-05-09
340
+
341
+ ### 新增
342
+
343
+ * 增加对账引擎对账集、数据集元素 [@陈文雍](https://e.gitee.com/proinnova/members/trend/calvinstk)
344
+ * 工作流新增封装批量启动流程接口
345
+ * 提供全局Cache、by space/app 级别的缓存管理
346
+
347
+ ### 变更
348
+
349
+ * APIResponseError增加code属性
350
+ * 单元测试代码重构,简化元素的单元测试编写工作
351
+ * 修复sqlcondition固定quote char为"`"的问题
352
+ * 优化elementBase的实现,增加async_api/api的自动补全(Pylance only,Pycharm不支持)
353
+
354
+
355
+ ## [1.1.1] - 2023-04-20
356
+
357
+ ### 新增
358
+
359
+ * 支持python作为DeepUX数据源
360
+ * 支持PostgreSQL, DeepEngine数据表
361
+
362
+ ### 变更
363
+
364
+ * 修复维度保存可能不返回errors的兼容性问题
365
+ * 修复多线程事务不支持的问题
366
+ * future_property失败时不再抛出BadFutureError,而是抛出实际发生的错误
367
+ * 修复单元测试用例
368
+ * 精简出现异常时打印的错误栈信息
369
+
370
+
371
+ ## [1.1.0] - 2023-04-06
372
+
373
+ ### 新增
374
+
375
+ * :tada: v1.1 第一次发版
376
+
377
+ ### 变更
378
+
379
+ * 无
380
+
381
+ ### 文档
382
+
383
+ * 无
@@ -1,12 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepfos
3
- Version: 1.1.34
3
+ Version: 1.1.36
4
4
  Summary: Collecions of useful and handy tools for deepfos platform
5
5
  Home-page: http://py.deepfos.com
6
6
  Author: deepfos-python-team
7
7
  Author-email: wei.wei@proinnova.com.cn
8
- License: UNKNOWN
9
- Platform: UNKNOWN
10
8
  Classifier: Development Status :: 3 - Alpha
11
9
  Classifier: Intended Audience :: Developers
12
10
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -14,6 +12,3 @@ Classifier: Programming Language :: Python :: 3.8
14
12
  Classifier: Programming Language :: Python :: 3.9
15
13
  Classifier: Programming Language :: Python :: 3.10
16
14
  Requires-Python: >=3.8.3
17
-
18
- UNKNOWN
19
-
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-04-24T08:40:21+0000",
11
+ "date": "2024-06-13T03:28:47+0000",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "d4749ace516e3a51df0fef77c0f1ce567d0108f3",
15
- "version": "1.1.34"
14
+ "full-revisionid": "c5a5bf3e7fd0a5d6c8596d27d66fa32752792983",
15
+ "version": "1.1.36"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -33,8 +33,6 @@ class SqlParser(BaseSqlParser):
33
33
  # -----------------------------------------------------------------------------
34
34
  # core
35
35
  class _AsyncDeepModelKingBaseClient(_AsyncKingBaseClient):
36
- convertor = PostgreSQLConvertor(quote_char='')
37
-
38
36
  def __init__(self, version: Union[float, str] = None): # noqa
39
37
  self.parser = SqlParser()
40
38
  self.connector = DeepModelKingBaseAPIConnector(version)
@@ -33,8 +33,6 @@ class SqlParser(BaseSqlParser):
33
33
  # -----------------------------------------------------------------------------
34
34
  # core
35
35
  class _AsyncKingBaseClient(_AsyncPostgreSQLClient):
36
- convertor = PostgreSQLConvertor(quote_char='"')
37
-
38
36
  def __init__(self, version: Union[float, str] = None): # noqa
39
37
  self.parser = SqlParser()
40
38
  self.connector = KingBaseAPIConnector(version)
@@ -77,7 +77,11 @@ class PostgreSQLConvertor(DataframeSQLConvertor):
77
77
  if updatecol is None:
78
78
  return f'INSERT INTO {self.quote_char}{tablename}{self.quote_char} ({columns}) VALUES {values}'
79
79
 
80
- update_str = ','.join([f"{x}=EXCLUDED.{x}" for x in updatecol])
80
+ update_str = ','.join([
81
+ f"{self.quote_char}{x}{self.quote_char}="
82
+ f"EXCLUDED.{self.quote_char}{x}{self.quote_char}"
83
+ for x in updatecol
84
+ ])
81
85
  if not update_str:
82
86
  return f'INSERT INTO {self.quote_char}{tablename}{self.quote_char} ({columns}) VALUES {values}'
83
87
 
@@ -85,7 +89,10 @@ class PostgreSQLConvertor(DataframeSQLConvertor):
85
89
  raise ValueError('如需使用ON CONFLICT DO UPDATE语法,'
86
90
  '需提供有唯一约束的列作为conflict_target列信息')
87
91
 
88
- conflict_target_clause = ",".join(conflict_target)
92
+ conflict_target_clause = ",".join([
93
+ f"{self.quote_char}{x}{self.quote_char}"
94
+ for x in conflict_target
95
+ ])
89
96
 
90
97
  if conflict_target_clause:
91
98
  conflict_target_clause = f"({conflict_target_clause})"
@@ -99,7 +106,7 @@ class PostgreSQLConvertor(DataframeSQLConvertor):
99
106
  # -----------------------------------------------------------------------------
100
107
  # core
101
108
  class _AsyncPostgreSQLClient(_AbsAsyncMySQLClient):
102
- convertor = PostgreSQLConvertor(quote_char='')
109
+ convertor = PostgreSQLConvertor(quote_char='"')
103
110
 
104
111
  def __init__(self, version: Union[float, str] = None): # noqa
105
112
  self.parser = SqlParser()
@@ -29,7 +29,7 @@ _HINT = """
29
29
  """
30
30
 
31
31
  _ARGS = {
32
- "element_name": "数据表元素名",
32
+ "element_name": "元素名",
33
33
  "folder_id": "元素所在的文件夹id",
34
34
  "path": "元素所在的文件夹绝对路径",
35
35
  }
@@ -39,6 +39,8 @@ T_ApiClass = TypeVar('T_ApiClass', bound=DynamicRootAPI)
39
39
 
40
40
 
41
41
  class _ElementMeta(FuturePropertyMeta):
42
+ __mangle_docs__ = True
43
+
42
44
  def __new__(mcs, name, bases, namespace, **kwargs):
43
45
  if '__doc__' not in namespace:
44
46
  for base in bases:
@@ -47,8 +49,10 @@ class _ElementMeta(FuturePropertyMeta):
47
49
  break
48
50
 
49
51
  cls = super().__new__(mcs, name, bases, namespace, **kwargs)
50
- cls_doc = mcs._split_doc(cls.__doc__)
51
- cls.__doc__ = mcs._recover_doc(cls_doc)
52
+
53
+ if cls.__mangle_docs__:
54
+ cls_doc = mcs._split_doc(cls.__doc__)
55
+ cls.__doc__ = mcs._recover_doc(cls_doc)
52
56
 
53
57
  if "api_class" not in namespace and ElementBase in bases:
54
58
  for base in cls.__orig_bases__: # noqa
@@ -331,6 +335,8 @@ class ElementBase(Generic[T_ApiClass], metaclass=_ElementMeta):
331
335
 
332
336
 
333
337
  class SyncMeta(_ElementMeta):
338
+ __mangle_docs__ = False
339
+
334
340
  def __new__(mcs, name, bases, namespace, **kwargs):
335
341
  base = bases[0]
336
342
  methods = None
@@ -2155,7 +2155,7 @@ class AsyncDataTablePostgreSQL(AsyncDataTableMySQL):
2155
2155
  __doc__ = DOC_TEMPLATE.format(DB='PostgreSQL')
2156
2156
  api: PostgreSQLAPI
2157
2157
  api_class = PostgreSQLAPI
2158
- quote_char = ''
2158
+ quote_char = '"'
2159
2159
  convertor = _PostgreSQLDFConvertor(quote_char=quote_char)
2160
2160
  query = PostgreSQLQuery
2161
2161
 
@@ -2237,8 +2237,6 @@ class AsyncDataTableKingBase(AsyncDataTablePostgreSQL):
2237
2237
  __doc__ = DOC_TEMPLATE.format(DB='KingBase')
2238
2238
  api: KingBaseAPI
2239
2239
  api_class = KingBaseAPI
2240
- quote_char = '"'
2241
- convertor = _PostgreSQLDFConvertor(quote_char=quote_char)
2242
2240
 
2243
2241
 
2244
2242
  class DataTableKingBase(
@@ -2328,8 +2326,6 @@ class AsyncDataTableDeepModelKingBase(AsyncDataTableKingBase):
2328
2326
  __doc__ = DOC_TEMPLATE.format(DB='DeepModelKingBase')
2329
2327
  api: DeepModelKingBaseAPI
2330
2328
  api_class = DeepModelKingBaseAPI
2331
- quote_char = ''
2332
- convertor = _PostgreSQLDFConvertor(quote_char=quote_char)
2333
2329
 
2334
2330
 
2335
2331
  class DataTableDeepModelKingBase(