qtool-py 0.1.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 (103) hide show
  1. qtool_py-0.1.0/.github/workflows/ci.yml +50 -0
  2. qtool_py-0.1.0/.gitignore +11 -0
  3. qtool_py-0.1.0/Cargo.lock +2585 -0
  4. qtool_py-0.1.0/Cargo.toml +88 -0
  5. qtool_py-0.1.0/LICENSE +21 -0
  6. qtool_py-0.1.0/PKG-INFO +74 -0
  7. qtool_py-0.1.0/README.md +458 -0
  8. qtool_py-0.1.0/docs/bloch.gif +0 -0
  9. qtool_py-0.1.0/docs/bloch.png +0 -0
  10. qtool_py-0.1.0/docs/drag_amplitude.png +0 -0
  11. qtool_py-0.1.0/docs/drag_coeff.png +0 -0
  12. qtool_py-0.1.0/docs/drag_detuning.png +0 -0
  13. qtool_py-0.1.0/docs/iq.png +0 -0
  14. qtool_py-0.1.0/docs/qspec.png +0 -0
  15. qtool_py-0.1.0/docs/qspec_z.png +0 -0
  16. qtool_py-0.1.0/docs/rabi.png +0 -0
  17. qtool_py-0.1.0/docs/ramsey.png +0 -0
  18. qtool_py-0.1.0/docs/s21.png +0 -0
  19. qtool_py-0.1.0/docs/s21_power.png +0 -0
  20. qtool_py-0.1.0/docs/t1.png +0 -0
  21. qtool_py-0.1.0/docs/t2_echo.png +0 -0
  22. qtool_py-0.1.0/examples/bloch_demo.rs +189 -0
  23. qtool_py-0.1.0/examples/drag_amplitude_demo.rs +291 -0
  24. qtool_py-0.1.0/examples/drag_coeff_demo.rs +271 -0
  25. qtool_py-0.1.0/examples/drag_detuning_demo.rs +275 -0
  26. qtool_py-0.1.0/examples/iq_demo.rs +215 -0
  27. qtool_py-0.1.0/examples/qspec_demo.rs +155 -0
  28. qtool_py-0.1.0/examples/qspec_z_demo.rs +129 -0
  29. qtool_py-0.1.0/examples/rabi_demo.rs +178 -0
  30. qtool_py-0.1.0/examples/ramsey_demo.rs +209 -0
  31. qtool_py-0.1.0/examples/s21_batch_bench.rs +106 -0
  32. qtool_py-0.1.0/examples/s21_demo.rs +91 -0
  33. qtool_py-0.1.0/examples/s21_power_demo.rs +163 -0
  34. qtool_py-0.1.0/examples/t1_demo.rs +199 -0
  35. qtool_py-0.1.0/examples/t2_echo_demo.rs +212 -0
  36. qtool_py-0.1.0/pyproject.toml +42 -0
  37. qtool_py-0.1.0/qtool-py/Cargo.lock +2685 -0
  38. qtool_py-0.1.0/qtool-py/Cargo.toml +22 -0
  39. qtool_py-0.1.0/qtool-py/README.md +60 -0
  40. qtool_py-0.1.0/qtool-py/src/bloch.rs +149 -0
  41. qtool_py-0.1.0/qtool-py/src/drag.rs +1043 -0
  42. qtool_py-0.1.0/qtool-py/src/iq.rs +187 -0
  43. qtool_py-0.1.0/qtool-py/src/lib.rs +144 -0
  44. qtool_py-0.1.0/qtool-py/src/qspec.rs +323 -0
  45. qtool_py-0.1.0/qtool-py/src/rabi.rs +243 -0
  46. qtool_py-0.1.0/qtool-py/src/ramsey.rs +266 -0
  47. qtool_py-0.1.0/qtool-py/src/s21.rs +377 -0
  48. qtool_py-0.1.0/qtool-py/src/t1.rs +242 -0
  49. qtool_py-0.1.0/qtool-py/src/t2_echo.rs +248 -0
  50. qtool_py-0.1.0/qtool-py/tests/test_modules.py +157 -0
  51. qtool_py-0.1.0/qtool-py/tests/test_smoke.py +69 -0
  52. qtool_py-0.1.0/qtool-py/uv.lock +408 -0
  53. qtool_py-0.1.0/src/common/mod.rs +1 -0
  54. qtool_py-0.1.0/src/common/qpt/mod.rs +1232 -0
  55. qtool_py-0.1.0/src/lib.rs +23 -0
  56. qtool_py-0.1.0/src/main.rs +8 -0
  57. qtool_py-0.1.0/src/qtool/__init__.py +184 -0
  58. qtool_py-0.1.0/src/superconductor/bloch/bloch.rs +141 -0
  59. qtool_py-0.1.0/src/superconductor/bloch/bloch_plot.rs +598 -0
  60. qtool_py-0.1.0/src/superconductor/bloch/mod.rs +17 -0
  61. qtool_py-0.1.0/src/superconductor/drag/amplitude/factor_n.rs +411 -0
  62. qtool_py-0.1.0/src/superconductor/drag/amplitude/factor_one.rs +484 -0
  63. qtool_py-0.1.0/src/superconductor/drag/amplitude/mod.rs +20 -0
  64. qtool_py-0.1.0/src/superconductor/drag/amplitude/plot.rs +946 -0
  65. qtool_py-0.1.0/src/superconductor/drag/coeff/mod.rs +18 -0
  66. qtool_py-0.1.0/src/superconductor/drag/coeff/plot.rs +872 -0
  67. qtool_py-0.1.0/src/superconductor/drag/coeff/valley.rs +388 -0
  68. qtool_py-0.1.0/src/superconductor/drag/detuning/mod.rs +19 -0
  69. qtool_py-0.1.0/src/superconductor/drag/detuning/plot.rs +908 -0
  70. qtool_py-0.1.0/src/superconductor/drag/detuning/valley.rs +388 -0
  71. qtool_py-0.1.0/src/superconductor/drag/mod.rs +12 -0
  72. qtool_py-0.1.0/src/superconductor/iq/iq.rs +416 -0
  73. qtool_py-0.1.0/src/superconductor/iq/iq_plot.rs +895 -0
  74. qtool_py-0.1.0/src/superconductor/iq/mod.rs +22 -0
  75. qtool_py-0.1.0/src/superconductor/mod.rs +306 -0
  76. qtool_py-0.1.0/src/superconductor/qspec/mod.rs +13 -0
  77. qtool_py-0.1.0/src/superconductor/qspec/qspec.rs +469 -0
  78. qtool_py-0.1.0/src/superconductor/qspec/qspec_plot.rs +480 -0
  79. qtool_py-0.1.0/src/superconductor/qspec/qspec_z_plot.rs +334 -0
  80. qtool_py-0.1.0/src/superconductor/rabi/mod.rs +14 -0
  81. qtool_py-0.1.0/src/superconductor/rabi/rabi_amp.rs +602 -0
  82. qtool_py-0.1.0/src/superconductor/rabi/rabi_amp_plot.rs +572 -0
  83. qtool_py-0.1.0/src/superconductor/ramsey/mod.rs +16 -0
  84. qtool_py-0.1.0/src/superconductor/ramsey/ramsey.rs +422 -0
  85. qtool_py-0.1.0/src/superconductor/ramsey/ramsey_plot.rs +618 -0
  86. qtool_py-0.1.0/src/superconductor/s21/mod.rs +13 -0
  87. qtool_py-0.1.0/src/superconductor/s21/s21.rs +1043 -0
  88. qtool_py-0.1.0/src/superconductor/s21/s21_plot.rs +693 -0
  89. qtool_py-0.1.0/src/superconductor/s21/s21_power_plot.rs +533 -0
  90. qtool_py-0.1.0/src/superconductor/t1/mod.rs +13 -0
  91. qtool_py-0.1.0/src/superconductor/t1/t1.rs +365 -0
  92. qtool_py-0.1.0/src/superconductor/t1/t1_plot.rs +582 -0
  93. qtool_py-0.1.0/src/superconductor/t2_echo/mod.rs +16 -0
  94. qtool_py-0.1.0/src/superconductor/t2_echo/t2_echo.rs +376 -0
  95. qtool_py-0.1.0/src/superconductor/t2_echo/t2_echo_plot.rs +583 -0
  96. qtool_py-0.1.0/src/utils/bubble.rs +396 -0
  97. qtool_py-0.1.0/src/utils/density.rs +339 -0
  98. qtool_py-0.1.0/src/utils/heatmap.rs +477 -0
  99. qtool_py-0.1.0/src/utils/mod.rs +471 -0
  100. qtool_py-0.1.0/src/utils/panels.rs +809 -0
  101. qtool_py-0.1.0/src/utils/params.rs +59 -0
  102. qtool_py-0.1.0/src/utils/resize.rs +69 -0
  103. qtool_py-0.1.0/tests/test_qpt.rs +236 -0
