quapp-common 0.0.12.dev2__tar.gz → 0.0.12.dev3__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 (86) hide show
  1. {quapp_common-0.0.12.dev2/quapp_common.egg-info → quapp_common-0.0.12.dev3}/PKG-INFO +1 -1
  2. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/pyproject.toml +1 -1
  3. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/request/invocation_request.py +19 -19
  4. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/sdk.py +1 -0
  5. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3/quapp_common.egg-info}/PKG-INFO +1 -1
  6. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/LICENSE +0 -0
  7. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/README.md +0 -0
  8. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/__init__.py +0 -0
  9. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/async_tasks/__init__.py +0 -0
  10. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/async_tasks/async_invocation_task.py +0 -0
  11. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/async_tasks/async_task.py +0 -0
  12. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/async_tasks/export_circuit_task.py +0 -0
  13. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/async_tasks/post_processing_task.py +0 -0
  14. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/__init__.py +0 -0
  15. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/backend/__init__.py +0 -0
  16. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/backend/invocation.py +0 -0
  17. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/backend/job_fetcher.py +0 -0
  18. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/backend/job_fetching.py +0 -0
  19. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/backend/job_manager.py +0 -0
  20. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/bridge.py +0 -0
  21. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/callback/__init__.py +0 -0
  22. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/callback/update_job_metadata.py +0 -0
  23. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/circuit_adapter.py +0 -0
  24. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/device/__init__.py +0 -0
  25. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/device/device_selection.py +0 -0
  26. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/dispatcher.py +0 -0
  27. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/component/result_serializer.py +0 -0
  28. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/config/__init__.py +0 -0
  29. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/config/logging_config.py +0 -0
  30. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/config/thread_config.py +0 -0
  31. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/__init__.py +0 -0
  32. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/async_task/__init__.py +0 -0
  33. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/async_task/circuit_export/__init__.py +0 -0
  34. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/async_task/circuit_export/backend_holder.py +0 -0
  35. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/async_task/circuit_export/circuit_holder.py +0 -0
  36. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/backend/__init__.py +0 -0
  37. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/backend/backend_information.py +0 -0
  38. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/callback/__init__.py +0 -0
  39. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/callback/callback_url.py +0 -0
  40. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/device/__init__.py +0 -0
  41. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/device/circuit_running_option.py +0 -0
  42. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/promise/__init__.py +0 -0
  43. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/promise/post_processing_promise.py +0 -0
  44. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/promise/promise.py +0 -0
  45. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/request/__init__.py +0 -0
  46. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/request/job_fetching_request.py +0 -0
  47. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/request/request.py +0 -0
  48. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/response/__init__.py +0 -0
  49. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/response/authentication.py +0 -0
  50. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/response/custom_header.py +0 -0
  51. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/data/response/job_response.py +0 -0
  52. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/__init__.py +0 -0
  53. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/base_enum.py +0 -0
  54. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/http_header.py +0 -0
  55. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/invocation_step.py +0 -0
  56. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/language.py +0 -0
  57. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/media_type.py +0 -0
  58. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/processing_unit.py +0 -0
  59. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/provider_tag.py +0 -0
  60. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/status/__init__.py +0 -0
  61. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/status/job_status.py +0 -0
  62. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/status/status_code.py +0 -0
  63. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/enum/token_type.py +0 -0
  64. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/factory/__init__.py +0 -0
  65. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/factory/device_factory.py +0 -0
  66. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/factory/handler_factory.py +0 -0
  67. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/factory/provider_factory.py +0 -0
  68. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/handler/__init__.py +0 -0
  69. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/handler/handler.py +0 -0
  70. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/__init__.py +0 -0
  71. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/device/__init__.py +0 -0
  72. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/device/custom_device.py +0 -0
  73. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/device/device.py +0 -0
  74. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/invocation.py +0 -0
  75. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/provider/__init__.py +0 -0
  76. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/model/provider/provider.py +0 -0
  77. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/util/__init__.py +0 -0
  78. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/util/file_utils.py +0 -0
  79. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/util/http_utils.py +0 -0
  80. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/util/json_parser_utils.py +0 -0
  81. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common/util/response_utils.py +0 -0
  82. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common.egg-info/SOURCES.txt +0 -0
  83. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common.egg-info/dependency_links.txt +0 -0
  84. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common.egg-info/requires.txt +0 -0
  85. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/quapp_common.egg-info/top_level.txt +0 -0
  86. {quapp_common-0.0.12.dev2 → quapp_common-0.0.12.dev3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quapp-common
3
- Version: 0.0.12.dev2
3
+ Version: 0.0.12.dev3
4
4
  Summary: Quapp common library supporting Quapp Platform for Quantum Computing
5
5
  Author-email: "CITYNOW Co. Ltd. " <corp@citynow.vn>
6
6
  License: The MIT License (MIT)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "quapp-common"
7
- version = "0.0.12.dev2"
7
+ version = "0.0.12.dev3"
8
8
  description = "Quapp common library supporting Quapp Platform for Quantum Computing"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "CITYNOW Co. Ltd. ", email = "corp@citynow.vn" }]
