qbraid-cli 0.9.0__tar.gz → 0.9.1__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 qbraid-cli might be problematic. Click here for more details.

Files changed (110) hide show
  1. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.readthedocs.yml +1 -1
  2. {qbraid_cli-0.9.0/qbraid_cli.egg-info → qbraid_cli-0.9.1}/PKG-INFO +2 -2
  3. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/index.rst +2 -1
  4. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/pyproject.toml +2 -2
  5. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/_version.py +2 -2
  6. qbraid_cli-0.9.1/qbraid_cli/chat/__init__.py +11 -0
  7. qbraid_cli-0.9.1/qbraid_cli/chat/app.py +96 -0
  8. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/handlers.py +16 -6
  9. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/main.py +2 -0
  10. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1/qbraid_cli.egg-info}/PKG-INFO +2 -2
  11. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli.egg-info/SOURCES.txt +2 -0
  12. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli.egg-info/requires.txt +1 -1
  13. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.env.example +0 -0
  14. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  15. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  16. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  17. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/bump-version.yml +0 -0
  18. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/docs-pr.yml +0 -0
  19. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/docs.yml +0 -0
  20. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/format.yml +0 -0
  21. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/main.yml +0 -0
  22. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/pre-release.yml +0 -0
  23. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/publish.yml +0 -0
  24. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.github/workflows/tag-on-merge.yml +0 -0
  25. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/.gitignore +0 -0
  26. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/CONTRIBUTING.md +0 -0
  27. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/LICENSE +0 -0
  28. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/MANIFEST.IN +0 -0
  29. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/Makefile +0 -0
  30. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/README.md +0 -0
  31. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/Makefile +0 -0
  32. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/_static/favicon.ico +0 -0
  33. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/_static/logo.png +0 -0
  34. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/_static/style/custom.css +0 -0
  35. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/_static/style/s4defs-roles.css +0 -0
  36. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/conf.py +0 -0
  37. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/make.bat +0 -0
  38. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/docs/requirements.txt +0 -0
  39. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/__init__.py +0 -0
  40. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/account/__init__.py +0 -0
  41. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/account/app.py +0 -0
  42. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/admin/__init__.py +0 -0
  43. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/admin/app.py +0 -0
  44. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/admin/headers.py +0 -0
  45. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/admin/validation.py +0 -0
  46. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/configure/__init__.py +0 -0
  47. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/configure/actions.py +0 -0
  48. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/configure/app.py +0 -0
  49. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/devices/__init__.py +0 -0
  50. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/devices/app.py +0 -0
  51. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/devices/validation.py +0 -0
  52. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/envs/__init__.py +0 -0
  53. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/envs/activate.py +0 -0
  54. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/envs/app.py +0 -0
  55. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/envs/create.py +0 -0
  56. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/envs/data_handling.py +0 -0
  57. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/exceptions.py +0 -0
  58. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/jobs/__init__.py +0 -0
  59. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/jobs/app.py +0 -0
  60. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/jobs/toggle_braket.py +0 -0
  61. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/jobs/validation.py +0 -0
  62. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/kernels/__init__.py +0 -0
  63. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/kernels/app.py +0 -0
  64. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/pip/__init__.py +0 -0
  65. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/pip/app.py +0 -0
  66. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/pip/hooks.py +0 -0
  67. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli/py.typed +0 -0
  68. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli.egg-info/dependency_links.txt +0 -0
  69. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli.egg-info/entry_points.txt +0 -0
  70. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/qbraid_cli.egg-info/top_level.txt +0 -0
  71. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/setup.cfg +0 -0
  72. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/__init__.py +0 -0
  73. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/account/__init__.py +0 -0
  74. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/account/test_account_credits.py +0 -0
  75. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/admin/test_headers.py +0 -0
  76. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/configure/__init__.py +0 -0
  77. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/configure/test_configure_prompt_for_config.py +0 -0
  78. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/configure/test_configure_set.py +0 -0
  79. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/configure/test_configure_validate_input.py +0 -0
  80. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/conftest.py +0 -0
  81. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/devices/__init__.py +0 -0
  82. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/devices/test_devices_list.py +0 -0
  83. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/devices/test_devices_validations.py +0 -0
  84. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/__init__.py +0 -0
  85. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_activate.py +0 -0
  86. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_activate_find_shell_rc.py +0 -0
  87. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_activate_print_command.py +0 -0
  88. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_activate_pyenv.py +0 -0
  89. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_list.py +0 -0
  90. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/envs/test_envs_remove.py +0 -0
  91. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/__init__.py +0 -0
  92. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_disable.py +0 -0
  93. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_enable.py +0 -0
  94. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_list.py +0 -0
  95. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_state.py +0 -0
  96. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_toggle_braket_confirm.py +0 -0
  97. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_toggle_braket_disable.py +0 -0
  98. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_toggle_braket_enable.py +0 -0
  99. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_toggle_braket_get_data.py +0 -0
  100. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_validate_get_state.py +0 -0
  101. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_validate_handle_state.py +0 -0
  102. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/jobs/test_jobs_validate_library.py +0 -0
  103. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/kernels/__init__.py +0 -0
  104. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tests/kernels/test_kernels_list.py +0 -0
  105. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/bump_version.py +0 -0
  106. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/create_dev_build.sh +0 -0
  107. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/install_wheel_extras.sh +0 -0
  108. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/split_md.py +0 -0
  109. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/split_rst.py +0 -0
  110. {qbraid_cli-0.9.0 → qbraid_cli-0.9.1}/tools/stamp_pre_release.py +0 -0
