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.
- {ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge.egg-info → ipulse_shared_core_ftredge-2.32}/PKG-INFO +1 -1
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/setup.py +1 -1
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/__init__.py +8 -5
- ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/__init__.py +26 -0
- ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_common_utils.py +106 -0
- ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_data_eng.py +44 -0
- ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_module_fincore.py +58 -0
- ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge/enums/enums_modules.py +33 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/pulse_enums.py +9 -35
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32/src/ipulse_shared_core_ftredge.egg-info}/PKG-INFO +1 -1
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/SOURCES.txt +3 -1
- ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/__init__.py +0 -5
- ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/enums_common.py +0 -27
- ipulse_shared_core_ftredge-2.29/src/ipulse_shared_core_ftredge/enums/enums_data_eng.py +0 -40
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/LICENCE +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/README.md +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/pyproject.toml +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/setup.cfg +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/__init__.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/audit_log_firestore.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/organisation.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/resource_catalog_item.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_auth.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_profile.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_profile_update.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/models/user_status.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/tests/__init__.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/tests/test.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/utils_gcp.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge/utils_templates_and_schemas.py +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/dependency_links.txt +0 -0
- {ipulse_shared_core_ftredge-2.29 → ipulse_shared_core_ftredge-2.32}/src/ipulse_shared_core_ftredge.egg-info/requires.txt +0 -0
- {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.
|
|
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.
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
"
|
|
27
|
+
"oracle_historic_prices_domain",
|
|
34
28
|
"oracle_ai_domain",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
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.
|
|
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/
|
|
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,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()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|