qbraid-cli 0.9.0a0__py3-none-any.whl → 0.9.2__py3-none-any.whl

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 qbraid-cli might be problematic. Click here for more details.

qbraid_cli/_version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.9.0a0'
16
- __version_tuple__ = version_tuple = (0, 9, 0)
15
+ __version__ = version = '0.9.2'
16
+ __version_tuple__ = version_tuple = (0, 9, 2)
qbraid_cli/account/app.py CHANGED
@@ -13,7 +13,7 @@ import typer
13
13
 
14
14
  from qbraid_cli.handlers import run_progress_task
15
15
 
16
- account_app = typer.Typer(help="Manage qBraid account.")
16
+ account_app = typer.Typer(help="Manage qBraid account.", no_args_is_help=True)
17
17
 
18
18
 
19
19
  @account_app.command(name="credits")
@@ -28,7 +28,7 @@ def account_credits():
28
28
 
29
29
  qbraid_credits: float = run_progress_task(get_credits)
30
30
  typer.secho(
31
- f"\n{typer.style('qBraid credits remaining:')} "
31
+ f"{typer.style('qBraid credits remaining:')} "
32
32
  f"{typer.style(f'{qbraid_credits:.4f}', fg=typer.colors.MAGENTA, bold=True)}",
33
33
  nl=True, # Ensure a newline after output (default is True)
34
34
  )
qbraid_cli/admin/app.py CHANGED
@@ -14,7 +14,9 @@ from qbraid_cli.admin.headers import check_and_fix_headers
14
14
  from qbraid_cli.admin.validation import validate_header_type, validate_paths_exist
15
15
 
16
16
  admin_app = typer.Typer(
17
- help="CI/CD commands for qBraid maintainers.", pretty_exceptions_show_locals=False
17
+ help="CI/CD commands for qBraid maintainers.",
18
+ pretty_exceptions_show_locals=False,
19
+ no_args_is_help=True,
18
20
  )
19
21
 
20
22
 
@@ -0,0 +1,11 @@
1
+ # Copyright (c) 2024, qBraid Development Team
2
+ # All rights reserved.
3
+
4
+ """
5
+ Module defining the qbraid chat namespace
6
+
7
+ """
8
+
9
+ from .app import ChatFormat, list_models_callback, prompt_callback
10
+
11
+ __all__ = ["list_models_callback", "prompt_callback", "ChatFormat"]
qbraid_cli/chat/app.py ADDED
@@ -0,0 +1,76 @@
1
+ # Copyright (c) 2024, qBraid Development Team
2
+ # All rights reserved.
3
+
4
+ """
5
+ Module defining commands in the 'qbraid chat' namespace.
6
+
7
+ """
8
+ from enum import Enum
9
+
10
+ from rich.console import Console
11
+ from rich.table import Table
12
+
13
+ from qbraid_cli.handlers import handle_error, run_progress_task
14
+
15
+
16
+ class ChatFormat(str, Enum):
17
+ """Format of the response from the chat service."""
18
+
19
+ text = "text" # pylint: disable=invalid-name
20
+ code = "code" # pylint: disable=invalid-name
21
+
22
+
23
+ def list_models_callback():
24
+ """List available chat models."""
25
+ # pylint: disable-next=import-outside-toplevel
26
+ from qbraid_core.services.chat import ChatClient
27
+
28
+ client = ChatClient()
29
+
30
+ models = run_progress_task(
31
+ client.get_models,
32
+ description="Connecting to chat service...",
33
+ include_error_traceback=False,
34
+ )
35
+
36
+ console = Console()
37
+ table = Table(title="Available Chat Models\n", show_lines=True, title_justify="left")
38
+
39
+ table.add_column("Model", style="cyan", no_wrap=True)
40
+ table.add_column("Pricing [not bold](1k tokens ~750 words)", style="magenta")
41
+ table.add_column("Description", style="green")
42
+
43
+ for model in models:
44
+ table.add_row(
45
+ model["model"],
46
+ f"{model['pricing']['input']} credits / 1M input tokens\n"
47
+ f"{model['pricing']['output']} credits / 1M output tokens",
48
+ model["description"],
49
+ )
50
+
51
+ console.print(table)
52
+
53
+
54
+ def prompt_callback(prompt: str, model: str, response_format: ChatFormat, stream: bool):
55
+ """Send a chat prompt to the chat service."""
56
+ # pylint: disable-next=import-outside-toplevel
57
+ from qbraid_core.services.chat import ChatClient, ChatServiceRequestError
58
+
59
+ client = ChatClient()
60
+
61
+ if stream:
62
+ try:
63
+ for chunk in client.chat_stream(prompt, model, response_format):
64
+ print(chunk, end="")
65
+ except ChatServiceRequestError as err:
66
+ handle_error(message=str(err), include_traceback=False)
67
+ else:
68
+ content = run_progress_task(
69
+ client.chat,
70
+ prompt,
71
+ model,
72
+ response_format,
73
+ description="Connecting to chat service...",
74
+ include_error_traceback=False,
75
+ )
76
+ print(content)
qbraid_cli/devices/app.py CHANGED
@@ -14,7 +14,7 @@ from rich.console import Console
14
14
  from qbraid_cli.devices.validation import validate_provider, validate_status, validate_type
