qbraid-cli 0.12.0a6__tar.gz → 0.13.0__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 (81) hide show
  1. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/LICENSE +1 -1
  2. {qbraid_cli-0.12.0a6/qbraid_cli.egg-info → qbraid_cli-0.13.0}/PKG-INFO +20 -56
  3. qbraid_cli-0.13.0/README.md +118 -0
  4. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/pyproject.toml +14 -15
  5. qbraid_cli-0.13.0/qbraid_cli/_build_info.py +19 -0
  6. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/_version.py +7 -2
  7. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/account/__init__.py +1 -1
  8. qbraid_cli-0.13.0/qbraid_cli/account/app.py +40 -0
  9. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/admin/__init__.py +1 -1
  10. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/admin/app.py +5 -9
  11. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/admin/headers.py +6 -5
  12. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/admin/validation.py +1 -1
  13. qbraid_cli-0.13.0/qbraid_cli/agents/__init__.py +8 -0
  14. qbraid_cli-0.13.0/qbraid_cli/agents/app.py +2263 -0
  15. qbraid_cli-0.13.0/qbraid_cli/compute/__init__.py +8 -0
  16. qbraid_cli-0.13.0/qbraid_cli/compute/app.py +415 -0
  17. qbraid_cli-0.13.0/qbraid_cli/compute/profiles.py +373 -0
  18. qbraid_cli-0.13.0/qbraid_cli/compute/server.py +343 -0
  19. qbraid_cli-0.13.0/qbraid_cli/compute/ssh.py +390 -0
  20. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/configure/__init__.py +1 -1
  21. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/configure/actions.py +5 -18
  22. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/configure/app.py +10 -92
  23. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/devices/__init__.py +1 -1
  24. qbraid_cli-0.13.0/qbraid_cli/devices/app.py +165 -0
  25. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/devices/validation.py +1 -10
  26. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/envs/__init__.py +1 -1
  27. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/envs/activate.py +23 -18
  28. qbraid_cli-0.13.0/qbraid_cli/envs/app.py +1823 -0
  29. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/envs/create.py +22 -3
  30. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/envs/data_handling.py +8 -6
  31. qbraid_cli-0.13.0/qbraid_cli/envs/groups.py +285 -0
  32. qbraid_cli-0.13.0/qbraid_cli/envs/publish.py +355 -0
  33. qbraid_cli-0.13.0/qbraid_cli/envs/registry.py +198 -0
  34. qbraid_cli-0.13.0/qbraid_cli/envs/share.py +236 -0
  35. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/exceptions.py +1 -1
  36. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/handlers.py +2 -4
  37. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/jobs/__init__.py +1 -1
  38. qbraid_cli-0.13.0/qbraid_cli/jobs/app.py +182 -0
  39. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/kernels/__init__.py +1 -1
  40. qbraid_cli-0.13.0/qbraid_cli/kernels/app.py +363 -0
  41. qbraid_cli-0.13.0/qbraid_cli/lab/__init__.py +11 -0
  42. qbraid_cli-0.13.0/qbraid_cli/lab/app.py +48 -0
  43. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/main.py +24 -38
  44. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/pip/__init__.py +1 -1
  45. qbraid_cli-0.13.0/qbraid_cli/pip/app.py +79 -0
  46. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/pip/hooks.py +1 -1
  47. qbraid_cli-0.13.0/qbraid_cli/projects/__init__.py +11 -0
  48. qbraid_cli-0.13.0/qbraid_cli/projects/app.py +194 -0
  49. qbraid_cli-0.13.0/qbraid_cli/skills/__init__.py +11 -0
  50. qbraid_cli-0.13.0/qbraid_cli/skills/app.py +885 -0
  51. qbraid_cli-0.13.0/qbraid_cli/troubleshoot/__init__.py +8 -0
  52. qbraid_cli-0.13.0/qbraid_cli/troubleshoot/app.py +213 -0
  53. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0/qbraid_cli.egg-info}/PKG-INFO +20 -56
  54. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli.egg-info/SOURCES.txt +21 -10
  55. qbraid_cli-0.13.0/qbraid_cli.egg-info/requires.txt +18 -0
  56. qbraid_cli-0.13.0/tests/test_cli_e2e.py +1176 -0
  57. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/tests/test_version.py +1 -1
  58. qbraid_cli-0.12.0a6/README.md +0 -152
  59. qbraid_cli-0.12.0a6/qbraid_cli/account/app.py +0 -67
  60. qbraid_cli-0.12.0a6/qbraid_cli/chat/__init__.py +0 -11
  61. qbraid_cli-0.12.0a6/qbraid_cli/chat/app.py +0 -76
  62. qbraid_cli-0.12.0a6/qbraid_cli/configure/claude_config.py +0 -215
  63. qbraid_cli-0.12.0a6/qbraid_cli/devices/app.py +0 -117
  64. qbraid_cli-0.12.0a6/qbraid_cli/envs/app.py +0 -1557
  65. qbraid_cli-0.12.0a6/qbraid_cli/files/__init__.py +0 -11
  66. qbraid_cli-0.12.0a6/qbraid_cli/files/app.py +0 -139
  67. qbraid_cli-0.12.0a6/qbraid_cli/jobs/app.py +0 -193
  68. qbraid_cli-0.12.0a6/qbraid_cli/jobs/toggle_braket.py +0 -201
  69. qbraid_cli-0.12.0a6/qbraid_cli/jobs/validation.py +0 -94
  70. qbraid_cli-0.12.0a6/qbraid_cli/kernels/app.py +0 -99
  71. qbraid_cli-0.12.0a6/qbraid_cli/mcp/__init__.py +0 -10
  72. qbraid_cli-0.12.0a6/qbraid_cli/mcp/app.py +0 -126
  73. qbraid_cli-0.12.0a6/qbraid_cli/mcp/serve.py +0 -321
  74. qbraid_cli-0.12.0a6/qbraid_cli/pip/app.py +0 -50
  75. qbraid_cli-0.12.0a6/qbraid_cli.egg-info/requires.txt +0 -20
  76. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/__init__.py +0 -0
  77. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli/py.typed +0 -0
  78. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli.egg-info/dependency_links.txt +0 -0
  79. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli.egg-info/entry_points.txt +0 -0
  80. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/qbraid_cli.egg-info/top_level.txt +0 -0
  81. {qbraid_cli-0.12.0a6 → qbraid_cli-0.13.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  qBraid Commercial Software License
2
2
 
3
- Copyright (c) 2025, qBraid Development Team
3
+ Copyright (c) 2026, qBraid Development Team
4
4
 
5
5
  All rights reserved.
6
6
 
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qbraid-cli
3
- Version: 0.12.0a6
3
+ Version: 0.13.0
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-Expression: LicenseRef-Proprietary
7
- Project-URL: Homepage, https://docs.qbraid.com/cli/user-guide/overview
8
- Project-URL: Documentation, https://docs.qbraid.com/cli/api-reference/qbraid
7
+ Project-URL: Homepage, https://docs.qbraid.com/v2/cli/user-guide/overview
8
+ Project-URL: Documentation, https://docs.qbraid.com/v2/cli/api-reference/qbraid
9
9
  Project-URL: Bug Tracker, https://github.com/qBraid/community/issues
10
10
  Project-URL: Discord, https://discord.gg/KugF6Cnncm
11
11
  Keywords: qbraid,cli,quantum,cloud
@@ -18,25 +18,23 @@ Classifier: Operating System :: POSIX :: Linux
18
18
  Classifier: Programming Language :: Python
19
19
  Classifier: Programming Language :: Python :: 3
20
20
  Classifier: Programming Language :: Python :: 3 :: Only
21
- Classifier: Programming Language :: Python :: 3.9
22
21
  Classifier: Programming Language :: Python :: 3.10
23
22
  Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
25
24
  Classifier: Programming Language :: Python :: 3.13
26
25
  Classifier: Programming Language :: Python :: 3.14
27
- Requires-Python: >=3.9
26
+ Requires-Python: >=3.10
28
27
  Description-Content-Type: text/markdown
29
28
  License-File: LICENSE
30
29
  Requires-Dist: typer>=0.12.1
31
30
  Requires-Dist: rich>=10.11.0
32
- Requires-Dist: click<=8.1.8
33
- Requires-Dist: qbraid-core[environments]>=0.2.0a0
34
- Provides-Extra: jobs
35
- Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
31
+ Requires-Dist: click<=8.3.3
32
+ Requires-Dist: questionary>=2.0.0
33
+ Requires-Dist: qbraid-core>=0.3.0
34
+ Provides-Extra: compute
35
+ Requires-Dist: qbraid-core[compute]>=0.3.0; extra == "compute"
36
36
  Provides-Extra: envs
37
- Requires-Dist: qbraid-core[environments]>=0.2.0a0; extra == "envs"
38
- Provides-Extra: mcp
39
- Requires-Dist: qbraid-core[mcp]>=0.2.0a0; extra == "mcp"
37
+ Requires-Dist: qbraid-core[environments]>=0.3.0; extra == "envs"
40
38
  Provides-Extra: dev
41
39
  Requires-Dist: isort; extra == "dev"
42
40
  Requires-Dist: black; extra == "dev"
@@ -47,20 +45,16 @@ Dynamic: license-file
47
45
 
48
46
  <img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
49
47
 
50
- [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/cli/user-guide/overview)
48
+ [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/v2/cli/user-guide/overview)
51
49
  [![PyPI version](https://img.shields.io/pypi/v/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
52
50
  [![Python verions](https://img.shields.io/pypi/pyversions/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
53
- [![Downloads](https://static.pepy.tech/badge/qbraid-cli)](https://pepy.tech/project/qbraid-cli)
54
51
  [![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/community/issues)
55
- [![Stack Overflow](https://img.shields.io/badge/StackOverflow-qbraid-orange?logo=stackoverflow)](https://stackoverflow.com/questions/tagged/qbraid)
56
52
 
57
53
  Command Line Interface for interacting with all parts of the qBraid platform.
58
54
 
59
- The **qBraid CLI** is a versatile command-line interface tool designed for seamless interaction with qBraid cloud services and quantum software management tools. Initially exclusive to the [qBraid Lab](https://docs.qbraid.com/lab/user-guide/overview) platform, the CLI now supports local installations as well. This enhancement broadens access to features like [qBraid Quantum Jobs](https://docs.qbraid.com/cli/user-guide/quantum-jobs), enabling direct, pre-configured access to QPUs from IonQ, Oxford Quantum Circuits, QuEra, Rigetti, and IQM, as well as on-demand simulators from qBraid, AWS, IonQ, QuEra, and NEC. See [pricing](https://docs.qbraid.com/home/pricing) for more.
60
-
61
55
  *Resources*:
62
- - [User Guide](https://docs.qbraid.com/cli/user-guide/overview)
63
- - [API Reference](https://docs.qbraid.com/cli/api-reference/qbraid)
56
+ - [User Guide](https://docs.qbraid.com/v2/cli/user-guide/overview)
57
+ - [API Reference](https://docs.qbraid.com/v2/cli/api-reference/qbraid)
64
58
 
65
59
  ## Getting Started
66
60
 
@@ -69,7 +63,7 @@ The qBraid-CLI comes pre-installed and pre-configured in qBraid Lab:
69
63
  - [Launch qBraid Lab &rarr;](https://lab.qbraid.com/)
70
64
  - [Make an account &rarr;](https://account.qbraid.com/)
71
65
 
72
- For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/lab/user-guide/getting-started).
66
+ For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/v2/lab/user-guide/getting-started).
73
67
 
74
68
  You can also install the qBraid-CLI from PyPI with:
75
69
 
@@ -77,7 +71,7 @@ You can also install the qBraid-CLI from PyPI with:
77
71
  pip install qbraid-cli
78
72
  ```
79
73
 
80
- To manage qBraid [environments](https://docs.qbraid.com/lab/user-guide/environments) using the CLI, you must also install the `envs` extra:
74
+ To manage qBraid [environments](https://docs.qbraid.com/v2/lab/user-guide/environments) using the CLI, you must also install the `envs` extra:
81
75
 
82
76
  ```bash
83
77
  pip install 'qbraid-cli[envs]'
@@ -91,13 +85,13 @@ After installation, you must configure your account credentials to use the CLI l
91
85
  [account.qbraid.com](https://account.qbraid.com/)
92
86
  2. Copy your API Key token from the left side of
93
87
  your [account page](https://account.qbraid.com/):
94
- 3. Save your API key from step 2 in local [configuration file](https://docs.qbraid.com/cli/user-guide/config-files) `~/.qbraid/qbraidrc` using:
88
+ 3. Save your API key from step 2 in local [configuration file](https://docs.qbraid.com/v2/cli/user-guide/config-files) `~/.qbraid/qbraidrc` using:
95
89
 
96
90
  ```bash
97
91
  $ qbraid configure
98
92
  ```
99
93
 
100
- For more on API keys, see [documentation](https://docs.qbraid.com/home/account#api-keys).
94
+ For more on API keys, see [documentation](https://docs.qbraid.com/v2/home/account#api-keys).
101
95
 
102
96
  ## Basic Commands
103
97
 
@@ -119,7 +113,7 @@ $ qbraid
119
113
 
120
114
  - Use 'qbraid --version' to see the current version.
121
115
 
122
- Reference Docs: https://docs.qbraid.com/cli/api-reference/qbraid
116
+ Reference Docs: https://docs.qbraid.com/v2/cli/api-reference/qbraid
123
117
  ```
124
118
 
125
119
  A qBraid CLI command has the following structure:
@@ -142,36 +136,6 @@ $ qbraid <command> --help
142
136
  $ qbraid <command> <subcommand> --help
143
137
  ```
144
138
 
145
- For example:
146
-
147
- ```bash
148
- $ qbraid --help
149
-
150
- Usage: qbraid [OPTIONS] COMMAND [ARGS]...
151
-
152
- The qBraid CLI.
153
-
154
- Options
155
- --version Show the version and exit.
156
- --install-completion Install completion for the current shell.
157
- --show-completion Show completion for the current shell, to copy it or customize the installation.
158
- --help Show this message and exit.
159
-
160
- Commands
161
- account Manage qBraid account
162
- admin CI/CD commands for qBraid maintainers.
163
- configure Configure qBraid CLI options.
164
- account Manage qBraid account.
165
- chat Interact with qBraid AI chat service.
166
- devices Manage qBraid quantum devices.
167
- envs Manage qBraid environments.
168
- files Manage qBraid cloud storage files.
169
- jobs Manage qBraid quantum jobs.
170
- kernels Manage qBraid kernels.
171
- mcp MCP (Model Context Protocol) aggregator commands.
172
- pip Run pip command in active qBraid environment.
173
- ```
174
-
175
139
  To get the version of the qBraid CLI:
176
140
 
177
141
  ```bash
@@ -180,7 +144,7 @@ $ qbraid --version
180
144
 
181
145
  ## Magic Commands
182
146
 
183
- You can also access the CLI directly from within [Notebooks](https://docs.qbraid.com/lab/user-guide/notebooks) using IPython [magic commands](https://ipython.readthedocs.io/en/stable/interactive/magics.html). First, configure the qBraid magic commands extension using:
147
+ You can also access the CLI directly from within [Notebooks](https://docs.qbraid.com/v2/lab/user-guide/notebooks) using IPython [magic commands](https://ipython.readthedocs.io/en/stable/interactive/magics.html). First, configure the qBraid magic commands extension using:
184
148
 
185
149
  ```bash
186
150
  $ qbraid configure magic
@@ -195,5 +159,5 @@ In [1]: %load_ext qbraid_magic
195
159
  Now you can continue to use the qBraid-CLI as normal from within your Jupyter notebook using the magic ``%`` operator, e.g.
196
160
 
197
161
  ```python
198
- In [2]: %qbraid chat -f code -p "Write a Qiskit bell circuit"
162
+ In [2]: %qbraid jobs list
199
163
  ```
@@ -0,0 +1,118 @@
1
+ <img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
2
+
3
+ [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/v2/cli/user-guide/overview)
4
+ [![PyPI version](https://img.shields.io/pypi/v/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
5
+ [![Python verions](https://img.shields.io/pypi/pyversions/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
6
+ [![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/community/issues)
7
+
8
+ Command Line Interface for interacting with all parts of the qBraid platform.
9
+
10
+ *Resources*:
11
+ - [User Guide](https://docs.qbraid.com/v2/cli/user-guide/overview)
12
+ - [API Reference](https://docs.qbraid.com/v2/cli/api-reference/qbraid)
13
+
14
+ ## Getting Started
15
+
16
+ The qBraid-CLI comes pre-installed and pre-configured in qBraid Lab:
17
+
18
+ - [Launch qBraid Lab &rarr;](https://lab.qbraid.com/)
19
+ - [Make an account &rarr;](https://account.qbraid.com/)
20
+
21
+ For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/v2/lab/user-guide/getting-started).
22
+
23
+ You can also install the qBraid-CLI from PyPI with:
24
+
25
+ ```bash
26
+ pip install qbraid-cli
27
+ ```
28
+
29
+ To manage qBraid [environments](https://docs.qbraid.com/v2/lab/user-guide/environments) using the CLI, you must also install the `envs` extra:
30
+
31
+ ```bash
32
+ pip install 'qbraid-cli[envs]'
33
+ ```
34
+
35
+ ## Local configuration
36
+
37
+ After installation, you must configure your account credentials to use the CLI locally:
38
+
39
+ 1. Create a qBraid account or log in to your existing account by visiting
40
+ [account.qbraid.com](https://account.qbraid.com/)
41
+ 2. Copy your API Key token from the left side of
42
+ your [account page](https://account.qbraid.com/):
43
+ 3. Save your API key from step 2 in local [configuration file](https://docs.qbraid.com/v2/cli/user-guide/config-files) `~/.qbraid/qbraidrc` using:
44
+
45
+ ```bash
46
+ $ qbraid configure
47
+ ```
48
+
49
+ For more on API keys, see [documentation](https://docs.qbraid.com/v2/home/account#api-keys).
50
+
51
+ ## Basic Commands
52
+
53
+ ```bash
54
+ $ qbraid
55
+ ----------------------------------
56
+ * Welcome to the qBraid CLI! *
57
+ ----------------------------------
58
+
59
+ ____ _ _
60
+ __ _| __ ) _ __ __ _(_) __| |
61
+ / _` | _ \| '__/ _` | |/ _` |
62
+ | (_| | |_) | | | (_| | | (_| |
63
+ \__,_|____/|_| \__,_|_|\__,_|
64
+ |_|
65
+
66
+
67
+ - Use 'qbraid --help' to see available commands.
68
+
69
+ - Use 'qbraid --version' to see the current version.
70
+
71
+ Reference Docs: https://docs.qbraid.com/v2/cli/api-reference/qbraid
72
+ ```
73
+
74
+ A qBraid CLI command has the following structure:
75
+
76
+ ```bash
77
+ $ qbraid <command> <subcommand> [options and parameters]
78
+ ```
79
+
80
+ For example, to list installed environments, the command would be:
81
+
82
+ ```bash
83
+ $ qbraid envs list
84
+ ```
85
+
86
+ To view help documentation, use one of the following:
87
+
88
+ ```bash
89
+ $ qbraid --help
90
+ $ qbraid <command> --help
91
+ $ qbraid <command> <subcommand> --help
92
+ ```
93
+
94
+ To get the version of the qBraid CLI:
95
+
96
+ ```bash
97
+ $ qbraid --version
98
+ ```
99
+
100
+ ## Magic Commands
101
+
102
+ You can also access the CLI directly from within [Notebooks](https://docs.qbraid.com/v2/lab/user-guide/notebooks) using IPython [magic commands](https://ipython.readthedocs.io/en/stable/interactive/magics.html). First, configure the qBraid magic commands extension using:
103
+
104
+ ```bash
105
+ $ qbraid configure magic
106
+ ```
107
+
108
+ The above command can also be executed from within a Jupyter notebook using the ``!`` operator. Then, from within a notebook cell, load the qBraid magic IPython extension using:
109
+
110
+ ```python
111
+ In [1]: %load_ext qbraid_magic
112
+ ```
113
+
114
+ Now you can continue to use the qBraid-CLI as normal from within your Jupyter notebook using the magic ``%`` operator, e.g.
115
+
116
+ ```python
117
+ In [2]: %qbraid jobs list
118
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "qbraid-cli"
7
- version = "0.12.0a6"
7
+ version = "0.13.0"
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" }]
@@ -21,7 +21,6 @@ classifiers = [
21
21
  "Programming Language :: Python",
22
22
  "Programming Language :: Python :: 3",
23
23
  "Programming Language :: Python :: 3 :: Only",
24
- "Programming Language :: Python :: 3.9",
25
24
  "Programming Language :: Python :: 3.10",
26
25
  "Programming Language :: Python :: 3.11",
27
26
  "Programming Language :: Python :: 3.12",
@@ -31,29 +30,29 @@ classifiers = [
31
30
  dependencies = [
32
31
  "typer>=0.12.1",
33
32
  "rich>=10.11.0",
34
- "click<=8.1.8",
35
- "qbraid-core[environments]>=0.2.0a0",
33
+ "click<=8.3.3",
34
+ "questionary>=2.0.0",
35
+ "qbraid-core>=0.3.0",
36
36
  ]
37
- requires-python = ">= 3.9"
37
+ requires-python = ">= 3.10"
38
38
 
39
39
  [project.urls]
40
- Homepage = "https://docs.qbraid.com/cli/user-guide/overview"
41
- Documentation = "https://docs.qbraid.com/cli/api-reference/qbraid"
40
+ Homepage = "https://docs.qbraid.com/v2/cli/user-guide/overview"
41
+ Documentation = "https://docs.qbraid.com/v2/cli/api-reference/qbraid"
42
42
  "Bug Tracker" = "https://github.com/qBraid/community/issues"
43
43
  Discord = "https://discord.gg/KugF6Cnncm"
44
44
 
45
45
  [project.optional-dependencies]
46
- jobs = ["amazon-braket-sdk>=1.48.1"]
47
- envs = ["qbraid-core[environments]>=0.2.0a0"]
48
- mcp = ["qbraid-core[mcp]>=0.2.0a0"]
46
+ compute = ["qbraid-core[compute]>=0.3.0"]
47
+ envs = ["qbraid-core[environments]>=0.3.0"]
49
48
  dev = ["isort", "black", "pytest", "pytest-cov", "pytest-asyncio"]
50
49
 
51
50
  [project.scripts]
52
51
  qbraid = "qbraid_cli.main:app"
53
52
 
54
53
  [tool.black]
55
- line-length = 100
56
- target-version = ["py39", "py310", "py311", "py312", "py313"]
54
+ line-length = 110
55
+ target-version = ["py310", "py311", "py312", "py313"]
57
56
 
58
57
  [tool.isort]
59
58
  profile = "black"
@@ -61,11 +60,11 @@ multi_line_output = 3
61
60
  include_trailing_comma = true
62
61
  force_grid_wrap = 0
63
62
  use_parentheses = true
64
- line_length = 100
63
+ line_length = 110
65
64
 
66
65
  [tool.pylint.'MESSAGES CONTROL']
67
- max-line-length = 100
68
- disable = "C0415, R0914, W0511"
66
+ max-line-length = 110
67
+ disable = "C0116,C0302,C0415,E1101,R0801,R0903,R0912,R0913,R0914,R0915,R0917,R1702,W0212,W0511,W0621,W0707,W0718"
69
68
 
70
69
  [tool.pylint.MASTER]
71
70
  ignore-paths = [
@@ -0,0 +1,19 @@
1
+ # Copyright (c) 2025, qBraid Development Team
2
+ # All rights reserved.
3
+
4
+ """
5
+ Build metadata — auto-generated by tools/build_wheel.py during wheel builds.
6
+ For editable installs, this file contains placeholder values.
7
+ """
8
+
9
+ BUILD_INFO = {
10
+ "version": "dev",
11
+ "base_version": "dev",
12
+ "branch": "",
13
+ "commit": "",
14
+ "commit_full": "",
15
+ "commit_message": "",
16
+ "recent_changes": [],
17
+ "build_date": "",
18
+ "dirty": True,
19
+ }
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2025, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  """
@@ -15,4 +15,9 @@ except Exception: # pylint: disable=broad-exception-caught # pragma: no cover
15
15
 
16
16
  __version_tuple__ = tuple(int(part) if part.isdigit() else part for part in __version__.split("."))
17
17
 
18
- __all__ = ["__version__", "__version_tuple__"]
18
+ try:
19
+ from ._build_info import BUILD_INFO
20
+ except ImportError:
21
+ BUILD_INFO = None # type: ignore[assignment]
22
+
23
+ __all__ = ["__version__", "__version_tuple__", "BUILD_INFO"]
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  """
@@ -0,0 +1,40 @@
1
+ # Copyright (c) 2026, qBraid Development Team
2
+ # All rights reserved.
3
+
4
+ """
5
+ Module defining commands in the 'qbraid user' namespace.
6
+
7
+ """
8
+
9
+ import rich
10
+ import typer
11
+
12
+ from qbraid_cli.handlers import run_progress_task
13
+
14
+ account_app = typer.Typer(
15
+ help="Manage qBraid account.\n\nView account information and check remaining credits.",
16
+ no_args_is_help=True,
17
+ )
18
+
19
+
20
+ @account_app.command(name="credits")
21
+ def account_credits():
22
+ """Get number of qBraid credits remaining."""
23
+
24
+ def get_credits() -> float:
25
+ from qbraid_core.client import QbraidClientV1
26
+
27
+ client = QbraidClientV1()
28
+ return client.user_credits_value()
29
+
30
+ qbraid_credits: float = run_progress_task(get_credits)
31
+ typer.secho(
32
+ f"{typer.style('qBraid credits remaining:')} "
33
+ f"{typer.style(f'{qbraid_credits:.4f}', fg=typer.colors.MAGENTA, bold=True)}",
34
+ nl=True, # Ensure a newline after output (default is True)
35
+ )
36
+ rich.print("\nFor more information, visit: https://docs.qbraid.com/v2/home/pricing#credits")
37
+
38
+
39
+ if __name__ == "__main__":
40
+ account_app()
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  """
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  """
@@ -25,12 +25,8 @@ def admin_headers(
25
25
  src_paths: list[str] = typer.Argument(
26
26
  ..., help="Source file or directory paths to verify.", callback=validate_paths_exist
27
27
  ),
28
- header_type: HeaderType = typer.Option(
29
- "default", "--type", "-t", help="Type of header to use."
30
- ),
31
- skip_files: list[str] = typer.Option(
32
- [], "--skip", "-s", help="Files to skip during verification."
33
- ),
28
+ header_type: HeaderType = typer.Option("default", "--type", "-t", help="Type of header to use."),
29
+ skip_files: list[str] = typer.Option([], "--skip", "-s", help="Files to skip during verification."),
34
30
  fix: bool = typer.Option(
35
31
  False, "--fix", "-f", help="Whether to fix the headers instead of just verifying."
36
32
  ),
@@ -38,9 +34,9 @@ def admin_headers(
38
34
  None, "--project", "-p", help="Name of the project to use in the header."
39
35
  ),
40
36
  ):
41
- """
42
- Verifies and optionally fixes qBraid headers in specified files and directories.
37
+ """Verify and fix qBraid file headers.
43
38
 
39
+ Verifies and optionally fixes qBraid headers in specified files and directories.
44
40
  """
45
41
  check_and_fix_headers(
46
42
  src_paths,
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  # pylint: disable=too-many-branches,too-many-statements
@@ -117,6 +117,7 @@ def get_formatted_header(header_type: HeaderType, project_name: Optional[str] =
117
117
  if header_type == HeaderType.gpl:
118
118
  if project_name is None:
119
119
  handle_error("ValueError", "Project name is required for GPL header")
120
+ return header
120
121
 
121
122
  if project_name.split(" ")[0].lower() == "the":
122
123
  project_name = project_name[:1].lower() + project_name[1:]
@@ -131,7 +132,7 @@ def get_formatted_header(header_type: HeaderType, project_name: Optional[str] =
131
132
  return header
132
133
 
133
134
 
134
- def _get_comment_marker(file_path: str, default: Optional[str] = None) -> str:
135
+ def _get_comment_marker(file_path: str, default: str | None = None) -> str | None:
135
136
  file_ext = Path(file_path).suffix
136
137
  return COMMENT_MARKER.get(file_ext, default)
137
138
 
@@ -191,6 +192,8 @@ def check_and_fix_headers(
191
192
  content = f.read()
192
193
 
193
194
  comment_marker = _get_comment_marker(file_path)
195
+ if comment_marker is None:
196
+ return
194
197
 
195
198
  # This finds the start of the actual content after skipping initial whitespace and comments.
196
199
  lines = content.splitlines()
@@ -246,9 +249,7 @@ def check_and_fix_headers(
246
249
  checked += 1
247
250
  else:
248
251
  if not os.path.isfile(item):
249
- handle_error(
250
- error_type="FileNotFoundError", message=f"Path '{item}' does not exist."
251
- )
252
+ handle_error(error_type="FileNotFoundError", message=f"Path '{item}' does not exist.")
252
253
 
253
254
  if checked == 0:
254
255
  console.print(f"[bold]No {VALID_EXTS} files present. Nothing to do[/bold] 😴")
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2024, qBraid Development Team
1
+ # Copyright (c) 2026, qBraid Development Team
2
2
  # All rights reserved.
3
3
 
4
4
  """
@@ -0,0 +1,8 @@
1
+ # Copyright (c) 2026, qBraid Development Team
2
+ # All rights reserved.
3
+
4
+ """Agents CLI subcommand."""
5
+
6
+ from .app import agents_app
7
+
8
+ __all__ = ["agents_app"]