ipulse-shared-core-ftredge 2.29__tar.gz → 2.32__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.

Potentially problematic release.


This version of ipulse-shared-core-ftredge might be problematic. Click here for more details.

Files changed (33) hide show
  1. {ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge.egg-info → ipulse_shared_core_ftredge-2.32}/PKG-INFO +1 -1
  2. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/setup.py +1 -1
  3. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/__init__.py +8 -5
  4. ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/__init__.py +26 -0
  5. ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_common_utils.py +106 -0
  6. ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_data_eng.py +44 -0
  7. ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_module_fincore.py +58 -0
  8. ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_modules.py +33 -0
  9. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/pulse_enums.py +9 -35
  10. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge.egg-info}/PKG-INFO +1 -1
  11. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/SOURCES.txt +3 -1
  12. ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/__init__.py +0 -5
  13. ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/enums_common.py +0 -27
  14. ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/enums_data_eng.py +0 -40
  15. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/LICENCE +0 -0
  16. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/README.md +0 -0
  17. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/pyproject.toml +0 -0
  18. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/setup.cfg +0 -0
  19. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/__init__.py +0 -0
  20. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/audit_log_firestore.py +0 -0
  21. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/organisation.py +0 -0
  22. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/resource_catalog_item.py +0 -0
  23. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_auth.py +0 -0
  24. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_profile.py +0 -0
  25. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_profile_update.py +0 -0
  26. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_status.py +0 -0
  27. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/tests/__init__.py +0 -0
  28. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/tests/test.py +0 -0
  29. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/utils_gcp.py +0 -0
  30. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/utils_templates_and_schemas.py +0 -0
  31. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/dependency_links.txt +0 -0
  32. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/requires.txt +0 -0
  33. {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ipulse_shared_core_ftredge
3
- Version: 2.29
3
+ Version: 2.32
4
4
  Summary: Shared Core models and Logger util for the Pulse platform project. Using AI for financial advisory and investment management.
5
5
  Home-page: https://github.com/TheFutureEdge/ipulse_shared_core
6
6
  Author: Russlan Ramdowar
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='ipulse_shared_core_ftredge',
5
- version='2.29',
5
+ version='2.32',
6
6
  package_dir={'': 'src'}, # Specify the source directory
7
7
  packages=find_packages(where='src'), # Look for packages in 'src'
8
8
  install_requires=[
@@ -5,8 +5,11 @@ from .utils_gcp import (setup_gcp_logger_and_error_report,
5
5
  write_csv_to_gcs, write_json_to_gcs)
6
6
  from .utils_templates_and_schemas import (create_bigquery_schema_from_json,
7
7
  update_check_with_schema_template)
8
- from .enums import (NoticeSeverity,
9
- SourcingPipelineType,
10
- SourcingTriggerType,
11
- DWEvents,
12
- DWEventTriggerType )
8
+ from .enums import (NoticeSeverity,Unit, Frequency,
9
+ Module, SubModule, BaseDataCategory,
10
+ FinCoreCategory, FincCoreSubCategory,
11
+ FinCoreRecordsCategory, ExchangeOrPublisher,
12
+ SourcingPipelineType, SourcingTriggerType,
13
+ DWEvent, DWEventTriggerType)
14
+
15
+
@@ -0,0 +1,26 @@
1
+
2
+ # pylint: disable=missing-module-docstring
3
+ # pylint: disable=missing-function-docstring
4
+ # pylint: disable=missing-class-docstring
5
+
6
+ from .enums_common_utils import (NoticeSeverity,
7
+ Unit,
8
+ Frequency)
9
+
10
+
11
+ from .enums_modules import(Module,
12
+ SubModule,
13
+ BaseDataCategory)
14
+
15
+
16
+ from .enums_module_fincore import (FinCoreCategory,
17
+ FincCoreSubCategory,
18
+ FinCoreRecordsCategory,
19
+ ExchangeOrPublisher)
20
+
21
+
22
+
23
+ from .enums_data_eng import (SourcingTriggerType,
24
+ SourcingPipelineType,
25
+ DWEvent,
26
+ DWEventTriggerType)
@@ -0,0 +1,106 @@
1
+
2
+ # pylint: disable=missing-module-docstring
3
+ # pylint: disable=missing-function-docstring
4
+ # pylint: disable=missing-class-docstring
5
+
6
+ from enum import Enum
7
+
8
+ class NoticeSeverity(Enum):
9
+ """
10
+ Standardized logging levels for data engineering pipelines,
11
+ designed for easy analysis and identification of manual
12
+ intervention needs.
13
+ """
14
+ DEBUG = 100 # Detailed debug information (for development/troubleshooting)
15
+ INFO = 200 # Normal pipeline execution information
16
+ NOTICE = 300 # Events requiring attention, but not necessarily errors
17
+
18
+ # Warnings indicate potential issues that might require attention:
19
+ WARNING_NO_ACTION = 401 # Minor issue or Unexpected Behavior, no immediate action required (can be logged frequently)
20
+ WARNING_ACTION_RECOMMENDED = 402 # Action recommended to prevent potential future issues
21
+ WARNING_ACTION_REQUIRED = 403 # Action required, pipeline can likely continue
22
+
23
+ # Errors indicate a problem that disrupts normal pipeline execution:
24
+ ERROR_TRANSIENT_RETRY = 501 # Temporary error, automatic retry likely to succeed
25
+ ERROR_DATA_ISSUE_ISOLATED = 502 # Error likely caused by data issues, manual intervention likely needed
26
+ ERROR_DATA_ISSUE_WITH_DEPENDENCIES = 503 # Error likely in code/configuration, investigation required
27
+ ERROR_CONFIG_OR_CODE_ISSUE = 504 # Error likely in code/configuration, investigation required
28
+ ERROR_UNKNOWN_EXCEPTION = 505
29
+
30
+ # Critical errors indicate severe failures requiring immediate attention:
31
+ CRITICAL_SYSTEM_FAILURE = 601 # System-level failure (e.g., infrastructure), requires immediate action
32
+ CRITICAL_PIPELINE_FAILURE = 602 # Complete pipeline failure, requires investigation and potential rollback
33
+
34
+
35
+
36
+ class Unit(Enum):
37
+ MIX="MIX"
38
+ # Currency and Financial Values
39
+ USD = "USD" # United States Dollar
40
+ EUR = "EUR" # Euro
41
+ JPY = "JPY" # Japanese Yen
42
+ GBP = "GBP" # British Pound Sterling
43
+ AUD = "AUD" # Australian Dollar
44
+ CAD = "CAD" # Canadian Dollar
45
+ CHF = "CHF" # Swiss Franc
46
+ CNY = "CNY" # Chinese Yuan Renminbi
47
+ SEK = "SEK" # Swedish Krona
48
+ NZD = "NZD" # New Zealand Dollar
49
+ MXN = "MXN" # Mexican Peso
50
+ SGD = "SGD" # Singapore Dollar
51
+ HKD = "HKD" # Hong Kong Dollar
52
+ NOK = "NOK" # Norwegian Krone
53
+ KRW = "KRW" # South Korean Won
54
+ RUB = "RUB" # Russian Ruble
55
+ INR = "INR" # Indian Rupee
56
+ BRL = "BRL" # Brazilian Real
57
+ ZAR = "ZAR" # South African Rand
58
+ CURRENCY = "currency" # General currency, when specific currency is not needed
59
+
60
+ # Stock Market and Investments
61
+ SHARES = "shars" # Number of shares
62
+ PERCENT = "prcnt" # Percentage, used for rates and ratios
63
+ BPS = "bps" # Basis points, often used for interest rates and financial ratios
64
+
65
+ # Volume and Quantitative Measurements
66
+ VOLUME = "vol" # Trading volume in units
67
+ MILLIONS = "mills" # Millions, used for large quantities or sums
68
+ BILLIONS = "bills" # Billions, used for very large quantities or sums
69
+
70
+ # Commodity Specific Units
71
+ BARRELS = "barrls" # Barrels, specifically for oil and similar liquids
72
+ TONNES = "tonnes" # Tonnes, for bulk materials like metals or grains
73
+ TROY_OUNCES = "troy_oz" # Troy ounces, specifically for precious metals
74
+
75
+ # Real Estate and Physical Properties
76
+ SQUARE_FEET = "sq_ft" # Square feet, for area measurement in real estate
77
+ METER_SQUARE = "m2" # Square meters, for area measurement in real estate
78
+ ACRES = "acres" # Acres, used for measuring large plots of land
79
+
80
+ # Miscellaneous and Other Measures
81
+ UNITS = "units" # Generic units, applicable when other specific units are not suitable
82
+ COUNT = "count" # Count, used for tallying items or events
83
+ INDEX_POINTS = "index_pnts" # Index points, used in measuring indices like stock market indices
84
+ RATIO = "ratio" # Ratio, for various financial ratios
85
+
86
+ class Frequency(Enum):
87
+ ONE_MIN = "1min"
88
+ FIVE_MIN="5min"
89
+ FIFTEEN_MIN="15min"
90
+ THIRTY_MIN = "30min"
91
+ ONE_H = "1h"
92
+ TWO_H = "2h"
93
+ SIX_H = "6h"
94
+ TWELVE_H = "12h"
95
+ FOUR_H = "4h"
96
+ EOD="eod"
97
+ ONE_D = "1d"
98
+ TWO_D = "2d"
99
+ THREE_D = "3d"
100
+ ONE_W = "1w"
101
+ ONE_M = "1m"
102
+ TWO_M="2m"
103
+ THREE_M="3m"
104
+ SIX_M="6m"
105
+ ONE_Y="1y"
106
+ THREE_Y="3y"
@@ -0,0 +1,44 @@
1
+ # pylint: disable=missing-module-docstring
2
+ # pylint: disable=missing-function-docstring
3
+ # pylint: disable=missing-class-docstring
4
+ from enum import Enum
5
+
6
+ class SourcingTriggerType(Enum):
7
+ HISTORIC_MANUAL = "historic_manual"
8
+ LIVE_SCHEDULED = "live_scheduled"
9
+ ADHOC_MANUAL = "adhoc_manual"
10
+ ADHOC_SCHEDULED = "adhoc_scheduled"
11
+ LIVE_MANUAL = "live_manual"
12
+
13
+ class SourcingPipelineType(Enum):
14
+ LOCAL_GET_API_TO_GCS = "local_get_api_to_gcs"
15
+ LOCAL_GET_API_INMEMORY = "local_get_api_inmemory"
16
+ LOCAL_GET_API_TO_LOCAL_FILE = "local_get_api_to_local_file"
17
+ LOCAL_DOWNLOAD_WEB_FILE_TO_LOCAL = "local_download_web_file_to_local"
18
+ LOCAL_DOWNLOAD_WEB_FILE_TO_GCS = "local_download_web_file_to_gcs"
19
+ CLOUD_GET_API_TO_GCS = "cloud_get_api_to_gcs"
20
+ CLOUD_GET_API_INMEMORY = "cloud_get_api_inmemory"
21
+
22
+ class DWEventTriggerType(Enum):
23
+ GCS_BUCKET_UPLOAD = "gcs_bucket_upload"
24
+ INSIDE_SOURCING_FUNCTION = "inside_sourcing_function"
25
+ HTTP_FUNC_TO_GCS = "http_func_to_gcs"
26
+ LOCAL_FROM_GCS_FILE = "local_from_gcs_file"
27
+ MANUAL_FROM_LOCAL_FILE = "manual_from_local_file"
28
+ PUBSUBC_TOPIC = "pubsubc_topic"
29
+
30
+ class DWEvent(Enum):
31
+ INSERT_NOREPLACE_1A_NT = "insert_noreplace_1a_nt"
32
+ MERGE_NOREPLACE_NA_1T = "merge_noreplace_na_1t"
33
+ MERGE_NOREPLACE_NA_NT = "merge_noreplace_na_nt"
34
+ INSERT_NOREPLACE_1A_1T = "insert_noreplace_1a_1t"
35
+ MERGE_NOREPLACE_1A_NT = "merge_noreplace_1a_nt"
36
+ INSERT_REPLACE_1A_1T = "insert_replace_1a_1t"
37
+ INSERT_REPLACE_1A_NT = "insert_replace_1a_nt"
38
+ MERGE_REPLACE_NA_NT = "merge_replace_na_nt"
39
+ MERGE_REPLACE_1A_NT = "merge_replace_1a_nt"
40
+ MERGE_REPLACE_NA_1T = "merge_replace_na_1t"
41
+ DELETE_1A_1T = "delete_1a_1t"
42
+ DELETE_1A_NT = "delete_1a_nt"
43
+ DELETE_NA_1T = "delete_na_1t"
44
+ DELETE_NA_NT = "delete_na_nt"
@@ -0,0 +1,58 @@
1
+ # pylint: disable=missing-module-docstring
2
+ # pylint: disable=missing-function-docstring
3
+ # pylint: disable=missing-class-docstring
4
+ from enum import Enum
5
+
6
+
7
+ class FinCoreCategory(Enum):
8
+ MARKET="market"
9
+ ECONOMY="economy"
10
+ POLITICS="poltcs"
11
+ CORPORATE="corp"
12
+ FUNDAMENTAL="fundam"
13
+ SENTIMENT="sntmnt"
14
+ NEWS="news"
15
+ SOCIAL="social"
16
+ OTHER="other"
17
+
18
+ class FincCoreSubCategory(Enum):
19
+ STOCKS = "stocks"
20
+ BONDS = "bonds"
21
+ COMMODITIES = "cmmdt"
22
+ CURRENCIES = "crrncy"
23
+ CRYPTOCURRENCIES = "crypto"
24
+ REAL_ESTATE = "realest"
25
+ EQUITY_INDICES = "eqindx"
26
+ OPTIONS = "options"
27
+ FUTURES = "futures"
28
+ ETF = "etf"
29
+ ECONOMIC_INDICATORS = "ecoind"
30
+ FUNDAMENTALS = "fundam"
31
+ OTHER = "othr"
32
+
33
+ class FinCoreRecordsCategory(Enum):
34
+ PRICE="pric"
35
+ PRICE_SPOT= "pric.s"
36
+ PRICE_OHCLVA="pric.ohlcva"
37
+ PRICE_OHCLV="pric.ohlcv"
38
+ PRICE_OPEN="pric.o"
39
+ PRICE_HIGH="pric.h"
40
+ PRICE_LOW="pric.l"
41
+ PRICE_CLOSE="pric.c"
42
+ PRICE_VOLUME="pric.v"
43
+ PRICE_ADJC="pric.a"
44
+ FUNDAMENTAL="fundam" # treat this differently
45
+ EARNINGS="earnings"
46
+ CASH_FLOW="cashflw"
47
+ BALANCE_SHEET="blnce_sht"
48
+ INTERNAL_TRANSACTIONS="internaltrans"
49
+ INDICATORS="indic"
50
+ ARTICLE="article"
51
+ INSTA_POST="isntapost"
52
+ TWEET="tweet"
53
+ OTHER="othr"
54
+
55
+ class ExchangeOrPublisher(Enum):
56
+ CC="cc"
57
+ US="us"
58
+ NASDAQ="nasdaq"
@@ -0,0 +1,33 @@
1
+
2
+ # pylint: disable=missing-module-docstring
3
+ # pylint: disable=missing-function-docstring
4
+ # pylint: disable=missing-class-docstring
5
+ from enum import Enum
6
+
7
+
8
+ class Module(Enum):
9
+ CORE="core"
10
+ ORACLE="oracle"
11
+ PORTFOLIO="portfolio"
12
+
13
+
14
+ ### DOMAIN : ORACLE
15
+ class SubModule(Enum):
16
+ FINCORE="fincore"
17
+ GYMCORE="gymcore"
18
+ SPORTSCORE="sportscore"
19
+ HEALTHCORE="healthcore"
20
+ ENVICORE="envicore"
21
+ POLICORE="policore"
22
+ CUSTOM="custom"
23
+
24
+ class BaseDataCategory(Enum):
25
+ HISTORIC = "historic" # Historical data, usually accurate and complete
26
+ REAL_TIME="realtime" # Real-time data, not always certain, can have error
27
+ ANALYTICS="analytics" # Analytical data andx modelling, derived from historical and prediction data
28
+ PREDICTIVE="predictive" # Predictive data, based on models and simulations
29
+ HISTORIC_OPINION="histopinion" # Opinions and subjective data about the past, msotly unverified but recorded facts and ideas
30
+ SIMULATION_HISTORIC = "simhistoric" # Simulates past events
31
+ SIMULATION_REAL_TIME = "simrealtime" # Simulates live data streams
32
+ SIMULATION_ANALYTICS = "simanalytics" # Simulates live data streams
33
+ SIMULATION_PREDICTIVE="simpredictive" # Simulated data, used for testing and training
@@ -13,54 +13,40 @@ resource_classifications = {
13
13
  "internal_confidential", ## Few Internal employees Can Access. ex: internal user data, key financials, salaries and bonuses etc
14
14
  "internal_limitedacl", ## Has to employee usertype and in the ACL
15
15
  "internal_owner"
16
-
17
-
18
- }
19
-
20
- default_organisations_uids = {
21
-
22
16
  }
23
17
 
24
18
 
25
19
  resource_domain = {
26
20
  "*",
27
- ############### GYM #########
21
+ ############### GYM #########
28
22
  "gym_domain",
29
23
  "gym_data_domain",
30
24
  "gym_ai_domain",
31
- ############## ORACLE #########
25
+ ############## ORACLE #########
32
26
  "oracle_domain",
33
- "oracle_world_data_domain"
27
+ "oracle_historic_prices_domain",
34
28
  "oracle_ai_domain",
35
- "oracle_assets_historic_prices_domain",
36
- "oracle_assests_historic_info_dmoain",
37
- "oracle_indicators_historic_domain",
29
+ "oracle_assests_historic_info_domain",
30
+ "oracle_historic_econometrics_domain",
38
31
  "oracle_news_historic_domain",
39
32
  "oracle_calendar_domain",
40
33
  "oracle_modelinfo_domain",
41
34
  "oracle_modelmetrics_domain",
42
35
  "oracle_modelpredictions_domain",
43
- ######### ORGANISATIONS #########
36
+ ######### ORGANISATIONS #########
44
37
  "organisation_domain",
45
- ################### USER #########
38
+ ################### USER #########
46
39
  "user_domain",
47
40
  "user_management_domain",
48
41
  "user_portfolio_domain",
49
42
  "user_groups_and_roles_domain",
50
- ############### BUSINESS #########
43
+ ############### BUSINESS #########
51
44
  "business_domain",
52
- ############### ANALYTICS #########
45
+ ############### ANALYTICS #########
53
46
  "analytics_domain",
54
-
55
47
  "system_domain"
56
48
  }
57
49
 
58
- resource_location = {
59
- "firestore_default_",
60
- "github_ipulse_ui_main", "github_authz_main","github_authz_staging",
61
- }
62
-
63
-
64
50
  resource_types = {
65
51
  "db", "sql_db", "nosql_db", "dynamodb",
66
52
  "big_query", "big_query_project", "big_query_table", "big_query_column",
@@ -74,15 +60,6 @@ resource_types = {
74
60
  "api", "report", "dashboard", "webpage", "website", "web"
75
61
  }
76
62
 
77
- resource_origins = {"*", "internal", "external", "mixed"}
78
-
79
- resource_original_or_processed = {"*",
80
- "original_source", # Example User Profiles
81
- "original_copy",
82
- "processed_source",
83
- "processed_copy",
84
- "mixed_source",
85
- "mixed_copy" }
86
63
 
87
64
  pulse_modules={
88
65
  "*",
@@ -165,9 +142,6 @@ licences_types={
165
142
  }
166
143
 
167
144
 
168
-
169
- effects={"allow", "deny"}
170
-
171
145
  actions ={"GET",
172
146
  "POST",
173
147
  "DELETE",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ipulse_shared_core_ftredge
3
- Version: 2.29
3
+ Version: 2.32
4
4
  Summary: Shared Core models and Logger util for the Pulse platform project. Using AI for financial advisory and investment management.
5
5
  Home-page: https://github.com/TheFutureEdge/ipulse_shared_core
6
6
  Author: Russlan Ramdowar
@@ -11,8 +11,10 @@ src/ipulse_shared_core_ftredge.egg-info/dependency_links.txt
11
11
  src/ipulse_shared_core_ftredge.egg-info/requires.txt
12
12
  src/ipulse_shared_core_ftredge.egg-info/top_level.txt
13
13
  src/ipulse_shared_core_ftredge/enums/__init__.py
14
- src/ipulse_shared_core_ftredge/enums/enums_common.py
14
+ src/ipulse_shared_core_ftredge/enums/enums_common_utils.py
15
15
  src/ipulse_shared_core_ftredge/enums/enums_data_eng.py
16
+ src/ipulse_shared_core_ftredge/enums/enums_module_fincore.py
17
+ src/ipulse_shared_core_ftredge/enums/enums_modules.py
16
18
  src/ipulse_shared_core_ftredge/models/__init__.py
17
19
  src/ipulse_shared_core_ftredge/models/audit_log_firestore.py
18
20
  src/ipulse_shared_core_ftredge/models/organisation.py
@@ -1,5 +0,0 @@
1
- from .enums_common import NoticeSeverity
2
- from .enums_data_eng import (SourcingTriggerType,
3
- SourcingPipelineType,
4
- DWEvents,
5
- DWEventTriggerType)
@@ -1,27 +0,0 @@
1
- from enum import Enum
2
-
3
- class NoticeSeverity(Enum):
4
- """
5
- Standardized logging levels for data engineering pipelines,
6
- designed for easy analysis and identification of manual
7
- intervention needs.
8
- """
9
- DEBUG = 100 # Detailed debug information (for development/troubleshooting)
10
- INFO = 200 # Normal pipeline execution information
11
- NOTICE = 300 # Events requiring attention, but not necessarily errors
12
-
13
- # Warnings indicate potential issues that might require attention:
14
- WARNING_NO_ACTION = 401 # Minor issue or Unexpected Behavior, no immediate action required (can be logged frequently)
15
- WARNING_ACTION_RECOMMENDED = 402 # Action recommended to prevent potential future issues
16
- WARNING_ACTION_REQUIRED = 403 # Action required, pipeline can likely continue
17
-
18
- # Errors indicate a problem that disrupts normal pipeline execution:
19
- ERROR_TRANSIENT_RETRY = 501 # Temporary error, automatic retry likely to succeed
20
- ERROR_DATA_ISSUE_ISOLATED = 502 # Error likely caused by data issues, manual intervention likely needed
21
- ERROR_DATA_ISSUE_WITH_DEPENDENCIES = 503 # Error likely in code/configuration, investigation required
22
- ERROR_CONFIG_OR_CODE_ISSUE = 504 # Error likely in code/configuration, investigation required
23
- ERROR_UNKNOWN_EXCEPTION = 505
24
-
25
- # Critical errors indicate severe failures requiring immediate attention:
26
- CRITICAL_SYSTEM_FAILURE = 601 # System-level failure (e.g., infrastructure), requires immediate action
27
- CRITICAL_PIPELINE_FAILURE = 602 # Complete pipeline failure, requires investigation and potential rollback
@@ -1,40 +0,0 @@
1
- from enum import Enum, auto
2
-
3
- class SourcingTriggerType(Enum):
4
- HISTORIC_MANUAL = auto()
5
- LIVE_SCHEDULED = auto()
6
- ADHOC_MANUAL = auto()
7
- ADHOC_SCHEDULED = auto()
8
- LIVE_MANUAL = auto()
9
-
10
- class SourcingPipelineType(Enum):
11
- LOCAL_GET_API_TO_GCS_BUCKET_FILE = auto()
12
- GCLOUD_GET_API_INMEMORY = auto()
13
- LOCAL_GET_API_INMEMORY = auto()
14
- GCLOUD_GET_API_TO_GCS_BUCKET_FILE = auto()
15
- LOCAL_GET_API_TO_LOCAL_FILE = auto()
16
- LOCAL_DOWNLOAD_WEB_FILE_TO_LOCAL = auto()
17
- LOCAL_DOWNLOAD_WEB_FILE_UPLOAD_TO_GCS_BUCKET = auto()
18
-
19
- class DWEventTriggerType(Enum):
20
- GCS_BUCKET_FILE_UPLOAD = auto()
21
- INSIDE_SOURCING_FUNCTION = auto()
22
- MANUAL_FROM_GCS_BUCKET_FILE = auto()
23
- MANUAL_FROM_LOCAL_FILE = auto()
24
- PUBSUBC_TOPIC = auto()
25
-
26
- class DWEvents(Enum):
27
- INSERT_NOREPLACE_1A_NT = auto()
28
- MERGE_NOREPLACE_NA_1T = auto()
29
- MERGE_NOREPLACE_NA_NT = auto()
30
- INSERT_NOREPLACE_1A_1T = auto()
31
- MERGE_NOREPLACE_1A_NT = auto()
32
- INSERT_REPLACE_1A_1T = auto()
33
- INSERT_REPLACE_1A_NT = auto()
34
- MERGE_REPL_NA_NT = auto()
35
- MERGE_REPL_1A_NT = auto()
36
- MERGE_REPL_NA_1T = auto()
37
- DELETE_1A_1T = auto()
38
- DELETE_1A_NT = auto()
39
- DELETE_NA_1T = auto()
40
- DELETE_NA_NT = auto()