qbraid-cli 0.8.0.dev0__tar.gz → 0.8.0.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.

Potentially problematic release.


This version of qbraid-cli might be problematic. Click here for more details.

Files changed (150) hide show
  1. qbraid-cli-0.8.0.dev3/.env.example +3 -0
  2. qbraid-cli-0.8.0.dev3/.github/PULL_REQUEST_TEMPLATE.md +3 -0
  3. qbraid-cli-0.8.0.dev3/.github/workflows/docs.yml +39 -0
  4. qbraid-cli-0.8.0.dev3/.github/workflows/format.yml +34 -0
  5. qbraid-cli-0.8.0.dev3/.github/workflows/main.yml +72 -0
  6. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/.github/workflows/publish.yml +1 -0
  7. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/.gitignore +2 -1
  8. qbraid-cli-0.8.0.dev3/.readthedocs.yml +22 -0
  9. qbraid-cli-0.8.0.dev3/CONTRIBUTING.md +112 -0
  10. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/MANIFEST.IN +3 -2
  11. qbraid-cli-0.8.0.dev3/Makefile +52 -0
  12. {qbraid-cli-0.8.0.dev0/qbraid_cli.egg-info → qbraid-cli-0.8.0.dev3}/PKG-INFO +58 -42
  13. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/README.md +42 -30
  14. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/conf.py +11 -10
  15. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/guide/overview.rst +9 -8
  16. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/index.rst +7 -5
  17. qbraid-cli-0.8.0.dev3/docs/requirements.txt +7 -0
  18. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/pyproject.toml +22 -11
  19. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/_version.py +2 -2
  20. qbraid-cli-0.8.0.dev3/qbraid_cli/configure/__init__.py +9 -0
  21. qbraid-cli-0.8.0.dev3/qbraid_cli/configure/actions.py +111 -0
  22. qbraid-cli-0.8.0.dev3/qbraid_cli/configure/app.py +54 -0
  23. qbraid-cli-0.8.0.dev3/qbraid_cli/credits/__init__.py +9 -0
  24. qbraid-cli-0.8.0.dev3/qbraid_cli/credits/app.py +32 -0
  25. qbraid-cli-0.8.0.dev3/qbraid_cli/devices/__init__.py +9 -0
  26. qbraid-cli-0.8.0.dev3/qbraid_cli/devices/app.py +80 -0
  27. qbraid-cli-0.8.0.dev3/qbraid_cli/devices/validation.py +27 -0
  28. qbraid-cli-0.8.0.dev3/qbraid_cli/envs/__init__.py +9 -0
  29. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/envs/activate.py +8 -5
  30. qbraid-cli-0.8.0.dev3/qbraid_cli/envs/app.py +270 -0
  31. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/envs/create.py +7 -14
  32. qbraid-cli-0.8.0.dev3/qbraid_cli/envs/data_handling.py +140 -0
  33. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/exceptions.py +3 -0
  34. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/handlers.py +4 -1
  35. qbraid-cli-0.8.0.dev3/qbraid_cli/jobs/__init__.py +9 -0
  36. qbraid-cli-0.8.0.dev3/qbraid_cli/jobs/app.py +150 -0
  37. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/jobs/toggle_braket.py +25 -23
  38. qbraid-cli-0.8.0.dev3/qbraid_cli/jobs/validation.py +74 -0
  39. qbraid-cli-0.8.0.dev3/qbraid_cli/kernels/__init__.py +9 -0
  40. qbraid-cli-0.8.0.dev3/qbraid_cli/kernels/app.py +111 -0
  41. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/main.py +15 -8
  42. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3/qbraid_cli.egg-info}/PKG-INFO +58 -42
  43. qbraid-cli-0.8.0.dev3/qbraid_cli.egg-info/SOURCES.txt +125 -0
  44. qbraid-cli-0.8.0.dev3/qbraid_cli.egg-info/requires.txt +20 -0
  45. qbraid-cli-0.8.0.dev3/tests/__init__.py +0 -0
  46. qbraid-cli-0.8.0.dev3/tests/test_configure/__init__.py +0 -0
  47. qbraid-cli-0.8.0.dev3/tests/test_configure/test_configure_set.py +37 -0
  48. qbraid-cli-0.8.0.dev3/tests/test_configure/test_prompt_for_config.py +39 -0
  49. qbraid-cli-0.8.0.dev3/tests/test_configure/test_validate_input.py +54 -0
  50. qbraid-cli-0.8.0.dev3/tests/test_credits/__init__.py +0 -0
  51. qbraid-cli-0.8.0.dev3/tests/test_credits/test_credits_value.py +41 -0
  52. qbraid-cli-0.8.0.dev3/tests/test_devices/__init__.py +0 -0
  53. qbraid-cli-0.8.0.dev3/tests/test_devices/test_devices_list.py +87 -0
  54. qbraid-cli-0.8.0.dev3/tests/test_devices/test_validations.py +72 -0
  55. qbraid-cli-0.8.0.dev3/tests/test_envs/__init__.py +0 -0
  56. qbraid-cli-0.8.0.dev3/tests/test_envs/test_activate/__init__.py +0 -0
  57. qbraid-cli-0.8.0.dev3/tests/test_envs/test_activate/test_activate_pyenv.py +70 -0
  58. qbraid-cli-0.8.0.dev3/tests/test_envs/test_activate/test_find_shell_rc.py +54 -0
  59. qbraid-cli-0.8.0.dev3/tests/test_envs/test_activate/test_print_activate_command.py +38 -0
  60. qbraid-cli-0.8.0.dev3/tests/test_envs/test_app/__init__.py +0 -0
  61. qbraid-cli-0.8.0.dev3/tests/test_envs/test_app/test_envs_activate.py +42 -0
  62. qbraid-cli-0.8.0.dev3/tests/test_envs/test_app/test_envs_create.py +67 -0
  63. qbraid-cli-0.8.0.dev3/tests/test_envs/test_app/test_envs_list.py +37 -0
  64. qbraid-cli-0.8.0.dev3/tests/test_envs/test_app/test_envs_remove.py +31 -0
  65. qbraid-cli-0.8.0.dev3/tests/test_envs/test_create/__init__.py +0 -0
  66. qbraid-cli-0.8.0.dev3/tests/test_envs/test_create/test_create_qbraid_env_assets.py +82 -0
  67. qbraid-cli-0.8.0.dev3/tests/test_envs/test_create/test_replace_str.py +25 -0
  68. qbraid-cli-0.8.0.dev3/tests/test_envs/test_create/test_update_state_json.py +61 -0
  69. qbraid-cli-0.8.0.dev3/tests/test_envs/test_data_handling/__init__.py +0 -0
  70. qbraid-cli-0.8.0.dev3/tests/test_envs/test_data_handling/test_installed_envs_data.py +87 -0
  71. qbraid-cli-0.8.0.dev3/tests/test_envs/test_data_handling/test_is_valid_env_name.py +43 -0
  72. qbraid-cli-0.8.0.dev3/tests/test_envs/test_data_handling/test_request_delete_env.py +31 -0
  73. qbraid-cli-0.8.0.dev3/tests/test_envs/test_data_handling/test_validate_env_name.py +31 -0
  74. qbraid-cli-0.8.0.dev3/tests/test_jobs/__init__.py +0 -0
  75. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_app/__init__.py +0 -0
  76. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_app/test_jobs_disable.py +49 -0
  77. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_app/test_jobs_enable.py +67 -0
  78. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_app/test_jobs_list.py +62 -0
  79. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_app/test_jobs_state.py +32 -0
  80. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/__init__.py +0 -0
  81. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/test_aws_configure_dummy.py +49 -0
  82. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/test_confirm_updates.py +52 -0
  83. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/test_disable_braket.py +101 -0
  84. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/test_enable_braket.py +104 -0
  85. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_toggle_braket/test_get_package_data.py +161 -0
  86. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_validation/__init__.py +0 -0
  87. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_validation/test_get_state.py +46 -0
  88. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_validation/test_handle_jobs_state.py +61 -0
  89. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_validation/test_run_progress_get_state.py +43 -0
  90. qbraid-cli-0.8.0.dev3/tests/test_jobs/test_validation/test_validate_library.py +35 -0
  91. qbraid-cli-0.8.0.dev3/tests/test_kernels/__init__.py +0 -0
  92. qbraid-cli-0.8.0.dev3/tests/test_kernels/test_kernels_list.py +74 -0
  93. qbraid-cli-0.8.0.dev3/tools/split_rst.py +116 -0
  94. qbraid-cli-0.8.0.dev3/tools/verify_headers.py +209 -0
  95. qbraid-cli-0.8.0.dev0/.env-example +0 -3
  96. qbraid-cli-0.8.0.dev0/.github/PULL_REQUEST_TEMPLATE.md +0 -3
  97. qbraid-cli-0.8.0.dev0/.github/workflows/docs.yml +0 -27
  98. qbraid-cli-0.8.0.dev0/.github/workflows/format.yml +0 -25
  99. qbraid-cli-0.8.0.dev0/.idea/workspace.xml +0 -151
  100. qbraid-cli-0.8.0.dev0/.readthedocs.yml +0 -14
  101. qbraid-cli-0.8.0.dev0/CONTRIBUTING.md +0 -63
  102. qbraid-cli-0.8.0.dev0/docs/requirements.txt +0 -3
  103. qbraid-cli-0.8.0.dev0/qbraid_cli/configure/__init__.py +0 -6
  104. qbraid-cli-0.8.0.dev0/qbraid_cli/configure/app.py +0 -152
  105. qbraid-cli-0.8.0.dev0/qbraid_cli/credits/__init__.py +0 -6
  106. qbraid-cli-0.8.0.dev0/qbraid_cli/credits/app.py +0 -30
  107. qbraid-cli-0.8.0.dev0/qbraid_cli/devices/__init__.py +0 -6
  108. qbraid-cli-0.8.0.dev0/qbraid_cli/devices/app.py +0 -72
  109. qbraid-cli-0.8.0.dev0/qbraid_cli/envs/__init__.py +0 -6
  110. qbraid-cli-0.8.0.dev0/qbraid_cli/envs/app.py +0 -222
  111. qbraid-cli-0.8.0.dev0/qbraid_cli/jobs/__init__.py +0 -6
  112. qbraid-cli-0.8.0.dev0/qbraid_cli/jobs/app.py +0 -165
  113. qbraid-cli-0.8.0.dev0/qbraid_cli/kernels/__init__.py +0 -6
  114. qbraid-cli-0.8.0.dev0/qbraid_cli/kernels/app.py +0 -29
  115. qbraid-cli-0.8.0.dev0/qbraid_cli.egg-info/SOURCES.txt +0 -71
  116. qbraid-cli-0.8.0.dev0/qbraid_cli.egg-info/requires.txt +0 -18
  117. qbraid-cli-0.8.0.dev0/requirements.txt +0 -6
  118. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  119. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  120. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/.github/workflows/test-publish.yml +0 -0
  121. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/Makefile +0 -0
  122. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/api-key.png +0 -0
  123. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/cards/jupyter.png +0 -0
  124. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/cards/python.png +0 -0
  125. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/cards/terminal.png +0 -0
  126. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/favicon.ico +0 -0
  127. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/logo.png +0 -0
  128. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/style/custom.css +0 -0
  129. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/_static/style/s4defs-roles.css +0 -0
  130. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/configure.rst +0 -0
  131. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/credits.rst +0 -0
  132. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/devices-list.rst +0 -0
  133. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/devices.rst +0 -0
  134. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/envs-activate.rst +0 -0
  135. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/envs-list.rst +0 -0
  136. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/envs-uninstall.rst +0 -0
  137. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/envs.rst +0 -0
  138. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/jobs-add.rst +0 -0
  139. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/jobs-disable.rst +0 -0
  140. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/jobs-enable.rst +0 -0
  141. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/jobs-list.rst +0 -0
  142. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/jobs.rst +0 -0
  143. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/kernels.rst +0 -0
  144. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/cli/qbraid.rst +0 -0
  145. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/docs/make.bat +0 -0
  146. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli/__init__.py +0 -0
  147. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli.egg-info/dependency_links.txt +0 -0
  148. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli.egg-info/entry_points.txt +0 -0
  149. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/qbraid_cli.egg-info/top_level.txt +0 -0
  150. {qbraid-cli-0.8.0.dev0 → qbraid-cli-0.8.0.dev3}/setup.cfg +0 -0