15
15
  from qbraid_cli.handlers import run_progress_task
16
16
 
17
- devices_app = typer.Typer(help="Manage qBraid quantum devices.")
17
+ devices_app = typer.Typer(help="Manage qBraid quantum devices.", no_args_is_help=True)
18
18
 
19
19
 
20
20
  @devices_app.command(name="list")
@@ -60,7 +60,7 @@ def devices_list( # pylint: disable=too-many-branches
60
60
  header_3 = "ID"
61
61
  header_4 = "Status"
62
62
  console.print(
63
- f"\n[bold]{header_1.ljust(12)}{header_2.ljust(35)}{header_3.ljust(41)}{header_4}[/bold]"
63
+ f"[bold]{header_1.ljust(12)}{header_2.ljust(35)}{header_3.ljust(41)}{header_4}[/bold]"
64
64
  )
65
65
  for device_provider, device_name, device_id, device_status in device_data:
66
66
  if device_status == "ONLINE":
qbraid_cli/envs/app.py CHANGED
@@ -23,7 +23,7 @@ from qbraid_cli.handlers import QbraidException, run_progress_task
23
23
  if TYPE_CHECKING:
24
24
  from qbraid_core.services.environments.client import EnvironmentManagerClient as EMC
25
25
 
26
- envs_app = typer.Typer(help="Manage qBraid environments.")
26
+ envs_app = typer.Typer(help="Manage qBraid environments.", no_args_is_help=True)
27
27
 
28
28
 
29
29
  @envs_app.command(name="create")
@@ -88,7 +88,7 @@ def envs_create( # pylint: disable=too-many-statements
88
88
  slug_path = env_path / slug
89
89
  description = "None" if description == "" else description
90
90
 
91
- typer.echo("\n\n## qBraid Metadata ##\n")
91
+ typer.echo("## qBraid Metadata ##\n")
92
92
  typer.echo(f" name: {display_name}")
93
93
  typer.echo(f" description: {description}")
94
94
  typer.echo(f" tags: {tags}")
@@ -127,7 +127,7 @@ def envs_create( # pylint: disable=too-many-statements
127
127
 
128
128
  console = Console()
129
129
  console.print(
130
- f"\n[bold green]Successfully created qBraid environment: "
130
+ f"[bold green]Successfully created qBraid environment: "
131
131
  f"[/bold green][bold magenta]{name}[/bold magenta]\n"
132
132
  )
133
133
  typer.echo("# To activate this environment, use")
@@ -192,7 +192,7 @@ def envs_remove(
192
192
  description="Deleting local environment...",
193
193
  error_message="Failed to delete qBraid environment",
194
194
  )
195
- typer.echo(f"\nEnvironment '{name}' successfully removed.")
195
+ typer.echo(f"Environment '{name}' successfully removed.")
196
196
 
197
197
 
198
198
  @envs_app.command(name="list")
qbraid_cli/handlers.py CHANGED
@@ -10,11 +10,12 @@ and executing operations with progress tracking within the qBraid CLI.
10
10
  import os
11
11
  import traceback
12
12
  from pathlib import Path
13
+ from time import sleep
13
14
  from typing import Any, Callable, Optional, Union
14
15
 
15
16
  import typer
16
17
  from rich.console import Console
17
- from rich.progress import Progress, SpinnerColumn, TextColumn
18
+ from rich.progress import Progress, SpinnerColumn, TaskID, TextColumn
18
19
 
19
20
  from .exceptions import DEFAULT_ERROR_MESSAGE, QbraidException
20
21
 
@@ -24,6 +25,14 @@ def _should_display_progress():
24
25
  return os.getenv("QBRAID_CLI_SHOW_PROGRESS", "true").lower() in ["true", "1", "t", "y", "yes"]
25
26
 
26
27
 
28
+ def _update_completed_task(
29
+ progress: Progress, task_id: TaskID, success: bool = True, sleep_time: float = 0.15
30
+ ):
31
+ status = "Done" if success else "Failed"
32
+ progress.update(task_id, completed=100, status=status)
33
+ sleep(sleep_time)
34
+
35
+
27
36
  def handle_error(
28
37
  error_type: Optional[str] = None, message: Optional[str] = None, include_traceback: bool = True
29
38
  ) -> None:
@@ -85,6 +94,7 @@ def run_progress_task(
85
94
  *args,
86
95
  description: Optional[str] = None,
87
96
  error_message: Optional[str] = None,
97
+ include_error_traceback: bool = True,
88
98
  **kwargs,
89
99
  ) -> Any:
90
100
  """
@@ -102,6 +112,8 @@ def run_progress_task(
102
112
  error_message (optional, str): Custom error message to display if the operation.
103
113
  fails. Defaults to None, in which case the
104
114
  exception's message is used.
115
+ include_error_traceback (bool): Whether to include the traceback in the error message.
116
+ Defaults to True.
105
117
  **kwargs: Arbitrary keyword arguments for the operation.
106
118
 
107
119
  Returns:
@@ -115,7 +127,7 @@ def run_progress_task(
115
127
  return operation(*args, **kwargs)
116
128
  except Exception as err: # pylint: disable=broad-exception-caught
117
129
  custom_message = error_message if error_message else str(err)
118
- return handle_error(message=custom_message)
130
+ return handle_error(message=custom_message, include_traceback=include_error_traceback)
119
131
 
120
132
  console = Console()
121
133
  with Progress(
@@ -128,12 +140,14 @@ def run_progress_task(
128
140
  task = progress.add_task(description, status="In Progress", total=None)
129
141
  try:
130
142
  result = operation(*args, **kwargs)
131
- progress.update(task, completed=100, status="Done")
143
+ _update_completed_task(progress, task, success=True)
132
144
  return result
133
145
  except Exception as err: # pylint: disable=broad-exception-caught
134
- progress.update(task, completed=100, status="Failed")
146
+ _update_completed_task(progress, task, success=False)
135
147
  custom_message = error_message if error_message else str(err)
136
- return handle_error(message=custom_message)
148
+ return handle_error(message=custom_message, include_traceback=include_error_traceback)
149
+ finally:
150
+ progress.remove_task(task)
137
151
 
138
152
 
139
153
  def _format_list_items(items: list[str]) -> str:
qbraid_cli/jobs/app.py CHANGED
@@ -15,7 +15,7 @@ from qbraid_cli.handlers import handle_error, run_progress_task
15
15
  from qbraid_cli.jobs.toggle_braket import disable_braket, enable_braket
16
16
  from qbraid_cli.jobs.validation import handle_jobs_state, run_progress_get_state, validate_library
17
17
 
18
- jobs_app = typer.Typer(help="Manage qBraid quantum jobs.")
18
+ jobs_app = typer.Typer(help="Manage qBraid quantum jobs.", no_args_is_help=True)
19
19
 
20
20
 
21
21
  @jobs_app.command(name="enable")
@@ -120,7 +120,7 @@ def jobs_list(
120
120
  header_1 = "Job ID"
121
121
  header_2 = "Submitted"
122
122
  header_3 = "Status"
123
- console.print(f"\n[bold]{header_1.ljust(spacing)}{header_2.ljust(36)}{header_3}[/bold]")
123
+ console.print(f"[bold]{header_1.ljust(spacing)}{header_2.ljust(36)}{header_3}[/bold]")
124
124
  for job_id, submitted, status in job_data:
125
125
  if status == "COMPLETED":
126
126
  status_color = "green"
@@ -103,7 +103,7 @@ def confirm_updates(
103
103
  else:
104
104
  raise ValueError(f"Invalid mode: {mode}. Expected 'enable' or 'disable'.")
105
105
 
106
- typer.echo(f"\n==> WARNING: {provider}/{core_package} package required <==")
106
+ typer.echo(f"==> WARNING: {provider}/{core_package} package required <==")
107
107
  if (
108
108
  installed_version is not None
109
109
  and target_version is not None
qbraid_cli/kernels/app.py CHANGED
@@ -11,7 +11,7 @@ from rich.console import Console
11
11
 
12
12
  from qbraid_cli.handlers import handle_error
13
13
 
14
- kernels_app = typer.Typer(help="Manage qBraid kernels.")
14
+ kernels_app = typer.Typer(help="Manage qBraid kernels.", no_args_is_help=True)
15
15
 
16
16
 
17
17
  @kernels_app.command(name="list")
qbraid_cli/main.py CHANGED
@@ -6,18 +6,21 @@ Entrypoint for the qBraid CLI.
6
6
 
7
7
  """
8
8
 
9
+ import click
10
+ import rich
9
11
  import typer
10
12
 
11
- from qbraid_cli.account.app import account_app
12
- from qbraid_cli.admin.app import admin_app
13
- from qbraid_cli.configure.app import configure_app
14
- from qbraid_cli.devices.app import devices_app
15
- from qbraid_cli.jobs.app import jobs_app
13
+ from qbraid_cli.account import account_app
14
+ from qbraid_cli.admin import admin_app
15
+ from qbraid_cli.chat import ChatFormat, list_models_callback, prompt_callback
16
+ from qbraid_cli.configure import configure_app
17
+ from qbraid_cli.devices import devices_app
18
+ from qbraid_cli.jobs import jobs_app
16
19
 
17
20
  try:
18
- from qbraid_cli.envs.app import envs_app
19
- from qbraid_cli.kernels.app import kernels_app
20
- from qbraid_cli.pip.app import pip_app
21
+ from qbraid_cli.envs import envs_app
22
+ from qbraid_cli.kernels import kernels_app
23
+ from qbraid_cli.pip import pip_app
21
24
 
22
25
  ENVS_COMMANDS = True
23
26
  except ImportError:
@@ -67,7 +70,7 @@ def show_banner():
67
70
  typer.echo("")
68
71
  typer.echo("- Use 'qbraid --version' to see the current version.")
69
72
  typer.echo("")
70
- typer.echo("Reference Docs: https://docs.qbraid.com/cli/api-reference/qbraid")
73
+ rich.print("Reference Docs: https://docs.qbraid.com/cli/api-reference/qbraid")
71
74
 
72
75
 
73
76
  @app.callback(invoke_without_command=True)
@@ -87,5 +90,34 @@ def main(
87
90
  show_banner()
88
91
 
89
92
 
93
+ @app.command(help="Interact with qBraid AI chat service.", no_args_is_help=True)
94
+ def chat(
95
+ prompt: str = typer.Option(
96
+ None, "--prompt", "-p", help="The prompt to send to the chat service."
97
+ ),
98
+ model: str = typer.Option(None, "--model", "-m", help="The model to use for the chat service."),
99
+ response_format: ChatFormat = typer.Option(
100
+ ChatFormat.text, "--format", "-f", help="The format of the response."
101
+ ),
102
+ stream: bool = typer.Option(False, "--stream", "-s", help="Stream the response."),
103
+ list_models: bool = typer.Option(
104
+ False, "--list-models", "-l", help="List available chat models."
105
+ ),
106
+ ):
107
+ """
108
+ Interact with qBraid AI chat service.
109
+
110
+ """
111
+ if list_models:
112
+ list_models_callback()
113
+ elif prompt:
114
+ prompt_callback(prompt, model, response_format, stream)
115
+ else:
116
+ raise click.UsageError(
117
+ "Invalid command. Please provide a prompt using --prompt "
118
+ "or use --list-models to view available models."
119
+ )
120
+
121
+
90
122
  if __name__ == "__main__":
91
123
  app()
qbraid_cli/pip/app.py CHANGED
@@ -16,8 +16,7 @@ from qbraid_core.system.executables import get_active_python_path
16
16
  from qbraid_cli.handlers import handle_error
17
17
  from qbraid_cli.pip.hooks import get_env_cfg_path, safe_set_include_sys_packages
18
18
 
19
- # disable pretty_exceptions_show_locals to avoid printing sensative information in the traceback
20
- pip_app = typer.Typer(help="Run pip command in active qBraid environment.")
19
+ pip_app = typer.Typer(help="Run pip command in active qBraid environment.", no_args_is_help=True)
21
20
 
22
21
 
23
22
  @pip_app.command(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qbraid-cli
3
- Version: 0.9.0a0
3
+ Version: 0.9.2
4
4
  Summary: Command Line Interface for interacting with all parts of the qBraid platform.
5
5
  Author-email: qBraid Development Team <contact@qbraid.com>
6
6
  License: Proprietary
@@ -29,16 +29,17 @@ Description-Content-Type: text/markdown
29
29
  License-File: LICENSE
30
30
  Requires-Dist: typer>=0.12.1
31
31
  Requires-Dist: rich>=10.11.0
32
- Requires-Dist: qbraid-core>=0.1.28
32
+ Requires-Dist: click
33
+ Requires-Dist: qbraid-core>=0.1.31
34
+ Provides-Extra: jobs
35
+ Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
36
+ Provides-Extra: envs
37
+ Requires-Dist: qbraid-core[environments]; extra == "envs"
33
38
  Provides-Extra: dev
34
39
  Requires-Dist: isort; extra == "dev"
35
40
  Requires-Dist: black; extra == "dev"
36
41
  Requires-Dist: pytest; extra == "dev"
37
42
  Requires-Dist: pytest-cov; extra == "dev"
38
- Provides-Extra: envs
39
- Requires-Dist: qbraid-core[environments]; extra == "envs"
40
- Provides-Extra: jobs
41
- Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
42
43
 
43
44
  <img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
44
45
 
@@ -1,38 +1,40 @@
1
1
  qbraid_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- qbraid_cli/_version.py,sha256=HjY1UzcNtKKrJ8GVdemZ4PKAbhmYJUmCc4zQTJY4W0I,413
2
+ qbraid_cli/_version.py,sha256=lsaP29l0rO1T9Xc-NzqRI1unCHF-S6aj-D4q3Uro4ko,411
3
3
  qbraid_cli/exceptions.py,sha256=KjlhYJhSHMVazaNiBjD_Ur06w4sekP8zRsFzBdyIpno,672
4
- qbraid_cli/handlers.py,sha256=3RTG5FHL5GTyDoBUv81x5sLyqwf8nzkcqBi0k1ayoW8,7034
5
- qbraid_cli/main.py,sha256=wjfPLM4FKmvk4Y3xQ7wW12RmRKy9kMIkdVtRlw6Nrbg,2749
4
+ qbraid_cli/handlers.py,sha256=B9H1Qw6yx8izrqp9OGR2TgSJa_mxA8KLXUkX8LB7Feg,7650
5
+ qbraid_cli/main.py,sha256=KuAd9mV__YVgCTFxtPpi3I6FgTH5Bi7f-DQfw0OnAK4,3848
6
6
  qbraid_cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  qbraid_cli/account/__init__.py,sha256=smlpUcVkM3QEbJG0norGM7i71XBJlUGQYByswTfPnmg,181
8
- qbraid_cli/account/app.py,sha256=-dVlAdGG0xKvjzk9248p3EcHnvKamVSmiZBW_xCMGII,1823
8
+ qbraid_cli/account/app.py,sha256=1UogauwgX0Hnr7H6cBV2Qv-lT6aRpRLAimCyLi0afGI,1843
9
9
  qbraid_cli/admin/__init__.py,sha256=qcWD5mQEUCtr49mrUpZmk7eGDe0L_Gtc8RwZmzIXSwo,175
10
- qbraid_cli/admin/app.py,sha256=NGisg2aouk8qK2oFogwblFTBK0vvTiL_zJYjeanC4x0,1576
10
+ qbraid_cli/admin/app.py,sha256=V2mgts3x3Vgsx_nbRwVrKF9PgZ9SuA10b8O9cjiphYE,1607
11
11
  qbraid_cli/admin/headers.py,sha256=WqpRYp81CQcF5-Afumo_qQrf-5XCfbndBJ6I7vOADKE,7133
12
12
  qbraid_cli/admin/validation.py,sha256=U_8RFWBwRUNPe6LdjNpl-Yz8Br57PLWMoPbpR-jBS-M,979
13
+ qbraid_cli/chat/__init__.py,sha256=NO41vndEdfr0vDynNcmHFh-nhzWjnWqGm4M9parikck,258
14
+ qbraid_cli/chat/app.py,sha256=-YqCLGDh4ezF149xB3dfuUAQotKAklZwYp0BL3HhA90,2256
13
15
  qbraid_cli/configure/__init__.py,sha256=YaJ74Ztz2vl3eYp8_jVBucWkXscxz7EZEIzr70OfuOM,187
14
16
  qbraid_cli/configure/actions.py,sha256=-BduRmnxvf8JMNonb6VWFtdlHlcHPOPz3Bj5g8kfmBU,3197
15
17
  qbraid_cli/configure/app.py,sha256=1uRe2lkUA4TtYb5b4mbD4LH-cKCbsZGT3Wfk7fpNzX0,2414
16
18
  qbraid_cli/devices/__init__.py,sha256=hiScO-px6jCL5cJj5Hbty55EUfNejTO4bmqUZuS3aqc,181
17
- qbraid_cli/devices/app.py,sha256=3Ly5PPNVhipzbX2h3FrB3fWawLbUcQFcUqv_cZv5eYk,2523
19
+ qbraid_cli/devices/app.py,sha256=q8AQ8o05JXODsaFR_16_S3UtLWPzwC2qi0bVw2h7RJ8,2543
18
20
  qbraid_cli/devices/validation.py,sha256=YhShyUufgrKnx2XjXOXF-PqFJYklJT9CgeqIwKcNam4,809
19
21
  qbraid_cli/envs/__init__.py,sha256=1-cMvrATsddYxcetPJWxq6bEOqJWMktGdhoZ4qm8euA,172
20
22
  qbraid_cli/envs/activate.py,sha256=VpvVYSfQDlcmlNWJOgkLIQ2p8YXPPLG8Jbl5t8GHUDw,2140
21
- qbraid_cli/envs/app.py,sha256=5bb6OQUgcyCPw0REqEyjFHrjqsuhEn8zCsI3d6abgpI,8455
23
+ qbraid_cli/envs/app.py,sha256=ug1myjrtYY0ukeT0mCJBFiRmnWqaWJCY-wclHS9TvMc,8469
22
24
  qbraid_cli/envs/create.py,sha256=xudzkLCNegY34zkXN_Vfl_0zVzg_tW83LcVx9quoWfU,988
23
25
  qbraid_cli/envs/data_handling.py,sha256=Ibnp2yJoUDpivb_sNqi0suYgJZNat_LmM6Ya0Ovez5s,1288
24
26
  qbraid_cli/jobs/__init__.py,sha256=qVLRHYIzP4XHpx_QWP_vCzd3LsCscCORaEx-Vcbx29U,172
25
- qbraid_cli/jobs/app.py,sha256=veyY5aunlPaDYCVmAHmEtaIo_veUVWRXmCB_GBJHEuQ,4918
26
- qbraid_cli/jobs/toggle_braket.py,sha256=lQOG6h39vG3JsRh90LuJ8g_3hNuMSq8jdpRjjBG6SyQ,7446
27
+ qbraid_cli/jobs/app.py,sha256=LnrxALu7OWSUg1FD6FvlGsILdoH46Y-ra12eiSfiMlE,4938
28
+ qbraid_cli/jobs/toggle_braket.py,sha256=3AEu-Z5q4avduB-fJMyMTVTuyZXuA8m-hnvi325wIv4,7444
27
29
  qbraid_cli/jobs/validation.py,sha256=KlkqVH1-vlNCHSayEpxzyXU86_TMN5prGfMFEoyBsFs,2971
28
30
  qbraid_cli/kernels/__init__.py,sha256=jORS9vV17s5laQyq8gSVB18EPBImgEIbMZ1wKC094DA,181
29
- qbraid_cli/kernels/app.py,sha256=Sl57U1JXDKWoeMQDSXJRHlKzDYSdKIbV7tSytZXo5PM,2926
31
+ qbraid_cli/kernels/app.py,sha256=n-iyWJHy7_ML6qk4pp-v_rQkGA7WfnZMG8gyiCFGO1c,2948
30
32
  qbraid_cli/pip/__init__.py,sha256=tJtU0rxn-ODogNh5Y4pp_BgDQXMN-3JY1QGj0OZHwjQ,169
31
- qbraid_cli/pip/app.py,sha256=wzvjX5NL37XIFtZ5KvTZ-nj9xwFKt8QLYZ_vGvk3tXo,1440
33
+ qbraid_cli/pip/app.py,sha256=jkk-djductrDOJIRYfHK_7WDJ12f0zOT3MMkiZp97oM,1365
32
34
  qbraid_cli/pip/hooks.py,sha256=jkIeev3cOd-cmaoJSdSqbmhTYCs6z1we84FMqa3ZoZw,2124
33
- qbraid_cli-0.9.0a0.dist-info/LICENSE,sha256=P1gi-ofB8lmkRt_mxDoJpcgQq9Ckq9WhRAS1oYk-G1s,2506
34
- qbraid_cli-0.9.0a0.dist-info/METADATA,sha256=YM5B8T3TY-xOKLffoclGkb89xsbrGUnB60T-b7ZSono,6787
35
- qbraid_cli-0.9.0a0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
36
- qbraid_cli-0.9.0a0.dist-info/entry_points.txt,sha256=c5ZJ7NjbxhDqMpou9q5F03_b_KG34HzFDijIDmEIwgQ,47
37
- qbraid_cli-0.9.0a0.dist-info/top_level.txt,sha256=LTYJgeYSCHo9Il8vZu0yIPuGdGyNaIw6iRy6BeoZo8o,11
38
- qbraid_cli-0.9.0a0.dist-info/RECORD,,
35
+ qbraid_cli-0.9.2.dist-info/LICENSE,sha256=P1gi-ofB8lmkRt_mxDoJpcgQq9Ckq9WhRAS1oYk-G1s,2506
36
+ qbraid_cli-0.9.2.dist-info/METADATA,sha256=EfE8B2mxvu7KwS2pad3et5r_NVi1qyOM59HeK93uN1k,6806
37
+ qbraid_cli-0.9.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
38
+ qbraid_cli-0.9.2.dist-info/entry_points.txt,sha256=c5ZJ7NjbxhDqMpou9q5F03_b_KG34HzFDijIDmEIwgQ,47
39
+ qbraid_cli-0.9.2.dist-info/top_level.txt,sha256=LTYJgeYSCHo9Il8vZu0yIPuGdGyNaIw6iRy6BeoZo8o,11
40
+ qbraid_cli-0.9.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5