qbraid-cli 0.7.1__py3-none-any.whl → 0.8.0__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 +14 -6
- qbraid_cli/admin/__init__.py +9 -0
- qbraid_cli/admin/app.py +50 -0
- qbraid_cli/admin/headers.py +193 -0
- qbraid_cli/admin/validation.py +33 -0
- qbraid_cli/configure/__init__.py +9 -0
- qbraid_cli/configure/actions.py +111 -0
- qbraid_cli/configure/app.py +77 -0
- qbraid_cli/credits/__init__.py +9 -0
- qbraid_cli/credits/app.py +32 -0
- qbraid_cli/devices/__init__.py +9 -0
- qbraid_cli/devices/app.py +80 -0
- qbraid_cli/devices/validation.py +26 -0
- qbraid_cli/envs/__init__.py +9 -0
- qbraid_cli/envs/activate.py +65 -0
- qbraid_cli/envs/app.py +270 -0
- qbraid_cli/envs/create.py +128 -0
- qbraid_cli/envs/data_handling.py +140 -0
- qbraid_cli/exceptions.py +17 -5
- qbraid_cli/handlers.py +168 -0
- qbraid_cli/jobs/__init__.py +9 -0
- qbraid_cli/jobs/app.py +149 -0
- qbraid_cli/jobs/toggle_braket.py +185 -0
- qbraid_cli/jobs/validation.py +93 -0
- qbraid_cli/kernels/__init__.py +9 -0
- qbraid_cli/kernels/app.py +111 -0
- qbraid_cli/main.py +80 -0
- {qbraid_cli-0.7.1.dist-info → qbraid_cli-0.8.0.dist-info}/METADATA +68 -46
- qbraid_cli-0.8.0.dist-info/RECORD +33 -0
- {qbraid_cli-0.7.1.dist-info → qbraid_cli-0.8.0.dist-info}/WHEEL +1 -1
- qbraid_cli-0.8.0.dist-info/entry_points.txt +2 -0
- qbraid_cli/_display.py +0 -44
- qbraid_cli/bin/qbraid.sh +0 -1346
- qbraid_cli/configure.py +0 -113
- qbraid_cli/envs.py +0 -195
- qbraid_cli/jobs.py +0 -226
- qbraid_cli/wrapper.py +0 -103
- qbraid_cli-0.7.1.data/scripts/qbraid.sh +0 -1346
- qbraid_cli-0.7.1.dist-info/RECORD +0 -15
- qbraid_cli-0.7.1.dist-info/entry_points.txt +0 -2
- {qbraid_cli-0.7.1.dist-info → qbraid_cli-0.8.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Copyright (c) 2024, qBraid Development Team
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
Module defining commands in the 'qbraid jobs' namespace.
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
import sys
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
import typer
|
|
12
|
+
from jupyter_client.kernelspec import KernelSpecManager
|
|
13
|
+
from rich.console import Console
|
|
14
|
+
|
|
15
|
+
from qbraid_cli.envs.data_handling import installed_envs_data
|
|
16
|
+
from qbraid_cli.handlers import handle_error
|
|
17
|
+
|
|
18
|
+
kernels_app = typer.Typer(help="Manage qBraid kernels.")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def _get_kernels_path(environment: str) -> Path:
|
|
22
|
+
"""Get the path to the kernels directory for the given environment."""
|
|
23
|
+
slug_to_path, name_to_slug = installed_envs_data()
|
|
24
|
+
|
|
25
|
+
if environment in name_to_slug:
|
|
26
|
+
slug = name_to_slug.get(environment, None)
|
|
27
|
+
else:
|
|
28
|
+
slug = environment
|
|
29
|
+
|
|
30
|
+
if slug not in slug_to_path:
|
|
31
|
+
raise ValueError(f"Environment '{environment}' not found.")
|
|
32
|
+
|
|
33
|
+
env_path = slug_to_path[slug]
|
|
34
|
+
kernels_path = env_path / "kernels"
|
|
35
|
+
return kernels_path
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@kernels_app.command(name="list")
|
|
39
|
+
def kernels_list():
|
|
40
|
+
"""List all available kernels."""
|
|
41
|
+
console = Console()
|
|
42
|
+
|
|
43
|
+
kernel_spec_manager = KernelSpecManager()
|
|
44
|
+
kernelspecs = kernel_spec_manager.get_all_specs()
|
|
45
|
+
|
|
46
|
+
if len(kernelspecs) == 0:
|
|
47
|
+
console.print("No qBraid kernels are active.")
|
|
48
|
+
console.print("\nUse 'qbraid kernels add' to add a new kernel.")
|
|
49
|
+
return
|
|
50
|
+
|
|
51
|
+
longest_kernel_name = max(len(kernel_name) for kernel_name in kernelspecs)
|
|
52
|
+
spacing = longest_kernel_name + 10
|
|
53
|
+
|
|
54
|
+
console.print("# qbraid kernels:\n#\n")
|
|
55
|
+
|
|
56
|
+
# Ensure 'python3' kernel is printed first if it exists
|
|
57
|
+
default_kernel_name = "python3"
|
|
58
|
+
python3_kernel_info = kernelspecs.pop(default_kernel_name, None)
|
|
59
|
+
if python3_kernel_info:
|
|
60
|
+
console.print(f"{default_kernel_name.ljust(spacing)}{python3_kernel_info['resource_dir']}")
|
|
61
|
+
|
|
62
|
+
# Print the rest of the kernels
|
|
63
|
+
for kernel_name, kernel_info in sorted(kernelspecs.items()):
|
|
64
|
+
console.print(f"{kernel_name.ljust(spacing)}{kernel_info['resource_dir']}")
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@kernels_app.command(name="add")
|
|
68
|
+
def kernels_add(
|
|
69
|
+
environment: str = typer.Argument(
|
|
70
|
+
..., help="Name of environment for which to add ipykernel. Values from 'qbraid envs list'."
|
|
71
|
+
)
|
|
72
|
+
):
|
|
73
|
+
"""Add a kernel."""
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
kernels_path = _get_kernels_path(environment)
|
|
77
|
+
except ValueError:
|
|
78
|
+
handle_error(message=f"Environment '{environment}' not found.", include_traceback=False)
|
|
79
|
+
return
|
|
80
|
+
|
|
81
|
+
is_local = str(kernels_path).startswith(str(Path.home()))
|
|
82
|
+
resource_path = str(Path.home() / ".local") if is_local else sys.prefix
|
|
83
|
+
|
|
84
|
+
kernel_spec_manager = KernelSpecManager()
|
|
85
|
+
|
|
86
|
+
for kernel in kernels_path.iterdir():
|
|
87
|
+
kernel_spec_manager.install_kernel_spec(source_dir=str(kernel), prefix=resource_path)
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@kernels_app.command(name="remove")
|
|
91
|
+
def kernels_remove(
|
|
92
|
+
environment: str = typer.Argument(
|
|
93
|
+
...,
|
|
94
|
+
help=("Name of environment for which to remove ipykernel. Values from 'qbraid envs list'."),
|
|
95
|
+
)
|
|
96
|
+
):
|
|
97
|
+
"""Remove a kernel."""
|
|
98
|
+
try:
|
|
99
|
+
kernels_path = _get_kernels_path(environment)
|
|
100
|
+
except ValueError:
|
|
101
|
+
handle_error(message=f"Environment '{environment}' not found.", include_traceback=False)
|
|
102
|
+
return
|
|
103
|
+
|
|
104
|
+
kernel_spec_manager = KernelSpecManager()
|
|
105
|
+
|
|
106
|
+
for kernel in kernels_path.iterdir():
|
|
107
|
+
kernel_spec_manager.remove_kernel_spec(kernel.name)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
if __name__ == "__main__":
|
|
111
|
+
kernels_app()
|
qbraid_cli/main.py
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Copyright (c) 2024, qBraid Development Team
|
|
2
|
+
# All rights reserved.
|
|
3
|
+
|
|
4
|
+
"""
|
|
5
|
+
Entrypoint for the qBraid CLI.
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import typer
|
|
10
|
+
|
|
11
|
+
from qbraid_cli.admin.app import admin_app
|
|
12
|
+
from qbraid_cli.configure.app import configure_app
|
|
13
|
+
from qbraid_cli.credits.app import credits_app
|
|
14
|
+
from qbraid_cli.devices.app import devices_app
|
|
15
|
+
from qbraid_cli.envs.app import envs_app
|
|
16
|
+
from qbraid_cli.jobs.app import jobs_app
|
|
17
|
+
from qbraid_cli.kernels.app import kernels_app
|
|
18
|
+
|
|
19
|
+
app = typer.Typer(context_settings={"help_option_names": ["-h", "--help"]})
|
|
20
|
+
|
|
21
|
+
app.add_typer(admin_app, name="admin")
|
|
22
|
+
app.add_typer(configure_app, name="configure")
|
|
23
|
+
app.add_typer(credits_app, name="credits")
|
|
24
|
+
app.add_typer(devices_app, name="devices")
|
|
25
|
+
app.add_typer(envs_app, name="envs")
|
|
26
|
+
app.add_typer(jobs_app, name="jobs")
|
|
27
|
+
app.add_typer(kernels_app, name="kernels")
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def version_callback(value: bool):
|
|
31
|
+
"""Show the version and exit."""
|
|
32
|
+
if value:
|
|
33
|
+
from ._version import __version__
|
|
34
|
+
|
|
35
|
+
typer.echo(f"qbraid-cli/{__version__}")
|
|
36
|
+
raise typer.Exit()
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def show_banner():
|
|
40
|
+
"""Show the qBraid CLI banner."""
|
|
41
|
+
typer.secho("----------------------------------", fg=typer.colors.BRIGHT_BLACK)
|
|
42
|
+
typer.secho(" * ", fg=typer.colors.BRIGHT_BLACK, nl=False)
|
|
43
|
+
typer.secho("Welcome to the qBraid CLI!", fg=typer.colors.MAGENTA, nl=False)
|
|
44
|
+
typer.secho(" * ", fg=typer.colors.BRIGHT_BLACK)
|
|
45
|
+
typer.secho("----------------------------------", fg=typer.colors.BRIGHT_BLACK)
|
|
46
|
+
typer.echo("")
|
|
47
|
+
typer.echo(" ____ _ _ ")
|
|
48
|
+
typer.echo(" __ _| __ ) _ __ __ _(_) __| | ")
|
|
49
|
+
typer.echo(r" / _` | _ \| '__/ _` | |/ _` | ")
|
|
50
|
+
typer.echo(" | (_| | |_) | | | (_| | | (_| | ")
|
|
51
|
+
typer.echo(r" \__,_|____/|_| \__,_|_|\__,_| ")
|
|
52
|
+
typer.echo(" |_| ")
|
|
53
|
+
typer.echo("")
|
|
54
|
+
typer.echo("")
|
|
55
|
+
typer.echo("- Use 'qbraid --help' to see available commands.")
|
|
56
|
+
typer.echo("")
|
|
57
|
+
typer.echo("- Use 'qbraid --version' to see the current version.")
|
|
58
|
+
typer.echo("")
|
|
59
|
+
typer.echo("Reference Docs: https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html")
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@app.callback(invoke_without_command=True)
|
|
63
|
+
def main(
|
|
64
|
+
ctx: typer.Context,
|
|
65
|
+
version: bool = typer.Option(
|
|
66
|
+
None,
|
|
67
|
+
"--version",
|
|
68
|
+
"-v",
|
|
69
|
+
callback=version_callback,
|
|
70
|
+
is_eager=True,
|
|
71
|
+
help="Show the version and exit.",
|
|
72
|
+
),
|
|
73
|
+
):
|
|
74
|
+
"""The qBraid CLI."""
|
|
75
|
+
if ctx.invoked_subcommand is None and not version:
|
|
76
|
+
show_banner()
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
if __name__ == "__main__":
|
|
80
|
+
app()
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: qbraid-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Command Line Interface for interacting with all parts of the qBraid platform.
|
|
5
|
-
|
|
6
|
-
Author: qBraid Development Team
|
|
7
|
-
Author-email: contact@qbraid.com
|
|
5
|
+
Author-email: qBraid Development Team <contact@qbraid.com>
|
|
8
6
|
License: Proprietary
|
|
9
|
-
Project-URL:
|
|
10
|
-
|
|
7
|
+
Project-URL: Homepage, https://www.qbraid.com/
|
|
8
|
+
Project-URL: Documentation, https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html
|
|
9
|
+
Project-URL: Bug Tracker, https://github.com/qBraid/qBraid-Lab/issues
|
|
10
|
+
Project-URL: Discord, https://discord.gg/KugF6Cnncm
|
|
11
|
+
Project-URL: Launch on Lab, https://account.qbraid.com/?gitHubUrl=https://github.com/qBraid/qBraid-Lab.git
|
|
12
|
+
Keywords: qbraid,cli,quantum,cloud
|
|
11
13
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
14
|
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: Intended Audience :: System Administrators
|
|
14
15
|
Classifier: Natural Language :: English
|
|
15
|
-
Classifier: License ::
|
|
16
|
+
Classifier: License :: Other/Proprietary License
|
|
17
|
+
Classifier: Intended Audience :: System Administrators
|
|
18
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
19
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
16
20
|
Classifier: Programming Language :: Python
|
|
17
21
|
Classifier: Programming Language :: Python :: 3
|
|
18
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -20,34 +24,42 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
24
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
25
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
26
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
-
Requires-Python: >=
|
|
27
|
+
Requires-Python: >=3.9
|
|
24
28
|
Description-Content-Type: text/markdown
|
|
25
|
-
Requires-Dist:
|
|
29
|
+
Requires-Dist: typer >=0.12.1
|
|
30
|
+
Requires-Dist: rich >=10.11.0
|
|
31
|
+
Requires-Dist: jupyter-client <9.0.0,>=7.0.0
|
|
26
32
|
Requires-Dist: ipykernel
|
|
27
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: qbraid-core >=0.1.4
|
|
28
34
|
Provides-Extra: dev
|
|
29
35
|
Requires-Dist: black ; extra == 'dev'
|
|
30
36
|
Requires-Dist: isort ; extra == 'dev'
|
|
31
37
|
Requires-Dist: pylint ; extra == 'dev'
|
|
38
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
32
39
|
Provides-Extra: docs
|
|
33
|
-
Requires-Dist: sphinx ~=
|
|
34
|
-
Requires-Dist: sphinx-rtd-theme
|
|
35
|
-
Requires-Dist: docutils
|
|
40
|
+
Requires-Dist: sphinx ~=7.2.6 ; extra == 'docs'
|
|
41
|
+
Requires-Dist: sphinx-rtd-theme <2.1,>=1.3 ; extra == 'docs'
|
|
42
|
+
Requires-Dist: docutils <0.22 ; extra == 'docs'
|
|
43
|
+
Requires-Dist: toml ; extra == 'docs'
|
|
44
|
+
Requires-Dist: build ; extra == 'docs'
|
|
45
|
+
Requires-Dist: m2r ; extra == 'docs'
|
|
46
|
+
Requires-Dist: typer ; extra == 'docs'
|
|
36
47
|
Provides-Extra: jobs
|
|
37
48
|
Requires-Dist: amazon-braket-sdk >=1.48.1 ; extra == 'jobs'
|
|
38
|
-
Requires-Dist: awscli ; extra == 'jobs'
|
|
39
49
|
|
|
40
50
|
<img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
|
|
41
51
|
|
|
42
|
-
[](https://docs.qbraid.com/projects/cli/en/
|
|
52
|
+
[](https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html)
|
|
43
53
|
[](https://pypi.org/project/qbraid-cli/)
|
|
44
|
-
[](https://pypi.org/project/qbraid-cli/)
|
|
55
|
+
[](https://pepy.tech/project/qbraid-cli)
|
|
56
|
+
[](https://github.com/qBraid/qBraid-Lab/issues)
|
|
57
|
+
[](https://discord.gg/KugF6Cnncm)
|
|
45
58
|
|
|
46
59
|
Command Line Interface for interacting with all parts of the qBraid platform.
|
|
47
60
|
|
|
48
61
|
The **qBraid CLI** is a specialized command-line interface tool designed *exclusively* for use within the [qBraid Lab](https://docs.qbraid.com/projects/lab/en/latest/lab/overview.html) platform. It is not intended for local installations or use outside the qBraid Lab environment. This tool ensures seamless integration and optimized performance specifically tailored for qBraid Lab's unique cloud-based quantum computing ecosystem.
|
|
49
62
|
|
|
50
|
-
|
|
51
63
|
## Getting Started
|
|
52
64
|
|
|
53
65
|
To use the qBraid CLI, login to qBraid (or create an account), launch Lab, and then open Terminal. You can also access the CLI directly from within [Notebooks](https://docs.qbraid.com/projects/lab/en/latest/lab/notebooks.html) using the ``!`` operator. See [quantum jobs example](https://github.com/qBraid/qbraid-lab-demo/blob/045c7a8fbdcae66a7e64533dd9fe0e981dc02cf4/qbraid_lab/quantum_jobs/aws_quantum_jobs.ipynb).
|
|
@@ -59,63 +71,73 @@ For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/p
|
|
|
59
71
|
|
|
60
72
|
## Basic Commands
|
|
61
73
|
|
|
62
|
-
```
|
|
74
|
+
```shell
|
|
63
75
|
$ qbraid
|
|
64
|
-
|
|
65
|
-
* Welcome to the qBraid CLI! *
|
|
66
|
-
|
|
76
|
+
----------------------------------
|
|
77
|
+
* Welcome to the qBraid CLI! *
|
|
78
|
+
----------------------------------
|
|
67
79
|
|
|
68
|
-
|
|
80
|
+
____ _ _
|
|
81
|
+
__ _| __ ) _ __ __ _(_) __| |
|
|
82
|
+
/ _` | _ \| '__/ _` | |/ _` |
|
|
83
|
+
| (_| | |_) | | | (_| | | (_| |
|
|
84
|
+
\__,_|____/|_| \__,_|_|\__,_|
|
|
85
|
+
|_|
|
|
69
86
|
|
|
70
|
-
- Use `qbraid --version` to display the current version.
|
|
71
87
|
|
|
72
|
-
|
|
88
|
+
- Use 'qbraid --help' to see available commands.
|
|
89
|
+
|
|
90
|
+
- Use 'qbraid --version' to see the current version.
|
|
91
|
+
|
|
92
|
+
Reference Docs: https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html
|
|
73
93
|
```
|
|
74
94
|
|
|
75
95
|
A qBraid CLI command has the following structure:
|
|
76
96
|
|
|
77
|
-
```
|
|
97
|
+
```shell
|
|
78
98
|
$ qbraid <command> <subcommand> [options and parameters]
|
|
79
99
|
```
|
|
80
100
|
|
|
81
101
|
For example, to list installed environments, the command would be:
|
|
82
102
|
|
|
83
|
-
```
|
|
103
|
+
```shell
|
|
84
104
|
$ qbraid envs list
|
|
85
105
|
```
|
|
86
106
|
|
|
87
107
|
To view help documentation, use one of the following:
|
|
88
108
|
|
|
89
|
-
```
|
|
90
|
-
$ qbraid help
|
|
91
|
-
$ qbraid <command> help
|
|
92
|
-
$ qbraid <command> <subcommand> help
|
|
109
|
+
```shell
|
|
110
|
+
$ qbraid --help
|
|
111
|
+
$ qbraid <command> --help
|
|
112
|
+
$ qbraid <command> <subcommand> --help
|
|
93
113
|
```
|
|
94
114
|
|
|
95
115
|
For example:
|
|
96
116
|
|
|
97
|
-
```
|
|
98
|
-
$ qbraid help
|
|
99
|
-
|
|
100
|
-
Group
|
|
101
|
-
qbraid
|
|
117
|
+
```shell
|
|
118
|
+
$ qbraid --help
|
|
102
119
|
|
|
103
|
-
|
|
104
|
-
envs : Manage qBraid environments.
|
|
105
|
-
kernels : Manage qBraid kernels.
|
|
106
|
-
jobs : Manage qBraid Quantum Jobs.
|
|
120
|
+
Usage: qbraid [OPTIONS] COMMAND [ARGS]...
|
|
107
121
|
|
|
108
|
-
|
|
109
|
-
-V, --version : Show version and exit
|
|
122
|
+
The qBraid CLI.
|
|
110
123
|
|
|
111
|
-
|
|
112
|
-
|
|
124
|
+
Options
|
|
125
|
+
--version Show the version and exit.
|
|
126
|
+
--install-completion Install completion for the current shell.
|
|
127
|
+
--show-completion Show completion for the current shell, to copy it or customize the installation.
|
|
128
|
+
--help Show this message and exit.
|
|
113
129
|
|
|
114
|
-
|
|
130
|
+
Commands
|
|
131
|
+
configure Configure qBraid CLI options.
|
|
132
|
+
credits Manage qBraid credits.
|
|
133
|
+
devices Manage qBraid quantum devices.
|
|
134
|
+
envs Manage qBraid environments.
|
|
135
|
+
jobs Manage qBraid quantum jobs.
|
|
136
|
+
kernels Manage qBraid kernels.
|
|
115
137
|
```
|
|
116
138
|
|
|
117
139
|
To get the version of the qBraid CLI:
|
|
118
140
|
|
|
119
|
-
```
|
|
141
|
+
```shell
|
|
120
142
|
$ qbraid --version
|
|
121
143
|
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
qbraid_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
qbraid_cli/_version.py,sha256=vspFLRfYI6gAAN7kyihey2lhPos0jxqKaNDWFlKPlmU,411
|
|
3
|
+
qbraid_cli/exceptions.py,sha256=KjlhYJhSHMVazaNiBjD_Ur06w4sekP8zRsFzBdyIpno,672
|
|
4
|
+
qbraid_cli/handlers.py,sha256=i3vdRtdy4bZKg3j6fwfVMz1ddhMgzlc2hhmj-vewxpI,6542
|
|
5
|
+
qbraid_cli/main.py,sha256=IRKazFqtFpoiq_xOtqb-IXDKAVs4lacFIRCQCoiGNF4,2503
|
|
6
|
+
qbraid_cli/admin/__init__.py,sha256=Suo_L1_yBodCvLM_fpw8gRIhD4mVVOXKObtxeoMaBVo,150
|
|
7
|
+
qbraid_cli/admin/app.py,sha256=__6lo-iFsbfz-ayD1-AS8X1z_gYhCad1NK17hnrL7HY,1451
|
|
8
|
+
qbraid_cli/admin/headers.py,sha256=oE2Ry9221ZV4tgYqFJNHAPilDw72xR3LqG_gBw7BFxM,6667
|
|
9
|
+
qbraid_cli/admin/validation.py,sha256=LkAVXlHtM0MhCa34MIWrfX59wGXMVlZmdVB4-AQ8fBk,1003
|
|
10
|
+
qbraid_cli/configure/__init__.py,sha256=6GU7vR6JYRGcMsmdrpFbwLO5VSUmnLgwSbtmGWMQND4,158
|
|
11
|
+
qbraid_cli/configure/actions.py,sha256=3rrWHaCAsogyx0Ll-lcjbSzldD4kPuz1z6VQiWebSWw,3203
|
|
12
|
+
qbraid_cli/configure/app.py,sha256=1uRe2lkUA4TtYb5b4mbD4LH-cKCbsZGT3Wfk7fpNzX0,2414
|
|
13
|
+
qbraid_cli/credits/__init__.py,sha256=t-3XAJFAXiu_jI4sgjaIOuNne_AoSYaSEsi-SSRkvPw,154
|
|
14
|
+
qbraid_cli/credits/app.py,sha256=iHikmjx8pylMFNzHckuauOg-Nb9pS7xQq_H75ibVJig,774
|
|
15
|
+
qbraid_cli/devices/__init__.py,sha256=_PU3eMQRV4DkPw-oCmfCPh8EbVmgG76ieEKuNsY9Xqc,154
|
|
16
|
+
qbraid_cli/devices/app.py,sha256=zxSxrEQn7irkJoME4S_CBnRqWeB8cqPaBsIMfpdYFk0,2530
|
|
17
|
+
qbraid_cli/devices/validation.py,sha256=YhShyUufgrKnx2XjXOXF-PqFJYklJT9CgeqIwKcNam4,809
|
|
18
|
+
qbraid_cli/envs/__init__.py,sha256=YgIoMWxfGqzmwfypO5JHYuCOu6BfFwb9NHgQel1IJM8,148
|
|
19
|
+
qbraid_cli/envs/activate.py,sha256=VpvVYSfQDlcmlNWJOgkLIQ2p8YXPPLG8Jbl5t8GHUDw,2140
|
|
20
|
+
qbraid_cli/envs/app.py,sha256=t6bRwJGy-M3PAu870ZsttsM8tpSB0OFasgCJiV9nTSA,8620
|
|
21
|
+
qbraid_cli/envs/create.py,sha256=uCRex_TcFYw26jUOU06Ta5I8Mq5pRqLVaOE6MxrrExs,4337
|
|
22
|
+
qbraid_cli/envs/data_handling.py,sha256=mTVzsj6KleeeYDKGhgD-IesF9KQQMSszKFSEo8Wrv9w,4001
|
|
23
|
+
qbraid_cli/jobs/__init__.py,sha256=bj9XmZ4JL8OtMMZbHIu-DPhpOMXGLSB-W1b0wO7wKro,148
|
|
24
|
+
qbraid_cli/jobs/app.py,sha256=kmg9mYla3Nd7EdjQlFu7IOvm7sejLNfPPA6Qeet-IfE,4898
|
|
25
|
+
qbraid_cli/jobs/toggle_braket.py,sha256=d5C_Di80jWMFlh-77eH8YY9pjMKWXK5abenUDtPlE_I,6662
|
|
26
|
+
qbraid_cli/jobs/validation.py,sha256=xNbjUggMhUs4wzkuRm4PuFPi_wrElYicUgYXLznHz3U,2983
|
|
27
|
+
qbraid_cli/kernels/__init__.py,sha256=VhpBota_v7OoiGxrPCqJU4XBVcolf81mbCYGSxXzVhc,154
|
|
28
|
+
qbraid_cli/kernels/app.py,sha256=ZJWVdKzCDfzGnA1pqp01vDbE7fh8p84jC-y6DDgWlxc,3373
|
|
29
|
+
qbraid_cli-0.8.0.dist-info/METADATA,sha256=pzzAXIOWje3oLOPHOM6F0Va9C6hk1-eKa3HzezY9B8Y,5914
|
|
30
|
+
qbraid_cli-0.8.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
31
|
+
qbraid_cli-0.8.0.dist-info/entry_points.txt,sha256=c5ZJ7NjbxhDqMpou9q5F03_b_KG34HzFDijIDmEIwgQ,47
|
|
32
|
+
qbraid_cli-0.8.0.dist-info/top_level.txt,sha256=LTYJgeYSCHo9Il8vZu0yIPuGdGyNaIw6iRy6BeoZo8o,11
|
|
33
|
+
qbraid_cli-0.8.0.dist-info/RECORD,,
|
qbraid_cli/_display.py
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Module for utility functions used in displaying data to user
|
|
3
|
-
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import sys
|
|
7
|
-
import time
|
|
8
|
-
from typing import TYPE_CHECKING
|
|
9
|
-
|
|
10
|
-
if TYPE_CHECKING:
|
|
11
|
-
import threading
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def print_progress_linear(
|
|
15
|
-
stop_event: "threading.Event", message: str, interval: float
|
|
16
|
-
) -> None:
|
|
17
|
-
"""Prints progressing dots on the same line to indicate a process is running."""
|
|
18
|
-
sys.stdout.write(message)
|
|
19
|
-
while not stop_event.is_set():
|
|
20
|
-
sys.stdout.write(".")
|
|
21
|
-
sys.stdout.flush()
|
|
22
|
-
time.sleep(interval)
|
|
23
|
-
sys.stdout.write(" done.\n\n")
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def print_progress_cycle(
|
|
27
|
-
stop_event: "threading.Event", message: str, interval: float
|
|
28
|
-
) -> None:
|
|
29
|
-
"""Prints progressing dots on the same line to indicate a process is running,
|
|
30
|
-
cycling from 1 to 4 dots and resetting to 0. Ends with exactly four dots before 'done'.
|
|
31
|
-
"""
|
|
32
|
-
dot_count = 0
|
|
33
|
-
|
|
34
|
-
while not stop_event.is_set():
|
|
35
|
-
sys.stdout.write("\r" + message + "." * dot_count)
|
|
36
|
-
sys.stdout.flush()
|
|
37
|
-
dot_count = (dot_count + 1) % 5
|
|
38
|
-
if dot_count == 0:
|
|
39
|
-
sys.stdout.write("\r" + message + " ")
|
|
40
|
-
sys.stdout.flush()
|
|
41
|
-
dot_count = 1
|
|
42
|
-
time.sleep(interval)
|
|
43
|
-
|
|
44
|
-
sys.stdout.write("\r" + message + "...." + " done.\n\n")
|