deepfos 1.1.60__py3-none-any.whl → 1.1.78__py3-none-any.whl

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 (68) hide show
  1. deepfos/_version.py +3 -3
  2. deepfos/api/V1_1/models/business_model.py +322 -322
  3. deepfos/api/V1_1/models/dimension.py +1075 -1075
  4. deepfos/api/V1_2/models/dimension.py +1119 -1116
  5. deepfos/api/account.py +1 -0
  6. deepfos/api/app.py +1 -0
  7. deepfos/api/base.py +70 -71
  8. deepfos/api/deep_pipeline.py +1 -1
  9. deepfos/api/deepconnector.py +3 -3
  10. deepfos/api/financial_model.py +12 -0
  11. deepfos/api/models/account.py +130 -130
  12. deepfos/api/models/accounting_engines.py +250 -250
  13. deepfos/api/models/app.py +355 -355
  14. deepfos/api/models/approval_process.py +231 -231
  15. deepfos/api/models/base.py +49 -209
  16. deepfos/api/models/business_model.py +239 -239
  17. deepfos/api/models/consolidation.py +196 -196
  18. deepfos/api/models/consolidation_process.py +31 -31
  19. deepfos/api/models/datatable_mysql.py +78 -78
  20. deepfos/api/models/deep_pipeline.py +20 -9
  21. deepfos/api/models/deepconnector.py +9 -8
  22. deepfos/api/models/deepfos_task.py +118 -118
  23. deepfos/api/models/deepmodel.py +120 -120
  24. deepfos/api/models/dimension.py +613 -610
  25. deepfos/api/models/financial_model.py +691 -663
  26. deepfos/api/models/journal_model.py +120 -120
  27. deepfos/api/models/journal_template.py +185 -185
  28. deepfos/api/models/memory_financial_model.py +131 -131
  29. deepfos/api/models/platform.py +16 -16
  30. deepfos/api/models/python.py +32 -32
  31. deepfos/api/models/reconciliation_engine.py +104 -104
  32. deepfos/api/models/reconciliation_report.py +29 -29
  33. deepfos/api/models/role_strategy.py +213 -213
  34. deepfos/api/models/smartlist.py +86 -86
  35. deepfos/api/models/space.py +312 -312
  36. deepfos/api/models/system.py +299 -297
  37. deepfos/api/models/variable.py +131 -131
  38. deepfos/api/models/workflow.py +290 -270
  39. deepfos/api/platform.py +3 -1
  40. deepfos/api/space.py +1 -0
  41. deepfos/api/system.py +1 -0
  42. deepfos/api/workflow.py +8 -0
  43. deepfos/cache.py +50 -4
  44. deepfos/element/bizmodel.py +2 -2
  45. deepfos/element/deep_pipeline.py +29 -16
  46. deepfos/element/deepconnector.py +36 -1
  47. deepfos/element/deepmodel.py +591 -332
  48. deepfos/element/dimension.py +30 -17
  49. deepfos/element/finmodel.py +542 -101
  50. deepfos/element/journal.py +20 -10
  51. deepfos/element/rolestrategy.py +4 -4
  52. deepfos/element/variable.py +23 -17
  53. deepfos/element/workflow.py +60 -3
  54. deepfos/exceptions/__init__.py +1 -1
  55. deepfos/lib/deepchart.py +14 -13
  56. deepfos/lib/deepux.py +11 -11
  57. deepfos/lib/discovery.py +3 -0
  58. deepfos/lib/filterparser.py +2 -2
  59. deepfos/lib/k8s.py +101 -0
  60. deepfos/lib/msg.py +34 -8
  61. deepfos/lib/serutils.py +34 -9
  62. deepfos/lib/sysutils.py +37 -18
  63. deepfos/lib/utils.py +62 -2
  64. deepfos/options.py +39 -8
  65. {deepfos-1.1.60.dist-info → deepfos-1.1.78.dist-info}/METADATA +7 -7
  66. {deepfos-1.1.60.dist-info → deepfos-1.1.78.dist-info}/RECORD +68 -67
  67. {deepfos-1.1.60.dist-info → deepfos-1.1.78.dist-info}/WHEEL +0 -0
  68. {deepfos-1.1.60.dist-info → deepfos-1.1.78.dist-info}/top_level.txt +0 -0
@@ -8,9 +8,9 @@ import pandas as pd
8
8
  from loguru import logger
9
9
 
10
10
  from deepfos.element.rolestrategy import RoleStrategy, AsyncRoleStrategy
