bw-essentials-core 0.1.13__tar.gz → 0.1.15__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 bw-essentials-core might be problematic. Click here for more details.
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/PKG-INFO +1 -1
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/job_scheduler.py +3 -1
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/portfolio_catalogue.py +4 -4
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/portfolio_content.py +24 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/PKG-INFO +1 -1
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/setup.py +1 -1
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/README.md +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/constants/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/constants/services.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/data_loch/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/data_loch/data_loch.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/email_client/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/email_client/email_client.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/notifications/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/notifications/teams_notification_schemas.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/notifications/teams_notifications.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/s3_utils/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/s3_utils/s3_utils.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/__init__.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/api_client.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/broker.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/market_pricer.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/master_data.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/model_portfolio_reporting.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/notification.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/payment.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/trade_placement.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/user_app.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/user_portfolio.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/user_portfolio_reporting.py +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/SOURCES.txt +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/dependency_links.txt +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/requires.txt +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/top_level.txt +0 -0
- {bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/setup.cfg +0 -0
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/job_scheduler.py
RENAMED
|
@@ -13,7 +13,7 @@ class JobScheduler(ApiClient):
|
|
|
13
13
|
user (str): The user for whom the API calls are being made.
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
|
-
def __init__(self, user):
|
|
16
|
+
def __init__(self, user, tenant_id: str = None):
|
|
17
17
|
"""
|
|
18
18
|
Initialize the Job Scheduler object.
|
|
19
19
|
|
|
@@ -24,6 +24,7 @@ class JobScheduler(ApiClient):
|
|
|
24
24
|
self.base_url = self.get_base_url(Services.JOB_SCHEDULER.value)
|
|
25
25
|
self.api_key = self.get_api_key(Services.JOB_SCHEDULER.value)
|
|
26
26
|
self.name = Services.JOB_SCHEDULER.value
|
|
27
|
+
self.tenant_id = tenant_id
|
|
27
28
|
self.urls = {
|
|
28
29
|
"process_user_profile": "taskmanager/process/user-portfolios/"
|
|
29
30
|
}
|
|
@@ -37,6 +38,7 @@ class JobScheduler(ApiClient):
|
|
|
37
38
|
"""
|
|
38
39
|
return {
|
|
39
40
|
'Content-Type': 'application/json',
|
|
41
|
+
**({'X-Tenant-ID': self.tenant_id} if self.tenant_id else {}),
|
|
40
42
|
'x-api-key': self.api_key
|
|
41
43
|
}
|
|
42
44
|
|
|
@@ -179,10 +179,10 @@ class PortfolioCatalogue(ApiClient):
|
|
|
179
179
|
"""
|
|
180
180
|
logger.info(f"In get_subscriptions_by_ids {plans_ids =}")
|
|
181
181
|
url = f"{self.base_url}"
|
|
182
|
-
|
|
182
|
+
payload = {
|
|
183
183
|
"planId": plans_ids
|
|
184
184
|
}
|
|
185
|
-
response = self._post(url=url, endpoint=self.urls.get('subscriptions_by_ids'), json=
|
|
185
|
+
response = self._post(url=url, endpoint=self.urls.get('subscriptions_by_ids'), json=payload)
|
|
186
186
|
logger.info(f"Successfully fetched subscriptions by ids data. {response =}")
|
|
187
187
|
return response.get('data', [])
|
|
188
188
|
|
|
@@ -205,9 +205,9 @@ class PortfolioCatalogue(ApiClient):
|
|
|
205
205
|
"""
|
|
206
206
|
logger.info(f"In get_otp_subscriptions_by_ids {plans_ids =}")
|
|
207
207
|
url = f"{self.base_url}"
|
|
208
|
-
|
|
208
|
+
payload = {
|
|
209
209
|
"id": plans_ids
|
|
210
210
|
}
|
|
211
|
-
response = self._post(url=url, endpoint=self.urls.get('otp_subscriptions_by_ids'), json=
|
|
211
|
+
response = self._post(url=url, endpoint=self.urls.get('otp_subscriptions_by_ids'), json=payload)
|
|
212
212
|
logger.info(f"Successfully fetched otp subscriptions by ids data. {response =}")
|
|
213
213
|
return response.get('data', [])
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/portfolio_content.py
RENAMED
|
@@ -43,6 +43,7 @@ class PortfolioContent(ApiClient):
|
|
|
43
43
|
self.name = Services.PORTFOLIO_CONTENT.value
|
|
44
44
|
self.urls = {
|
|
45
45
|
"portfolio": "portfolio",
|
|
46
|
+
"portfolio-details": "portfolio-details"
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
def get_portfolio_details(self, portfolio_id: str) -> Optional[Dict[str, Any]]:
|
|
@@ -67,3 +68,26 @@ class PortfolioContent(ApiClient):
|
|
|
67
68
|
)
|
|
68
69
|
logger.info("%s", data)
|
|
69
70
|
return data
|
|
71
|
+
|
|
72
|
+
def get_portfolio_details_by_ids(self, portfolio_ids: list):
|
|
73
|
+
"""
|
|
74
|
+
Fetch portfolio details from the external service for the given portfolio IDs.
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
portfolio_ids (list): A list of portfolio IDs to fetch details for.
|
|
78
|
+
|
|
79
|
+
Returns:
|
|
80
|
+
dict: The response data containing portfolio details from the external service.
|
|
81
|
+
"""
|
|
82
|
+
logger.info("Fetching portfolio details for %d portfolio IDs: %s", len(portfolio_ids), portfolio_ids)
|
|
83
|
+
|
|
84
|
+
payload = {
|
|
85
|
+
"portfolioIds": portfolio_ids
|
|
86
|
+
}
|
|
87
|
+
response = self._post(
|
|
88
|
+
url=self.base_url,
|
|
89
|
+
endpoint=self.urls['portfolio-details'],
|
|
90
|
+
json=payload
|
|
91
|
+
)
|
|
92
|
+
logger.info(f"Successfully fetched portfolio details by ids. {response=}")
|
|
93
|
+
return response.get('data', [])
|
|
@@ -10,7 +10,7 @@ from setuptools import setup, find_packages
|
|
|
10
10
|
|
|
11
11
|
setup(
|
|
12
12
|
name="bw-essentials-core",
|
|
13
|
-
version="0.1.
|
|
13
|
+
version="0.1.15",
|
|
14
14
|
author="InvestorAI",
|
|
15
15
|
author_email="support+tech@investorai.in",
|
|
16
16
|
description="Reusable utilities for S3, email, Data Loch, Microsoft Teams Notifications and more.",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/data_loch/data_loch.py
RENAMED
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/email_client/__init__.py
RENAMED
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/email_client/email_client.py
RENAMED
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/notifications/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/api_client.py
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/market_pricer.py
RENAMED
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/master_data.py
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/notification.py
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/trade_placement.py
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials/services/user_portfolio.py
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/requires.txt
RENAMED
|
File without changes
|
{bw_essentials_core-0.1.13 → bw_essentials_core-0.1.15}/bw_essentials_core.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|