@@ -13,7 +13,7 @@ build:
13
13
  - python -m pip install -r docs/requirements.txt
14
14
  - python -m pip install build
15
15
  - python -m build .
16
- - python -m pip install dist/*.whl
16
+ - tools/install_wheel_extras.sh dist --extra envs
17
17
  - mkdir -p docs/tree
18
18
  - rm -f docs/tree/*.rst
19
19
  - typer qbraid_cli.main utils docs --name=qbraid --output=docs/tree/qbraid.md
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qbraid-cli
3
- Version: 0.9.0
3
+ Version: 0.9.1
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,7 +29,7 @@ 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.29
32
+ Requires-Dist: qbraid-core>=0.1.30
33
33
  Provides-Extra: jobs
34
34
  Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
35
35
  Provides-Extra: envs
@@ -120,4 +120,5 @@ by disabling quantum jobs:
120
120
  tree/qbraid_envs
121
121
  tree/qbraid_jobs
122
122
  tree/qbraid_kernels
123
- tree/qbraid_pip
123
+ tree/qbraid_pip
124
+ tree/qbraid_chat
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qbraid-cli"
7
- version = "0.9.0"
7
+ version = "0.9.1"
8
8
  description = "Command Line Interface for interacting with all parts of the qBraid platform."
9
9
  readme = "README.md"
10
10
  authors = [{ name = "qBraid Development Team", email = "contact@qbraid.com" }]
@@ -30,7 +30,7 @@ classifiers = [
30
30
  dependencies = [
31
31
  "typer>=0.12.1",
32
32
  "rich>=10.11.0",
33
- "qbraid-core>=0.1.29",
33
+ "qbraid-core>=0.1.30",
34
34
  ]
35
35
  requires-python = ">= 3.9"
36
36
 
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.1.dev1+g3ef6e9f'
16
- __version_tuple__ = version_tuple = (0, 1, 'dev1', 'g3ef6e9f')
15
+ __version__ = version = '0.1.dev1+gbfaed43'
16
+ __version_tuple__ = version_tuple = (0, 1, 'dev1', 'gbfaed43')
@@ -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 chat_app
10
+
11
+ __all__ = ["chat_app"]
@@ -0,0 +1,96 @@
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
+ import typer
11
+ from rich.console import Console
12
+ from rich.table import Table
13
+
14
+ from qbraid_cli.handlers import handle_error, run_progress_task
15
+
16
+ chat_app = typer.Typer(
17
+ help="Interact with qBraid AI chat service.", pretty_exceptions_show_locals=False
18
+ )
19
+
20
+
21
+ class ChatFormat(str, Enum):
22
+ """Format of the response from the chat service."""
23
+
24
+ text = "text" # pylint: disable=invalid-name
25
+ code = "code" # pylint: disable=invalid-name
26
+
27
+
28
+ @chat_app.command("send")
29
+ def chat_send(
30
+ prompt: str = typer.Argument(..., help="The prompt to send to the chat service."),
31
+ model: str = typer.Option(None, "--model", "-m", help="The model to use for the chat service."),
32
+ response_format: ChatFormat = typer.Option(
33
+ ChatFormat.text, "--format", "-f", help="The format of the response."
34
+ ),
35
+ stream: bool = typer.Option(False, "--stream", "-s", help="Stream the response."),
36
+ ):
37
+ """
38
+ Interact with qBraid AI chat service.
39
+
40
+ """
41
+ # pylint: disable-next=import-outside-toplevel
42
+ from qbraid_core.services.chat import ChatClient, ChatServiceRequestError
43
+
44
+ client = ChatClient()
45
+
46
+ if response_format == ChatFormat.code:
47
+ prompt += " Return only raw code. Do not include any text outside of code blocks."
48
+
49
+ if stream:
50
+ try:
51
+ for chunk in client.chat_stream(prompt, model, response_format):
52
+ print(chunk, end="")
53
+ except ChatServiceRequestError as err:
54
+ handle_error(message=str(err), include_traceback=False)
55
+ else:
56
+ content = run_progress_task(
57
+ client.chat,
58
+ prompt,
59
+ model,
60
+ response_format,
61
+ description="Connecting to chat service...",
62
+ include_error_traceback=False,
63
+ )
64
+ print(content)
65
+
66
+
67
+ @chat_app.command(name="models")
68
+ def chat_models():
69
+ """List available chat models."""
70
+ # pylint: disable-next=import-outside-toplevel
71
+ from qbraid_core.services.chat import ChatClient
72
+
73
+ client = ChatClient()
74
+
75
+ models = run_progress_task(
76
+ client.get_models,
77
+ description="Connecting to chat service...",
78
+ include_error_traceback=False,
79
+ )
80
+
81
+ console = Console()
82
+ table = Table(title="Available Chat Models\n", show_lines=True, title_justify="left")
83
+
84
+ table.add_column("Model", style="cyan", no_wrap=True)
85
+ table.add_column("Pricing [not bold](1k tokens ~750 words)", style="magenta")
86
+ table.add_column("Description", style="green")
87
+
88
+ for model in models:
89
+ table.add_row(
90
+ model["model"],
91
+ f"{model['pricing']['input']} credits / 1M input tokens\n"
92
+ f"{model['pricing']['output']} credits / 1M output tokens",
93
+ model["description"],
94
+ )
95
+
96
+ console.print(table)
@@ -15,7 +15,7 @@ from typing import Any, Callable, Optional, Union
15
15
 
16
16
  import typer
17
17
  from rich.console import Console
18
- from rich.progress import Progress, SpinnerColumn, TextColumn
18
+ from rich.progress import Progress, SpinnerColumn, TaskID, TextColumn
19
19
 
20
20
  from .exceptions import DEFAULT_ERROR_MESSAGE, QbraidException
21
21
 
@@ -25,6 +25,14 @@ def _should_display_progress():
25
25
  return os.getenv("QBRAID_CLI_SHOW_PROGRESS", "true").lower() in ["true", "1", "t", "y", "yes"]
26
26
 
27
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
+
28
36
  def handle_error(
29
37
  error_type: Optional[str] = None, message: Optional[str] = None, include_traceback: bool = True
30
38
  ) -> None:
@@ -86,6 +94,7 @@ def run_progress_task(
86
94
  *args,
87
95
  description: Optional[str] = None,
88
96
  error_message: Optional[str] = None,
97
+ include_error_traceback: bool = True,
89
98
  **kwargs,
90
99
  ) -> Any:
91
100
  """
@@ -103,6 +112,8 @@ def run_progress_task(
103
112
  error_message (optional, str): Custom error message to display if the operation.
104
113
  fails. Defaults to None, in which case the
105
114
  exception's message is used.
115
+ include_error_traceback (bool): Whether to include the traceback in the error message.
116
+ Defaults to True.
106
117
  **kwargs: Arbitrary keyword arguments for the operation.
107
118
 
108
119
  Returns:
@@ -116,7 +127,7 @@ def run_progress_task(
116
127
  return operation(*args, **kwargs)
117
128
  except Exception as err: # pylint: disable=broad-exception-caught
118
129
  custom_message = error_message if error_message else str(err)
119
- return handle_error(message=custom_message)
130
+ return handle_error(message=custom_message, include_traceback=include_error_traceback)
120
131
 
121
132
  console = Console()
122
133
  with Progress(
@@ -129,13 +140,12 @@ def run_progress_task(
129
140
  task = progress.add_task(description, status="In Progress", total=None)
130
141
  try:
131
142
  result = operation(*args, **kwargs)
132
- progress.update(task, completed=100, status="Done")
133
- sleep(0.15)
143
+ _update_completed_task(progress, task, success=True)
134
144
  return result
135
145
  except Exception as err: # pylint: disable=broad-exception-caught
136
- progress.update(task, completed=100, status="Failed")
146
+ _update_completed_task(progress, task, success=False)
137
147
  custom_message = error_message if error_message else str(err)
138
- return handle_error(message=custom_message)
148
+ return handle_error(message=custom_message, include_traceback=include_error_traceback)
139
149
  finally:
140
150
  progress.remove_task(task)
141
151
 
@@ -11,6 +11,7 @@ import typer
11
11
 
12
12
  from qbraid_cli.account.app import account_app
13
13
  from qbraid_cli.admin.app import admin_app
14
+ from qbraid_cli.chat.app import chat_app
14
15
  from qbraid_cli.configure.app import configure_app
15
16
  from qbraid_cli.devices.app import devices_app
16
17
  from qbraid_cli.jobs.app import jobs_app
@@ -27,6 +28,7 @@ except ImportError:
27
28
  app = typer.Typer(context_settings={"help_option_names": ["-h", "--help"]})
28
29
 
29
30
  app.add_typer(admin_app, name="admin")
31
+ app.add_typer(chat_app, name="chat")
30
32
  app.add_typer(configure_app, name="configure")
31
33
  app.add_typer(account_app, name="account")
32
34
  app.add_typer(devices_app, name="devices")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qbraid-cli
3
- Version: 0.9.0
3
+ Version: 0.9.1
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,7 +29,7 @@ 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.29
32
+ Requires-Dist: qbraid-core>=0.1.30
33
33
  Provides-Extra: jobs
34
34
  Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
35
35
  Provides-Extra: envs
@@ -45,6 +45,8 @@ qbraid_cli/admin/__init__.py
45
45
  qbraid_cli/admin/app.py
46
46
  qbraid_cli/admin/headers.py
47
47
  qbraid_cli/admin/validation.py
48
+ qbraid_cli/chat/__init__.py
49
+ qbraid_cli/chat/app.py
48
50
  qbraid_cli/configure/__init__.py
49
51
  qbraid_cli/configure/actions.py
50
52
  qbraid_cli/configure/app.py
@@ -1,6 +1,6 @@
1
1
  typer>=0.12.1
2
2
  rich>=10.11.0
3
- qbraid-core>=0.1.29
3
+ qbraid-core>=0.1.30
4
4
 
5
5
  [dev]
6
6
  isort
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
File without changes
File without changes
File without changes
File without changes
File without changes