11
- from pydantic import parse_obj_as, Field
12
11
  from multidict import CIMultiDict
13
12
 
13
+ from deepfos.api.models import compat_parse_obj_as as parse_obj_as
14
14
  from .base import ElementBase, SyncMeta
15
15
  from .datatable import AsyncDataTableMySQL, get_table_class, T_AsyncDatatableClass
16
16
  from deepfos.algo.graph import DAGraph
@@ -57,20 +57,20 @@ class Strategy(CIEnum):
57
57
 
58
58
 
59
59
  class DimMember(DimensionMemberOperationSw):
60
- is_active = True
61
- is_modula = False
62
- aggweight = 1.0
63
- sharedmember = False
64
- datatype = "NUMBER"
65
- parent_name = ROOT
60
+ is_active: bool = True
61
+ is_modula: bool = False
62
+ aggweight: int = 1.0
63
+ sharedmember: bool = False
64
+ datatype: str = "NUMBER"
65
+ parent_name: str = ROOT
66
66
 
67
67
 
68
68
  class DimMemberV12(DimensionMemberOperationDto):
69
- isActive = True
70
- aggweight = 1.0
71
- sharedMember = False
72
- dataType = "NUMBER"
73
- parentName = ROOT
69
+ isActive: bool = True
70
+ aggweight: int = 1.0
71
+ sharedMember: bool = False
72
+ dataType: str = "NUMBER"
73
+ parentName: str = ROOT
74
74
 
75
75
  @property
76
76
  def parent_name(self):
@@ -956,7 +956,7 @@ class AsyncDimension(ElementBase[DimensionAPI]):
956
956
 
957
957
  # -----------------------------------------------------------------------------
958
958
  # has shared member
959
- df_shared: pd.DataFrame = df[df[shared_mbr_col]]
959
+ df_shared: pd.DataFrame = df[df[shared_mbr_col].astype(bool)]
960
960
  if self._strict:
961
961
  existed_mbrs = self._member_memo
962
962
 
@@ -989,7 +989,7 @@ class AsyncDimension(ElementBase[DimensionAPI]):
989
989
  # 在df中丢弃系统中已存在的共享节点
990
990
  df_shared_remain = df_shared[~df_shared.index.isin(dup_sharedmbrs)]
991
991
 
992
- df_not_shared = df[~df[shared_mbr_col]]
992
+ df_not_shared = df[~df[shared_mbr_col].astype(bool)]
993
993
  existed_idx = df_not_shared[DFLT_NAME_COLUMN].isin(existed_mbrs)
994
994
  return df_not_shared.loc[existed_idx], \
995
995
  pd.concat([df_not_shared.loc[~existed_idx], df_shared_remain])
@@ -1162,12 +1162,25 @@ def _validate_df_for_dimension(df: pd.DataFrame):
1162
1162
  f"You have null value in dataframe. "
1163
1163
  f"column: [{DFLT_NAME_COLUMN}], index: {null_index}.")
1164
1164
 
1165
- if DFLT_PNAME_COLUMN not in df.columns:
1166
- raise ValueError(f"Missing column [{DFLT_PNAME_COLUMN}] in dataframe.")
1165
+ col_parent_name = None
1166
+ col_shared_member = None
1167
+
1168
+ if DFLT_PNAME_COLUMN in df.columns:
1169
+ col_parent_name = DFLT_PNAME_COLUMN
1170
+ elif DFLT_PNAME_COLUMN_V12 in df.columns:
1171
+ col_parent_name = DFLT_PNAME_COLUMN_V12
1167
1172
 
1168
1173
  if SHAREDMEMBER in df.columns:
1174
+ col_shared_member = SHAREDMEMBER
1175
+ elif SHAREDMEMBERV12 in df.columns:
1176
+ col_shared_member = SHAREDMEMBERV12
1177
+
1178
+ if col_parent_name is None:
1179
+ raise ValueError(f"Missing column [{DFLT_PNAME_COLUMN}] or [{DFLT_PNAME_COLUMN_V12}] in dataframe.")
1180
+
1181
+ if col_shared_member is not None:
1169
1182
  unique_df = df.groupby(
1170
- [DFLT_NAME_COLUMN, DFLT_PNAME_COLUMN, SHAREDMEMBER],
1183
+ [DFLT_NAME_COLUMN, col_parent_name, col_shared_member],
1171
1184
  as_index=False
1172
1185
  ).size()
1173
1186
  duplicated = unique_df[unique_df['size'] > 1]