@@ -20,12 +20,24 @@ class InvocationRequest(Request):
20
20
  self.logger.info('Init InvocationRequest with values: {0}'.format(
21
21
  self.__dict__.keys()))
22
22
 
23
- # Validate required URL fields
24
- required_urls = {"serverUrl" : "device_selection_url",
25
- "circuitExportUrl": "circuit_export_url"}
23
+ # Validate sdk first — needed to determine which URLs are required
24
+ sdk_value = request_data.get("sdk", "").lower()
25
+ if sdk_value:
26
+ try:
27
+ Sdk.resolve(sdk_value)
28
+ except Exception:
29
+ self.logger.exception(
30
+ 'sdk must be a valid Sdk value, got {0}'.format(
31
+ sdk_value))
32
+ raise ValueError(
33
+ f"sdk must be a valid Sdk value, got {sdk_value!r}")
26
34
 
27
- for key, field_name in required_urls.items():
28
- validate_url_field(request_data, key, field_name)
35
+ # Validate required URL fields
36
+ # circuitExportUrl is only required for quantum SDKs that export circuits
37
+ _circuit_export_sdks = {Sdk.QISKIT.value, Sdk.BRAKET.value}
38
+ validate_url_field(request_data, "serverUrl", "device_selection_url")
39
+ if sdk_value in _circuit_export_sdks:
40
+ validate_url_field(request_data, "circuitExportUrl", "circuit_export_url")
29
41
 
30
42
  event_urls = {"preparation": "preparation", "execution": "execution",
31
43
  "analysis" : "analysis", "finalization": "finalization"}
@@ -39,22 +51,10 @@ class InvocationRequest(Request):
39
51
  validate_url_field(request_data.get(key), key_url,
40
52
  field_name_url)
41
53
 
42
- # Validate sdk
43
- sdk_value = request_data.get("sdk").lower()
44
- if sdk_value is not None:
45
- try:
46
- Sdk.resolve(sdk_value)
47
- except Exception:
48
- self.logger.exception(
49
- 'sdk must be a valid Sdk value, got {0}'.format(
50
- sdk_value))
51
- raise ValueError(
52
- f"sdk must be a valid Sdk value, got {sdk_value!r}")
53
-
54
54
  # Validate authentication (if provided)
55
55
  authentication = request_data.get("authentication")
56
56
  if authentication is not None and not isinstance(authentication, dict):
57
- self.logger.error(
57
+ self.logger.exception(
58
58
  'authentication must be a dictionary if provided, got {0}'.format(
59
59
  type(authentication).__name__))
60
60
  raise ValueError(
@@ -66,7 +66,7 @@ class InvocationRequest(Request):
66
66
  self.device_id = request_data.get("deviceId")
67
67
  self.device_selection_url = request_data["serverUrl"]
68
68
  self.sdk = sdk_value or None
69
- self.circuit_export_url = request_data["circuitExportUrl"]
69
+ self.circuit_export_url = request_data.get("circuitExportUrl")
70
70
  self.processing_unit = (ProcessingUnit.GPU if request_data.get(
71
71
  "processingUnit") == ProcessingUnit.GPU.value else ProcessingUnit.CPU)
72
72
  self.preparation = CallbackUrl(request_data["preparation"])
@@ -16,6 +16,7 @@ class Sdk(BaseEnum):
16
16
  QSHARP = "qsharp"
17
17
  QIBO = "qibo"
18
18
  QULACS = "qulacs"
19
+ QUANTUM_HPC = "quantum hpc"
19
20
 
20
21
  @staticmethod
21
22
  def resolve(sdk: str):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quapp-common
3
- Version: 0.0.12.dev2
3
+ Version: 0.0.12.dev3
4
4
  Summary: Quapp common library supporting Quapp Platform for Quantum Computing
5
5
  Author-email: "CITYNOW Co. Ltd. " <corp@citynow.vn>
6
6
  License: The MIT License (MIT)