@@ -0,0 +1,50 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+
8
+ env:
9
+ CARGO_TERM_COLOR: always
10
+
11
+ jobs:
12
+ rust:
13
+ name: rust (${{ matrix.os }})
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ os: [ubuntu-latest, windows-latest, macos-latest]
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ - uses: dtolnay/rust-toolchain@stable
22
+ with:
23
+ components: clippy
24
+ - uses: Swatinem/rust-cache@v2
25
+ # 默认带 plot feature;示例也一起编(demo 是文档的一部分)
26
+ - run: cargo build --all-targets --verbose
27
+ - run: cargo test --verbose
28
+ # 关掉 plot feature 也要能编(纯数值那一半)
29
+ - run: cargo build --no-default-features
30
+ # 打包验证:示例、README、LICENSE 都得进包(`cargo publish` 的前置)
31
+ - run: cargo package --list
32
+ # clippy 只报告、不阻断:仓库里有一批历史 lint 债,清它是一次独立的大改,
33
+ # 不该混进每次提交;这里的作用是让**新增**的 lint 在 diff 里看得见。
34
+ - run: cargo clippy --all-targets
35
+ continue-on-error: true
36
+
37
+ python:
38
+ name: python bindings
39
+ runs-on: ubuntu-latest
40
+ defaults:
41
+ run:
42
+ working-directory: qtool-py
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ - uses: dtolnay/rust-toolchain@stable
46
+ - uses: astral-sh/setup-uv@v5
47
+ - run: uv sync
48
+ - run: uv run pytest -q
49
+ # wheel 要能真打出来(abi3:每个平台一个)
50
+ - run: uv build
@@ -0,0 +1,11 @@
1
+ /target
2
+ .idea
3
+ /plt
4
+ command.md
5
+ CLAUDE.md
6
+ .mcp.json
7
+ /baseline
8
+ /data
9
+ .claude
10
+ .playwright-mcp
11
+ *.stackdump