@@ -0,0 +1,3 @@
1
+ QBRAID_API_KEY= # YOURAPIKEY
2
+ QBRAID_ENVS_PATH= # default: ~/.qbraid/environments
3
+ QBRAID_CONFIG_FILE= # default: ~/.qbraid/qbraidrc
@@ -0,0 +1,3 @@
1
+ <!-- Please link or tag any issues that is PR closes -->
2
+
3
+ ## Changes
@@ -0,0 +1,39 @@
1
+ name: Build Docs
2
+
3
+ on:
4
+ pull_request:
5
+ branches: ['main']
6
+ push:
7
+ branches: ['main']
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v4
18
+ with:
19
+ python-version: '3.10'
20
+ cache: pip
21
+ - name: Install dependencies
22
+ run: |
23
+ python -m pip install --upgrade pip setuptools
24
+ python -m pip install -r docs/requirements.txt
25
+ - name: Build & install package
26
+ run: |
27
+ python -m build .
28
+ python -m pip install dist/*.whl
29
+ - name: Generate docs assets
30
+ run: |
31
+ python -c "import pathlib; pathlib.Path('docs/tree').mkdir(parents=True, exist_ok=True)"
32
+ python -c "import glob, os; [os.remove(f) for f in glob.glob('docs/tree/*.rst')]"
33
+ typer qbraid_cli.main utils docs --name=qbraid --output=docs/tree/qbraid.md
34
+ m2r docs/tree/qbraid.md
35
+ python -c "import os; os.remove('docs/tree/qbraid.md')"
36
+ python tools/split_rst.py docs/tree/qbraid.rst
37
+ - name: Build docs
38
+ run: |
39
+ sphinx-build -W -b html docs docs/build/html
@@ -0,0 +1,34 @@
1
+ name: Formatting check
2
+
3
+ on:
4
+ pull_request:
5
+ branches: ['main']
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ main:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Python
15
+ uses: actions/setup-python@v4
16
+ with:
17
+ python-version: '3.10'
18
+ - name: Install dependencies
19
+ run: |
20
+ pip install --upgrade pip
21
+ pip install black isort pylint
22
+ - name: Check isort, black, pylint
23
+ run: |
24
+ black --check qbraid_cli tests tools
25
+ isort --check-only qbraid_cli tests tools
26
+ # if pylint qbraid_cli tests tools --disable=C0415,R0914,W0511 2>&1 | grep 'Your code has been rated at 10\.00/10' > /dev/null; then
27
+ # echo "Perfect pylint score!"
28
+ # else
29
+ # echo "Pylint score is not 10/10."
30
+ # exit 1
31
+ # fi
32
+ - name: Check copyright headers
33
+ run: |
34
+ python tools/verify_headers.py qbraid_cli tests tools --skip qbraid_cli/_version.py
@@ -0,0 +1,72 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: ['main']
6
+ push:
7
+ branches: ['main']
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ matrix:
15
+ python-version: ['3.11']
16
+
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - name: Set up Python ${{ matrix.python-version }}
20
+ uses: actions/setup-python@v4
21
+ with:
22
+ python-version: ${{ matrix.python-version }}
23
+ cache: pip
24
+ - name: Upgrade pip and install build tools
25
+ run: |
26
+ pip install --upgrade pip
27
+ pip install setuptools wheel build
28
+ - name: Build the package
29
+ run: |
30
+ python -m build
31
+ - name: Upload built package
32
+ uses: actions/upload-artifact@v3
33
+ with:
34
+ name: built-package
35
+ path: dist/*.whl
36
+
37
+ test:
38
+ needs: build
39
+ runs-on: ${{ matrix.os }}
40
+ strategy:
41
+ matrix:
42
+ os: [ubuntu-latest, windows-latest]
43
+ python-version: ['3.9', '3.10', '3.11', '3.12']
44
+
45
+ steps:
46
+ - uses: actions/checkout@v3
47
+ - name: Set up Python ${{ matrix.python-version }}
48
+ uses: actions/setup-python@v4
49
+ with:
50
+ python-version: ${{ matrix.python-version }}
51
+ cache: pip
52
+ - name: Download built package
53
+ uses: actions/download-artifact@v3
54
+ with:
55
+ name: built-package
56
+ path: dist
57
+ - name: Install package
58
+ run: |
59
+ if ($env:RUNNER_OS -eq "Windows") {
60
+ Get-ChildItem dist/*.whl | ForEach-Object { pip install $_.FullName }
61
+ } else {
62
+ pip install dist/*.whl
63
+ }
64
+ shell: pwsh
65
+ - name: Install testing dependencies
66
+ run: |
67
+ pip install pytest
68
+ - name: Run tests with pytest
69
+ run: |
70
+ pytest
71
+ env:
72
+ QBRAID_API_KEY: ${{ secrets.QBRAID_API_KEY }}
@@ -8,6 +8,7 @@ on:
8
8
  jobs:
9
9
  pypi-publish:
10
10
  name: Build dist & upload to PyPI
11
+ environment: publish
11
12
  runs-on: ubuntu-latest
12
13
  steps:
13
14
  - uses: actions/checkout@v3
@@ -28,6 +28,7 @@ MANIFEST
28
28
 
29
29
  # ignore autogenerated _version.py file
30
30
  qbraid_cli/_version.py
31
+ docs/tree/*
31
32
 
32
33
  # PyInstaller
33
34
  # Usually these files are written by a python script from a template
@@ -160,4 +161,4 @@ cython_debug/
160
161
  # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
161
162
  # and can be added to the global gitignore or merged into this file. For a more nuclear
162
163
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
163
- #.idea/
164
+ .idea/
@@ -0,0 +1,22 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the version of Python and other tools you might need
8
+ build:
9
+ os: ubuntu-20.04
10
+ tools:
11
+ python: "3.10"
12
+ commands:
13
+ - pip install -r docs/requirements.txt
14
+ - python -m build .
15
+ - python -m pip install dist/*.whl
16
+ - mkdir -p docs/tree
17
+ - rm -f docs/tree/*.rst
18
+ - typer qbraid_cli.main utils docs --name=qbraid --output=docs/tree/qbraid.md
19
+ - m2r docs/tree/qbraid.md
20
+ - rm docs/tree/qbraid.md
21
+ - python tools/split_rst.py docs/tree/qbraid.rst
22
+ - sphinx-build -W -b html docs $READTHEDOCS_OUTPUT/html
@@ -0,0 +1,112 @@
1
+ # Contributing
2
+
3
+ Welcome! We're delighted that you're interested in contributing. Your help is essential for keeping the project great.
4
+
5
+ ## Getting Started
6
+
7
+ Before you start working on a new feature or a fix, here's how you can contribute:
8
+
9
+ 1. **Fork the repository**: Visit the GitHub page of our project and use the "Fork" button to create a copy of the project in your own GitHub account.
10
+ 2. **Create a Development Branch**: After forking, clone the repository to your local machine and create a new branch for your development. Use a descriptive name for your branch, such as `feature-<feature-name>` or `bugfix-<bug-description>`.
11
+ 3. **Commit Your Changes**: Make your changes in your development branch and commit them. Be sure to write clear, concise commit messages.
12
+ 4. **Push to Your Fork**: Push your changes to your forked repository on GitHub.
13
+ 5. **Create a Pull Request**: Go to the original project repository and click on "Pull Requests", then click the "New Pull Request" button
14
+
15
+ ### Development install
16
+
17
+ You can install the qBraid-CLI from source by cloning this repository and running a pip install command in the root directory:
18
+
19
+ ```bash
20
+ git clone https://github.com/qBraid/qBraid-CLI.git
21
+ cd qBraid-CLI
22
+ pip install -e .
23
+ ```
24
+
25
+ *Note*: The current CLI configuration assumes a Linux-based filesystem. However, our goal is to move towards a platform agnostic version soon.
26
+
27
+ You can verify that the setup has been successful by checking the qBraid-CLI version with the following command:
28
+
29
+ ```bash
30
+ qbraid --version
31
+ ```
32
+
33
+ To view available `make` commands, run:
34
+
35
+ ```shell
36
+ make help
37
+ ```
38
+
39
+ ## Testing
40
+
41
+ Install test dependencies:
42
+
43
+ ```shell
44
+ pip install pytest
45
+ ```
46
+
47
+ And run tests:
48
+
49
+ ```shell
50
+ pytest tests
51
+ ```
52
+
53
+ You can also run tests with make:
54
+
55
+ ```shell
56
+ make test
57
+ ```
58
+
59
+ ## Build docs
60
+
61
+ To generate the API reference documentation locally, install the necessary requirements:
62
+
63
+ ```shell
64
+ pip install -r docs/requirements.txt
65
+ ```
66
+
67
+ And then run
68
+
69
+ ```shell
70
+ make docs
71
+ ```
72
+
73
+ Alternatively, you can generate command tree `.rst` files step-by-step:
74
+
75
+ ```shell
76
+ mkdir docs/tree
77
+ typer qbraid_cli.main utils docs --name=qbraid --output=docs/tree/qbraid.md
78
+ m2r docs/tree/qbraid.md
79
+ rm docs/tree/qbraid.md
80
+ python tools/split_rst.py docs/tree/qbraid.rst
81
+ ```
82
+
83
+ And then, build the docs:
84
+
85
+ ```shell
86
+ sphinx-build -W -b html docs docs/build/html
87
+ ```
88
+
89
+ You can view the generated documentation in your browser (on OS X) using:
90
+
91
+ ```shell
92
+ open docs/build/html/index.html
93
+ ```
94
+
95
+ ## Code style
96
+
97
+ For code style, our project uses a combination of [isort](https://github.com/PyCQA/isort), [pylint](https://github.com/pylint-dev/pylint),
98
+ and [black](https://github.com/psf/black). Specific configurations for these tools should be added to [`pyproject.toml`](pyproject.toml).
99
+
100
+ Install linters:
101
+
102
+ ```shell
103
+ pip install black isort pylint
104
+ ```
105
+
106
+ Run the following and make changes as needed to satisfy format checks:
107
+
108
+ ```shell
109
+ black qbraid_cli tests tools
110
+ isort qbraid_cli tests tools
111
+ pylint qbraid_cli tests tools
112
+ ```
@@ -1,4 +1,5 @@
1
1
  include *.txt *.md
2
2
  recursive-include docs *.txt *.rst *.py *.png *.ico
3
- recursive-include src *.py *.sh
4
- prune docs/build/
3
+ recursive-include qbraid_cli *.py
4
+ prune docs/build/
5
+ prune docs/cli/
@@ -0,0 +1,52 @@
1
+ .PHONY: help docs clean build check_dependencies
2
+
3
+ DOCS_DIR := docs
4
+ BUILD_DIR := $(DOCS_DIR)/build
5
+ TREE_DIR := $(DOCS_DIR)/tree
6
+ DIST_DIR := dist
7
+ SRC_DIR := qbraid_cli
8
+ TOOLS_DIR := tools
9
+ TESTS_DIR := tests
10
+
11
+ .DEFAULT_GOAL := help
12
+
13
+ help: ## Display this help message
14
+ @echo "Available commands:"
15
+ @echo
16
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-30s\033[0m %s\n", $$1, $$2}'
17
+ @echo
18
+
19
+ docs: check_dependencies_docs check_build_version ## Generate documentation
20
+ @python -c "import pathlib; pathlib.Path('$(TREE_DIR)').mkdir(parents=True, exist_ok=True)"
21
+ @python -c "import glob, os; [os.remove(f) for f in glob.glob('$(TREE_DIR)/*.rst')]"
22
+ @typer qbraid_cli.main utils docs --name=qbraid --output=$(TREE_DIR)/qbraid.md
23
+ @m2r $(TREE_DIR)/qbraid.md
24
+ @python -c "import os; os.remove('$(TREE_DIR)/qbraid.md')"
25
+ @python $(TOOLS_DIR)/split_rst.py $(TREE_DIR)/qbraid.rst
26
+ @sphinx-build -W -b html $(DOCS_DIR) $(BUILD_DIR)
27
+
28
+ test: check_dependencies_test ## Run tests with pytest
29
+ @python -m pytest $(TESTS_DIR)
30
+
31
+ clean: ## Clean up generated docs and build artifacts
32
+ @python -c "import shutil; shutil.rmtree('$(BUILD_DIR)', ignore_errors=True)"
33
+ @python -c "import shutil; shutil.rmtree('$(TREE_DIR)', ignore_errors=True)"
34
+ @python -c "import shutil; shutil.rmtree('$(DIST_DIR)', ignore_errors=True)"
35
+ @python -c "import os; os.remove('$(SRC_DIR)/_version.py') if os.path.exists('$(SRC_DIR)/_version.py') else None"
36
+
37
+ build: check_dependencies_build ## Build the package
38
+ @python -m build .
39
+
40
+ check_build_version:
41
+ @python -c "import os; assert os.path.exists('$(SRC_DIR)/_version.py'), 'Error: $(SRC_DIR)/_version.py does not exist. Please \'make build\' before proceeding.'"
42
+
43
+ check_dependencies_docs:
44
+ @command -v typer >/dev/null 2>&1 || { echo >&2 "Error: Python 'typer-cli' module is not installed. Please install it to proceed."; exit 1; }
45
+ @command -v m2r >/dev/null 2>&1 || { echo >&2 "Error: Python 'm2r' module is not installed. Please install it to proceed."; exit 1; }
46
+ @command -v sphinx-build >/dev/null 2>&1 || { echo >&2 "Error: Python 'sphinx' module is not installed. Please install it to proceed."; exit 1; }
47
+
48
+ check_dependencies_test:
49
+ @python -c "import pytest" 2>/dev/null || { echo >&2 "Error: Python 'pytest' module is not installed. Please install it to proceed."; exit 1; }
50
+
51
+ check_dependencies_build:
52
+ @python -c "import build" 2>/dev/null || { echo >&2 "Error: Python 'build' module is not installed. Please install it to proceed."; exit 1; }
@@ -1,20 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qbraid-cli
3
- Version: 0.8.0.dev0
3
+ Version: 0.8.0.dev3
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
7
7
  Project-URL: Homepage, https://www.qbraid.com/
8
- Project-URL: Documentation, https://docs.qbraid.com/projects/cli/en/latest/cli/qbraid.html
8
+ Project-URL: Documentation, https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html
9
9
  Project-URL: Bug Tracker, https://github.com/qBraid/qBraid-Lab/issues
10
10
  Project-URL: Discord, https://discord.gg/KugF6Cnncm
11
11
  Project-URL: Launch on Lab, https://account.qbraid.com/?gitHubUrl=https://github.com/qBraid/qBraid-Lab.git
12
12
  Keywords: qbraid,cli,quantum,cloud
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
- Classifier: Intended Audience :: System Administrators
16
15
  Classifier: Natural Language :: English
17
- Classifier: Operating System :: POSIX
16
+ Classifier: License :: Other/Proprietary License
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: Operating System :: Microsoft :: Windows
19
+ Classifier: Operating System :: POSIX :: Linux
18
20
  Classifier: Programming Language :: Python
19
21
  Classifier: Programming Language :: Python :: 3
20
22
  Classifier: Programming Language :: Python :: 3 :: Only
@@ -24,28 +26,32 @@ Classifier: Programming Language :: Python :: 3.11
24
26
  Classifier: Programming Language :: Python :: 3.12
25
27
  Requires-Python: >=3.9
26
28
  Description-Content-Type: text/markdown
27
- Requires-Dist: typer[all]
28
- Requires-Dist: rich
29
- Requires-Dist: requests
30
- Requires-Dist: jupyter_client
31
- Requires-Dist: qbraid==0.5.1
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
32
+ Requires-Dist: qbraid-core>=0.1.1
32
33
  Provides-Extra: jobs
33
34
  Requires-Dist: amazon-braket-sdk>=1.48.1; extra == "jobs"
34
35
  Provides-Extra: dev
35
36
  Requires-Dist: black; extra == "dev"
36
37
  Requires-Dist: isort; extra == "dev"
37
38
  Requires-Dist: pylint; extra == "dev"
39
+ Requires-Dist: pytest; extra == "dev"
38
40
  Provides-Extra: docs
39
- Requires-Dist: sphinx~=5.3.0; extra == "docs"
40
- Requires-Dist: sphinx-rtd-theme~=1.3.0; extra == "docs"
41
- Requires-Dist: docutils~=0.18.1; extra == "docs"
41
+ Requires-Dist: sphinx~=7.2.6; extra == "docs"
42
+ Requires-Dist: sphinx-rtd-theme<2.1,>=1.3; extra == "docs"
43
+ Requires-Dist: docutils<0.21; extra == "docs"
44
+ Requires-Dist: toml; extra == "docs"
45
+ Requires-Dist: build; extra == "docs"
42
46
 
43
47
  <img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
44
48
 
45
- [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/projects/cli/en/latest/cli/qbraid.html)
49
+ [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html)
46
50
  [![PyPI version](https://img.shields.io/pypi/v/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
51
+ [![Python verions](https://img.shields.io/pypi/pyversions/qbraid-cli.svg?color=blue)](https://pypi.org/project/qbraid-cli/)
52
+ [![Downloads](https://static.pepy.tech/badge/qbraid-cli)](https://pepy.tech/project/qbraid-cli)
47
53
  [![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/qBraid-Lab/issues)
48
- [![Discord](https://img.shields.io/discord/771898982564626445.svg?color=pink)](https://discord.gg/TPBU2sa8Et)
54
+ [![Discord](https://img.shields.io/discord/771898982564626445.svg?color=pink)](https://discord.gg/KugF6Cnncm)
49
55
 
50
56
  Command Line Interface for interacting with all parts of the qBraid platform.
51
57
 
@@ -62,63 +68,73 @@ For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/p
62
68
 
63
69
  ## Basic Commands
64
70
 
65
- ```bash
71
+ ```shell
66
72
  $ qbraid
67
- -------------------------------
68
- * Welcome to the qBraid CLI! *
69
- -------------------------------
73
+ ----------------------------------
74
+ * Welcome to the qBraid CLI! *
75
+ ----------------------------------
76
+
77
+ ____ _ _
78
+ __ _| __ ) _ __ __ _(_) __| |
79
+ / _` | _ \| '__/ _` | |/ _` |
80
+ | (_| | |_) | | | (_| | | (_| |
81
+ \__,_|____/|_| \__,_|_|\__,_|
82
+ |_|
70
83
 
71
- - Use `qbraid -h` to see available commands.
72
84
 
73
- - Use `qbraid --version` to display the current version.
85
+ - Use 'qbraid --help' to see available commands.
74
86
 
75
- Reference Docs: https://docs.qbraid.com/projects/cli/en/latest/cli/qbraid.html
87
+ - Use 'qbraid --version' to see the current version.
88
+
89
+ Reference Docs: https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html
76
90
  ```
77
91
 
78
92
  A qBraid CLI command has the following structure:
79
93
 
80
- ```bash
94
+ ```shell
81
95
  $ qbraid <command> <subcommand> [options and parameters]
82
96
  ```
83
97
 
84
98
  For example, to list installed environments, the command would be:
85
99
 
86
- ```bash
100
+ ```shell
87
101
  $ qbraid envs list
88
102
  ```
89
103
 
90
104
  To view help documentation, use one of the following:
91
105
 
92
- ```bash
93
- $ qbraid help
94
- $ qbraid <command> help
95
- $ qbraid <command> <subcommand> help
106
+ ```shell
107
+ $ qbraid --help
108
+ $ qbraid <command> --help
109
+ $ qbraid <command> <subcommand> --help
96
110
  ```
97
111
 
98
112
  For example:
99
113
 
100
- ```bash
101
- $ qbraid help
102
-
103
- Group
104
- qbraid
114
+ ```shell
115
+ $ qbraid --help
105
116
 
106
- Subgroups
107
- envs : Manage qBraid environments.
108
- kernels : Manage qBraid kernels.
109
- jobs : Manage qBraid Quantum Jobs.
117
+ Usage: qbraid [OPTIONS] COMMAND [ARGS]...
110
118
 
111
- Arguments
112
- -V, --version : Show version and exit
119
+ The qBraid CLI.
113
120
 
114
- Global Arguments
115
- -h, --help : Show this help message and exit.
121
+ Options
122
+ --version Show the version and exit.
123
+ --install-completion Install completion for the current shell.
124
+ --show-completion Show completion for the current shell, to copy it or customize the installation.
125
+ --help Show this message and exit.
116
126
 
117
- Reference Docs: https://docs.qbraid.com/en/latest/cli/qbraid.html
127
+ Commands
128
+ configure Configure qBraid CLI options.
129
+ credits Manage qBraid credits.
130
+ devices Manage qBraid quantum devices.
131
+ envs Manage qBraid environments.
132
+ jobs Manage qBraid quantum jobs.
133
+ kernels Manage qBraid kernels.
118
134
  ```
119
135
 
120
136
  To get the version of the qBraid CLI:
121
137
 
122
- ```bash
138
+ ```shell
123
139
  $ qbraid --version
124
140
  ```
@@ -1,9 +1,11 @@
1
1
  <img width="full" alt="qbraid_cli" src="https://qbraid-static.s3.amazonaws.com/logos/qbraid-cli-banner.png">
2
2
 
3
- [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/projects/cli/en/latest/cli/qbraid.html)
3
+ [![Documentation](https://img.shields.io/badge/Documentation-DF0982)](https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html)
4
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
+ [![Downloads](https://static.pepy.tech/badge/qbraid-cli)](https://pepy.tech/project/qbraid-cli)
5
7
  [![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/qBraid/qBraid-Lab/issues)
6
- [![Discord](https://img.shields.io/discord/771898982564626445.svg?color=pink)](https://discord.gg/TPBU2sa8Et)
8
+ [![Discord](https://img.shields.io/discord/771898982564626445.svg?color=pink)](https://discord.gg/KugF6Cnncm)
7
9
 
8
10
  Command Line Interface for interacting with all parts of the qBraid platform.
9
11
 
@@ -20,63 +22,73 @@ For help, see qBraid Lab User Guide: [Getting Started](https://docs.qbraid.com/p
20
22
 
21
23
  ## Basic Commands
22
24
 
23
- ```bash
25
+ ```shell
24
26
  $ qbraid
25
- -------------------------------
26
- * Welcome to the qBraid CLI! *
27
- -------------------------------
27
+ ----------------------------------
28
+ * Welcome to the qBraid CLI! *
29
+ ----------------------------------
28
30
 
29
- - Use `qbraid -h` to see available commands.
31
+ ____ _ _
32
+ __ _| __ ) _ __ __ _(_) __| |
33
+ / _` | _ \| '__/ _` | |/ _` |
34
+ | (_| | |_) | | | (_| | | (_| |
35
+ \__,_|____/|_| \__,_|_|\__,_|
36
+ |_|
30
37
 
31
- - Use `qbraid --version` to display the current version.
32
38
 
33
- Reference Docs: https://docs.qbraid.com/projects/cli/en/latest/cli/qbraid.html
39
+ - Use 'qbraid --help' to see available commands.
40
+
41
+ - Use 'qbraid --version' to see the current version.
42
+
43
+ Reference Docs: https://docs.qbraid.com/projects/cli/en/stable/guide/overview.html
34
44
  ```
35
45
 
36
46
  A qBraid CLI command has the following structure:
37
47
 
38
- ```bash
48
+ ```shell
39
49
  $ qbraid <command> <subcommand> [options and parameters]
40
50
  ```
41
51
 
42
52
  For example, to list installed environments, the command would be:
43
53
 
44
- ```bash
54
+ ```shell
45
55
  $ qbraid envs list
46
56
  ```
47
57
 
48
58
  To view help documentation, use one of the following:
49
59
 
50
- ```bash
51
- $ qbraid help
52
- $ qbraid <command> help
53
- $ qbraid <command> <subcommand> help
60
+ ```shell
61
+ $ qbraid --help
62
+ $ qbraid <command> --help
63
+ $ qbraid <command> <subcommand> --help
54
64
  ```
55
65
 
56
66
  For example:
57
67
 
58
- ```bash
59
- $ qbraid help
60
-
61
- Group
62
- qbraid
68
+ ```shell
69
+ $ qbraid --help
63
70
 
64
- Subgroups
65
- envs : Manage qBraid environments.
66
- kernels : Manage qBraid kernels.
67
- jobs : Manage qBraid Quantum Jobs.
71
+ Usage: qbraid [OPTIONS] COMMAND [ARGS]...
68
72
 
69
- Arguments
70
- -V, --version : Show version and exit
73
+ The qBraid CLI.
71
74
 
72
- Global Arguments
73
- -h, --help : Show this help message and exit.
75
+ Options
76
+ --version Show the version and exit.
77
+ --install-completion Install completion for the current shell.
78
+ --show-completion Show completion for the current shell, to copy it or customize the installation.
79
+ --help Show this message and exit.
74
80
 
75
- Reference Docs: https://docs.qbraid.com/en/latest/cli/qbraid.html
81
+ Commands
82
+ configure Configure qBraid CLI options.
83
+ credits Manage qBraid credits.
84
+ devices Manage qBraid quantum devices.
85
+ envs Manage qBraid environments.
86
+ jobs Manage qBraid quantum jobs.
87
+ kernels Manage qBraid kernels.
76
88
  ```
77
89
 
78
90
  To get the version of the qBraid CLI:
79
91
 
80
- ```bash
92
+ ```shell
81
93
  $ qbraid --version
82
94
  ```