pam-python 0.1.36__tar.gz → 0.1.38__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 (40) hide show
  1. {pam_python-0.1.36/pam_python.egg-info → pam_python-0.1.38}/PKG-INFO +1 -1
  2. pam_python-0.1.38/pam/request_file_format.py +5 -0
  3. {pam_python-0.1.36 → pam_python-0.1.38}/pam/service.py +3 -3
  4. {pam_python-0.1.36 → pam_python-0.1.38}/pam/task_manager.py +3 -3
  5. {pam_python-0.1.36 → pam_python-0.1.38/pam_python.egg-info}/PKG-INFO +1 -1
  6. {pam_python-0.1.36 → pam_python-0.1.38}/pam_python.egg-info/SOURCES.txt +1 -0
  7. {pam_python-0.1.36 → pam_python-0.1.38}/setup.py +1 -1
  8. {pam_python-0.1.36 → pam_python-0.1.38}/LICENSE.txt +0 -0
  9. {pam_python-0.1.36 → pam_python-0.1.38}/README.md +0 -0
  10. {pam_python-0.1.36 → pam_python-0.1.38}/pam/__init__.py +0 -0
  11. {pam_python-0.1.36 → pam_python-0.1.38}/pam/api.py +0 -0
  12. {pam_python-0.1.36 → pam_python-0.1.38}/pam/cli.py +0 -0
  13. {pam_python-0.1.36 → pam_python-0.1.38}/pam/interface_task_manager.py +0 -0
  14. {pam_python-0.1.36 → pam_python-0.1.38}/pam/models/__init__.py +0 -0
  15. {pam_python-0.1.36 → pam_python-0.1.38}/pam/models/request_command.py +0 -0
  16. {pam_python-0.1.36 → pam_python-0.1.38}/pam/server.py +0 -0
  17. {pam_python-0.1.36 → pam_python-0.1.38}/pam/sqlite.py +0 -0
  18. {pam_python-0.1.36 → pam_python-0.1.38}/pam/temp_file_utils.py +0 -0
  19. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/buildcmd/pamb +0 -0
  20. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/buildcmd/pamb-base.sh +0 -0
  21. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/docker/Dockerfile +0 -0
  22. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/AGENT.md +0 -0
  23. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/dockerignore.tmpl +0 -0
  24. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/gitignore.tmpl +0 -0
  25. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/main.tmpl +0 -0
  26. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/pylintrc.tmpl +0 -0
  27. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/run_unit_test.bat +0 -0
  28. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/run_unit_test.ps1 +0 -0
  29. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/init/run_unit_test.sh +0 -0
  30. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/service/functions.tmpl +0 -0
  31. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/service/service.test.tmpl +0 -0
  32. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/service/service.yaml +0 -0
  33. {pam_python-0.1.36 → pam_python-0.1.38}/pam/templates/service/service_class.tmpl +0 -0
  34. {pam_python-0.1.36 → pam_python-0.1.38}/pam/tester_task.py +0 -0
  35. {pam_python-0.1.36 → pam_python-0.1.38}/pam/utils.py +0 -0
  36. {pam_python-0.1.36 → pam_python-0.1.38}/pam_python.egg-info/dependency_links.txt +0 -0
  37. {pam_python-0.1.36 → pam_python-0.1.38}/pam_python.egg-info/entry_points.txt +0 -0
  38. {pam_python-0.1.36 → pam_python-0.1.38}/pam_python.egg-info/requires.txt +0 -0
  39. {pam_python-0.1.36 → pam_python-0.1.38}/pam_python.egg-info/top_level.txt +0 -0
  40. {pam_python-0.1.36 → pam_python-0.1.38}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pam-python
3
- Version: 0.1.36
3
+ Version: 0.1.38
4
4
  Summary: Pam Python Library
5
5
  Home-page: https://github.com/heart/pam-python
6
6
  Author: Narongrit Kanhanoi
@@ -0,0 +1,5 @@
1
+ from enum import Enum
2
+
3
+ class RequestFileFormat(Enum):
4
+ CSV="csv"
5
+ PARQUET="parquet"
@@ -8,7 +8,7 @@ import dask.dataframe as dd
8
8
  from pam.utils import log, deep_convert_numbers_to_strings, get_adapter_id
9
9
  from pam.models.request_command import RequestCommand
10
10
  from pam.temp_file_utils import TempfileUtils
11
-
11
+ from pam.request_file_format import RequestFileFormat
12
12
  if TYPE_CHECKING:
13
13
  from pam.task_manager import TaskManager
14
14
 
@@ -29,10 +29,10 @@ class Service:
29
29
  return get_adapter_id(self.request.response_api)
30
30
 
31
31
  # == REQUEST DATA ===
32
- def _request_data(self, page: str = "", filter_contact_ids: Optional[List[str]] = None) -> None:
32
+ def _request_data(self, page: str = "", filter_contact_ids: Optional[List[str]] = None, file_format: RequestFileFormat = RequestFileFormat.CSV) -> None:
33
33
  """Requests data for the specified page."""
34
34
  log(f"{self.request.service_name}: Requesting data for page={page}")
35
- self.task_manager.service_request_data(self, page, filter_contact_ids)
35
+ self.task_manager.service_request_data(self, page, filter_contact_ids, file_format)
36
36
 
37
37
  # == UPLOAD RESULT ===
38
38
  def _upload_result(
@@ -10,7 +10,7 @@ from pam.service import Service
10
10
  from pam.models.request_command import RequestCommand
11
11
  from pam.interface_task_manager import ITaskManager
12
12
  from pam.temp_file_utils import TempfileUtils
13
-
13
+ from pam.request_file_format import RequestFileFormat
14
14
  class ServiceHolder:
15
15
  def __init__(self, service: Service):
16
16
  self.service = service
@@ -165,14 +165,14 @@ class TaskManager(ITaskManager):
165
165
  self._remove_service(token)
166
166
 
167
167
  # ==== Service Callbacks ====
168
- def service_request_data(self, service: Service, page, filter_contact_ids=None):
168
+ def service_request_data(self, service: Service, page, filter_contact_ids=None, file_format: RequestFileFormat = RequestFileFormat.CSV):
169
169
  """
170
170
  Makes an asynchronous request for data from a service.
171
171
  Logs the response without blocking the main thread.
172
172
  """
173
173
  endpoint = service.request.data_api
174
174
  token = service.request.token
175
- json_data = {"page": page, "token": token}
175
+ json_data = {"page": page, "token": token, "file_format": file_format.value}
176
176
  if filter_contact_ids is not None:
177
177
  json_data["filter_contact_ids"] = filter_contact_ids
178
178
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pam-python
3
- Version: 0.1.36
3
+ Version: 0.1.38
4
4
  Summary: Pam Python Library
5
5
  Home-page: https://github.com/heart/pam-python
6
6
  Author: Narongrit Kanhanoi
@@ -5,6 +5,7 @@ pam/__init__.py
5
5
  pam/api.py
6
6
  pam/cli.py
7
7
  pam/interface_task_manager.py
8
+ pam/request_file_format.py
8
9
  pam/server.py
9
10
  pam/service.py
10
11
  pam/sqlite.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="pam-python",
5
- version="0.1.36",
5
+ version="0.1.38",
6
6
  author="Narongrit Kanhanoi",
7
7
  author_email="narongrit@pams.ai",
8
8
  description="Pam Python Library",
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