PyQuantimClient 2.0.12__tar.gz → 2.0.14__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 (22) hide show
  1. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/PKG-INFO +1 -1
  2. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/PyQuantimClient.egg-info/PKG-INFO +1 -1
  3. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/setup.py +1 -1
  4. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/api.py +30 -2
  5. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/PyQuantimClient.egg-info/SOURCES.txt +0 -0
  6. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/PyQuantimClient.egg-info/dependency_links.txt +0 -0
  7. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/PyQuantimClient.egg-info/top_level.txt +0 -0
  8. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/README.md +0 -0
  9. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/setup.cfg +0 -0
  10. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/__init__.py +0 -0
  11. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/alm.py +0 -0
  12. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/benchmarks.py +0 -0
  13. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/bi.py +0 -0
  14. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/credit.py +0 -0
  15. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/data.py +0 -0
  16. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/energy.py +0 -0
  17. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/performance.py +0 -0
  18. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/portfolios.py +0 -0
  19. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/preprocess_co.py +0 -0
  20. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/returns.py +0 -0
  21. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/risk.py +0 -0
  22. {pyquantimclient-2.0.12 → pyquantimclient-2.0.14}/src/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQuantimClient
3
- Version: 2.0.12
3
+ Version: 2.0.14
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQuantimClient
3
- Version: 2.0.12
3
+ Version: 2.0.14
4
4
  Summary: Python client to access quantIM services
5
5
  Author: Daniel Velasquez
6
6
  Author-email: daniel.velasquez@sura-im.com
@@ -4,7 +4,7 @@ setup(
4
4
  name='PyQuantimClient',
5
5
  packages=['PyQuantimClient'],
6
6
  package_dir={'PyQuantimClient': 'src'},
7
- version='2.0.12',
7
+ version='2.0.14',
8
8
  description='Python client to access quantIM services',
9
9
  author='Daniel Velasquez',
10
10
  author_email='daniel.velasquez@sura-im.com',
@@ -1,7 +1,17 @@
1
1
  # -*- coding: utf-8 -*-
2
+ import requests, json, warnings, mimetypes
2
3
  import pandas as pd
3
4
  import numpy as np
4
- import requests, json
5
+
6
+ warnings.filterwarnings('ignore')
7
+
8
+ mimetypes.add_type('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','.xlsx')
9
+ mimetypes.add_type('application/vnd.ms-excel', '.xls')
10
+ mimetypes.add_type('application/vnd.ms-excel.sheet.macroEnabled.12', '.xlsm')
11
+ mimetypes.add_type('text/csv','.csv')
12
+ mimetypes.add_type('application/vnd.openxmlformats-officedocument.wordprocessingml.document','.docx')
13
+ mimetypes.add_type('application/msword', '.doc')
14
+ mimetypes.add_type('application/pdf', '.pdf')
5
15
 
6
16
  class quantim:
7
17
  def __init__(self, username, password, secretpool, env="pdn", api_url=None):
@@ -105,9 +115,12 @@ class quantim:
105
115
  print(f"Error with presigned url: {e}")
106
116
  return False
107
117
 
118
+ content_type, _ = mimetypes.guess_type(local_file_path)
119
+ put_headers = {'Content-Type':content_type}
120
+
108
121
  with open(local_file_path, 'rb') as file:
109
122
  try:
110
- response = requests.put(presigned_url, data=file, verify=False)
123
+ response = requests.put(presigned_url, data=file, headers=put_headers, verify=False)
111
124
  if response.status_code == 200:
112
125
  print("File uploaded successfully")
113
126
  return True
@@ -117,3 +130,18 @@ class quantim:
117
130
  except Exception as e:
118
131
  print(f"Error uploading file: {e}")
119
132
  return False
133
+
134
+ def send_email(self, to, subject=None, content=None, vfrom="quantim@surainvestments.com", toname=None, fromname=None, cc=None, ccname=None, bcc=None, bccname=None, replyto=None, replytoname=None):
135
+ """
136
+ Send email using sendgrid.
137
+ """
138
+ if subject is None and content is None:
139
+ raise ValueError("Both subject and content cannot be None!")
140
+
141
+ data = {'to':to,'toname':toname,'from':vfrom,'fromname':fromname,'subject':subject or "", 'content':content or "",'cc':cc,'ccname':ccname,'bcc':bcc,'bccname':bccname,'replyto':replyto,'replytoname':replytoname}
142
+ try:
143
+ resp = self.api_call('sendgrid', method="post", data=data, verify=False)
144
+ except Exception as e:
145
+ print(f"Error with presigned url: {e}")
146
+ return False
147
+ return resp