qiclib 2.3.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.
- qiclib-2.3.0/.git-blame-ignore-revs +2 -0
- qiclib-2.3.0/.gitignore +181 -0
- qiclib-2.3.0/.gitlab-ci.yml +154 -0
- qiclib-2.3.0/.gitmodules +3 -0
- qiclib-2.3.0/.pre-commit-config.yaml +16 -0
- qiclib-2.3.0/.pylintrc +13 -0
- qiclib-2.3.0/.python-version +1 -0
- qiclib-2.3.0/.vscode/extensions.json +13 -0
- qiclib-2.3.0/.vscode/settings.json +15 -0
- qiclib-2.3.0/COPYING +674 -0
- qiclib-2.3.0/PKG-INFO +975 -0
- qiclib-2.3.0/README.md +273 -0
- qiclib-2.3.0/docs/Makefile +25 -0
- qiclib-2.3.0/docs/_templates/module.rst_t +8 -0
- qiclib-2.3.0/docs/_templates/package.rst_t +57 -0
- qiclib-2.3.0/docs/_templates/toc.rst_t +7 -0
- qiclib-2.3.0/docs/assets/QiCode_Tutorial.pdf +0 -0
- qiclib-2.3.0/docs/conf.py +60 -0
- qiclib-2.3.0/docs/experiments.rst +68 -0
- qiclib-2.3.0/docs/getting_started.rst +86 -0
- qiclib-2.3.0/docs/index.rst +31 -0
- qiclib-2.3.0/docs/qi_code.rst +145 -0
- qiclib-2.3.0/docs/reference.rst +15 -0
- qiclib-2.3.0/docs/serve-doc.py +14 -0
- qiclib-2.3.0/docs/troubleshooting.rst +14 -0
- qiclib-2.3.0/examples/digital_trigger.ipynb +341 -0
- qiclib-2.3.0/examples/pulses/pulse_player_examples.ipynb +192 -0
- qiclib-2.3.0/examples/qiskit/2-qubit-quantum-algorithms/2-qubit-Deutsch Algorithm.ipynb +802 -0
- qiclib-2.3.0/examples/qiskit/2-qubit-quantum-algorithms/2-qubit-Gover's-Algorithm.ipynb +666 -0
- qiclib-2.3.0/examples/qiskit/2-qubit-quantum-algorithms/Phase Kickback.ipynb +621 -0
- qiclib-2.3.0/examples/qiskit/2-qubit-quantum-algorithms/Quantum Entanglement.ipynb +885 -0
- qiclib-2.3.0/examples/qiskit/2-qubit-quantum-algorithms/Quantum_Key_Distribution_protocol.ipynb +3583 -0
- qiclib-2.3.0/examples/qiskit/Running_Qiskit_circuits_on_QiController_tutorial.ipynb +1005 -0
- qiclib-2.3.0/examples/resonators/Resonators_Test_qiclib_2024_04_29.ipynb +249 -0
- qiclib-2.3.0/examples/rfdc/interfacing_with_the_directrf.ipynb +129 -0
- qiclib-2.3.0/examples/rfdc/interfacing_with_the_rfdc.ipynb +306 -0
- qiclib-2.3.0/pyproject.toml +124 -0
- qiclib-2.3.0/ruff.toml +28 -0
- qiclib-2.3.0/src/qiclib/__init__.py +41 -0
- qiclib-2.3.0/src/qiclib/_version.py +34 -0
- qiclib-2.3.0/src/qiclib/code/__init__.py +98 -0
- qiclib-2.3.0/src/qiclib/code/analysis/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/code/analysis/qi_insert_mem_parameters.py +896 -0
- qiclib-2.3.0/src/qiclib/code/qi_command.py +929 -0
- qiclib-2.3.0/src/qiclib/code/qi_dataflow.py +677 -0
- qiclib-2.3.0/src/qiclib/code/qi_jobs.py +1421 -0
- qiclib-2.3.0/src/qiclib/code/qi_prog_builder.py +1360 -0
- qiclib-2.3.0/src/qiclib/code/qi_pulse.py +362 -0
- qiclib-2.3.0/src/qiclib/code/qi_result.py +44 -0
- qiclib-2.3.0/src/qiclib/code/qi_sample.py +195 -0
- qiclib-2.3.0/src/qiclib/code/qi_seq_instructions.py +1086 -0
- qiclib-2.3.0/src/qiclib/code/qi_sequencer.py +1363 -0
- qiclib-2.3.0/src/qiclib/code/qi_simulate.py +157 -0
- qiclib-2.3.0/src/qiclib/code/qi_types.py +707 -0
- qiclib-2.3.0/src/qiclib/code/qi_util.py +65 -0
- qiclib-2.3.0/src/qiclib/code/qi_var_definitions.py +727 -0
- qiclib-2.3.0/src/qiclib/code/qi_visitor.py +605 -0
- qiclib-2.3.0/src/qiclib/coding/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/coding/sequencercode.py +696 -0
- qiclib-2.3.0/src/qiclib/experiment/SecondToneSweepR5.py +78 -0
- qiclib-2.3.0/src/qiclib/experiment/__init__.py +28 -0
- qiclib-2.3.0/src/qiclib/experiment/active_cooling_t1.py +129 -0
- qiclib-2.3.0/src/qiclib/experiment/active_reset_t1.py +53 -0
- qiclib-2.3.0/src/qiclib/experiment/base.py +1082 -0
- qiclib-2.3.0/src/qiclib/experiment/benchmarking.py +184 -0
- qiclib-2.3.0/src/qiclib/experiment/collection.py +62 -0
- qiclib-2.3.0/src/qiclib/experiment/correlation_calibration.py +93 -0
- qiclib-2.3.0/src/qiclib/experiment/correlation_conv_all.py +128 -0
- qiclib-2.3.0/src/qiclib/experiment/g1_correlation.py +87 -0
- qiclib-2.3.0/src/qiclib/experiment/g1_correlation_conv.py +75 -0
- qiclib-2.3.0/src/qiclib/experiment/g1_meas_setuptest.py +161 -0
- qiclib-2.3.0/src/qiclib/experiment/g2_correlation.py +89 -0
- qiclib-2.3.0/src/qiclib/experiment/g2_correlation_conv.py +78 -0
- qiclib-2.3.0/src/qiclib/experiment/gx_correlation_base.py +175 -0
- qiclib-2.3.0/src/qiclib/experiment/inverted_t1.py +50 -0
- qiclib-2.3.0/src/qiclib/experiment/iq_clouds_multi_qfb.py +57 -0
- qiclib-2.3.0/src/qiclib/experiment/iq_clouds_qfb_decay.py +51 -0
- qiclib-2.3.0/src/qiclib/experiment/iq_clouds_ramsey.py +51 -0
- qiclib-2.3.0/src/qiclib/experiment/iq_clouds_ringup.py +75 -0
- qiclib-2.3.0/src/qiclib/experiment/multi_pi_t1.py +65 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/base.py +813 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/collection.py +272 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/data_handler.py +259 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/data_provider.py +132 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/fit_utils.py +62 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/init_readout.py +493 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/qubit_times.py +244 -0
- qiclib-2.3.0/src/qiclib/experiment/qicode/qubit_times_qkit.py +292 -0
- qiclib-2.3.0/src/qiclib/experiment/qkit_virtual_awg.py +550 -0
- qiclib-2.3.0/src/qiclib/experiment/quantum_jumps_long.py +89 -0
- qiclib-2.3.0/src/qiclib/experiment/rabi_R5PG.py +83 -0
- qiclib-2.3.0/src/qiclib/experiment/rabi_drag.py +100 -0
- qiclib-2.3.0/src/qiclib/experiment/rabi_short.py +120 -0
- qiclib-2.3.0/src/qiclib/experiment/readout_spectr.py +97 -0
- qiclib-2.3.0/src/qiclib/experiment/resonator_ringup.py +106 -0
- qiclib-2.3.0/src/qiclib/experiment/resonator_ringup_window.py +80 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/__init__.py +37 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/active_cooling.c +74 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/average_trace.c +96 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/base_experiment_task.c +102 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/calibration.c +165 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/correlation_conv.c +414 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/g1_correlation.c +151 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/g1_correlation_conv.c +236 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/g1_meas_setuptest.c +135 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/g2_correlation.c +151 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/correlation/g2_correlation_conv.c +251 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/interleaved.c +139 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/interleaved_multi.c +176 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/iq_clouds.c +59 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/optimize_rec_offset.c +90 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/averaging.c +145 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/iq_collect.c +138 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/state_collect.c +123 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/state_count.c +115 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qicode/timetrace.c +152 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/quantum_jumps.c +75 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/quantum_jumps_multi.c +151 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/quantum_jumps_new.c +101 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/qubit_freq_sweep_task.c +83 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/rabi_r5.c +89 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/copy_test.c +88 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/empty.c +22 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/shift_test.c +50 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/stream_test.c +57 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/test_databox.c +35 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/time_test_code.c +651 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/timing_test.c +418 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/timing_test_axi.c +125 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/test/timing_test_single.c +60 -0
- qiclib-2.3.0/src/qiclib/experiment/rtos_tasks/trace_fft.c +949 -0
- qiclib-2.3.0/src/qiclib/experiment/stream_test.py +70 -0
- qiclib-2.3.0/src/qiclib/hardware/__init__.py +56 -0
- qiclib-2.3.0/src/qiclib/hardware/controller.py +478 -0
- qiclib-2.3.0/src/qiclib/hardware/digital_trigger.py +193 -0
- qiclib-2.3.0/src/qiclib/hardware/direct_rf.py +188 -0
- qiclib-2.3.0/src/qiclib/hardware/pimc.py +143 -0
- qiclib-2.3.0/src/qiclib/hardware/platform_component.py +158 -0
- qiclib-2.3.0/src/qiclib/hardware/pulse_player.py +147 -0
- qiclib-2.3.0/src/qiclib/hardware/pulsegen.py +714 -0
- qiclib-2.3.0/src/qiclib/hardware/recording.py +804 -0
- qiclib-2.3.0/src/qiclib/hardware/rfdc.py +497 -0
- qiclib-2.3.0/src/qiclib/hardware/sequencer.py +239 -0
- qiclib-2.3.0/src/qiclib/hardware/servicehub.py +87 -0
- qiclib-2.3.0/src/qiclib/hardware/storage.py +307 -0
- qiclib-2.3.0/src/qiclib/hardware/taskrunner.py +334 -0
- qiclib-2.3.0/src/qiclib/hardware/unitcell.py +464 -0
- qiclib-2.3.0/src/qiclib/hardware/vna.py +377 -0
- qiclib-2.3.0/src/qiclib/measurement/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/measurement/iq_fit.py +462 -0
- qiclib-2.3.0/src/qiclib/measurement/iq_plot.py +737 -0
- qiclib-2.3.0/src/qiclib/measurement/measure_iq.py +156 -0
- qiclib-2.3.0/src/qiclib/measurement/resonators.py +795 -0
- qiclib-2.3.0/src/qiclib/packages/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/packages/constants.py +35 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/.gitignore +4 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/__init__.py +27 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5672_5684_pb2.py +40 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5672_5684_pb2.pyi +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5672_5684_pb2_grpc.py +108 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5675_pb2.py +42 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5675_pb2.pyi +43 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad5675_pb2_grpc.py +157 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad7291_pb2.py +40 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad7291_pb2.pyi +33 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ad7291_pb2_grpc.py +200 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/b2b_controller_pb2.py +38 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/b2b_controller_pb2.pyi +6 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/b2b_controller_pb2_grpc.py +193 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bench_pb2.py +59 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bench_pb2.pyi +84 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bench_pb2_grpc.py +1227 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bidirectionalmixer_pb2.py +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bidirectionalmixer_pb2.pyi +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/bidirectionalmixer_pb2_grpc.py +150 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/capreadoutchain_pb2.py +57 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/capreadoutchain_pb2.pyi +104 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/capreadoutchain_pb2_grpc.py +274 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/chip_info_pb2.py +41 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/chip_info_pb2.pyi +21 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/chip_info_pb2_grpc.py +104 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/datatypes_pb2.py +70 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/datatypes_pb2.pyi +130 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/datatypes_pb2_grpc.py +24 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/detector_emulator_pb2.py +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/detector_emulator_pb2.pyi +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/detector_emulator_pb2_grpc.py +613 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/digital_trigger_pb2.py +51 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/digital_trigger_pb2.pyi +66 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/digital_trigger_pb2_grpc.py +356 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/direct_rf_pb2.py +58 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/direct_rf_pb2.pyi +93 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/direct_rf_pb2_grpc.py +650 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dma_pb2.py +51 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dma_pb2.pyi +72 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dma_pb2_grpc.py +495 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dmacontroller_pb2.py +51 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dmacontroller_pb2.pyi +84 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/dmacontroller_pb2_grpc.py +535 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/erasynth_pb2.py +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/erasynth_pb2.pyi +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/erasynth_pb2_grpc.py +242 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/eventdetection_pb2.py +47 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/eventdetection_pb2.pyi +50 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/eventdetection_pb2_grpc.py +1267 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/faultrec_pb2.py +45 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/faultrec_pb2.pyi +36 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/faultrec_pb2_grpc.py +485 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/firmwareupdate_pb2.py +47 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/firmwareupdate_pb2.pyi +48 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/firmwareupdate_pb2_grpc.py +227 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxramp_generator_pb2.py +39 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxramp_generator_pb2.pyi +19 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxramp_generator_pb2_grpc.py +541 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxrampdemod_pb2.py +57 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxrampdemod_pb2.pyi +104 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/fluxrampdemod_pb2_grpc.py +2211 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/healthmon_pb2.py +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/healthmon_pb2.pyi +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/healthmon_pb2_grpc.py +97 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/.git +1 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/.gitignore +6 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/.vscode/extensions.json +6 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/CMakeLists.txt +68 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/README.md +63 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/ad5672_5684.proto +30 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/ad5675.proto +41 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/ad7291.proto +36 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/b2b_controller.proto +17 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/bench.proto +105 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/bidirectionalmixer.proto +24 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/build_protos.py +122 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/capreadoutchain.proto +83 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/chip_info.proto +26 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/datatypes.proto +59 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/detector_emulator.proto +23 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/digital_trigger.proto +56 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/direct_rf.proto +139 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/dma.proto +171 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/dmacontroller.proto +175 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/doc/Doxyfile +2495 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/doc/clean_docs +3 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/doc/create_docs +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/doc/scripts/proto2cpp.py +344 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/erasynth.proto +31 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/eventdetection.proto +268 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/examples/README.md +4 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/examples/qic-dynamic-routing.ipynb +435 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/faultrec.proto +62 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/firmwareupdate.proto +29 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/fluxramp_generator.proto +99 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/fluxrampdemod.proto +548 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/healthmon.proto +9 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/lmk04208.proto +32 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/lmx2594.proto +99 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/ltc2000_cfg.proto +63 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/ltc5586.proto +83 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/matrixvectormultiplier.proto +117 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/mdnspublisher.proto +36 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/memmap.proto +53 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/multichannelddc.proto +108 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/multilateration.proto +77 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/oscilloscope.proto +222 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/pimc.proto +223 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/pp_channelizer.proto +26 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/pulse_player.proto +66 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/pulsegen.proto +83 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/qic_storage.proto +124 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/qic_unitcell.proto +249 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/rampgen.proto +87 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/recording.proto +182 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/rfdc.proto +178 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/rfpcbsuper.proto +128 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/sequencer.proto +64 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/servicehubcontrol.proto +171 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/signalamplifier.proto +34 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/spectrum_analyzer.proto +146 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/stimulation.proto +276 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/sysmon.proto +121 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/taskrunner.proto +100 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/tdmchannelmultipick.proto +27 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ipe_servicehub_protos/vna.proto +309 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmk04208_pb2.py +40 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmk04208_pb2.pyi +35 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmk04208_pb2_grpc.py +284 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmx2594_pb2.py +42 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmx2594_pb2.pyi +44 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/lmx2594_pb2_grpc.py +2771 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc2000_cfg_pb2.py +46 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc2000_cfg_pb2.pyi +58 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc2000_cfg_pb2_grpc.py +287 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc5586_pb2.py +44 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc5586_pb2.pyi +53 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/ltc5586_pb2_grpc.py +1995 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/matrixvectormultiplier_pb2.py +45 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/matrixvectormultiplier_pb2.pyi +34 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/matrixvectormultiplier_pb2_grpc.py +509 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/mdnspublisher_pb2.py +41 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/mdnspublisher_pb2.pyi +28 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/mdnspublisher_pb2_grpc.py +277 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/memmap_pb2.py +50 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/memmap_pb2.pyi +85 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/memmap_pb2_grpc.py +226 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multichannelddc_pb2.py +43 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multichannelddc_pb2.pyi +34 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multichannelddc_pb2_grpc.py +461 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multilateration_pb2.py +47 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multilateration_pb2.pyi +54 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/multilateration_pb2_grpc.py +1092 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/oscilloscope_pb2.py +65 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/oscilloscope_pb2.pyi +125 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/oscilloscope_pb2_grpc.py +847 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pimc_pb2.py +45 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pimc_pb2.pyi +59 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pimc_pb2_grpc.py +1037 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pp_channelizer_pb2.py +39 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pp_channelizer_pb2.pyi +26 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pp_channelizer_pb2_grpc.py +103 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulse_player_pb2.py +46 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulse_player_pb2.pyi +58 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulse_player_pb2_grpc.py +413 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulsegen_pb2.py +55 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulsegen_pb2.pyi +90 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/pulsegen_pb2_grpc.py +872 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_storage_pb2.py +71 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_storage_pb2.pyi +166 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_storage_pb2_grpc.py +915 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_unitcell_pb2.py +103 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_unitcell_pb2.pyi +284 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/qic_unitcell_pb2_grpc.py +1026 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rampgen_pb2.py +39 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rampgen_pb2.pyi +19 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rampgen_pb2_grpc.py +449 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/recording_pb2.py +79 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/recording_pb2.pyi +203 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/recording_pb2_grpc.py +1775 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfdc_pb2.py +79 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfdc_pb2.pyi +191 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfdc_pb2_grpc.py +1356 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfpcbsuper_pb2.py +52 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfpcbsuper_pb2.pyi +104 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/rfpcbsuper_pb2_grpc.py +355 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sequencer_pb2.py +53 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sequencer_pb2.pyi +82 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sequencer_pb2_grpc.py +872 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/servicehubcontrol_pb2.py +61 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/servicehubcontrol_pb2.pyi +102 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/servicehubcontrol_pb2_grpc.py +722 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/signalamplifier_pb2.py +37 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/signalamplifier_pb2.pyi +5 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/signalamplifier_pb2_grpc.py +200 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/spectrum_analyzer_pb2.py +53 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/spectrum_analyzer_pb2.pyi +75 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/spectrum_analyzer_pb2_grpc.py +520 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/stimulation_pb2.py +51 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/stimulation_pb2.pyi +78 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/stimulation_pb2_grpc.py +963 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sysmon_pb2.py +46 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sysmon_pb2.pyi +101 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/sysmon_pb2_grpc.py +141 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/taskrunner_pb2.py +59 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/taskrunner_pb2.pyi +110 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/taskrunner_pb2_grpc.py +787 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/tdmchannelmultipick_pb2.py +41 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/tdmchannelmultipick_pb2.pyi +24 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/tdmchannelmultipick_pb2_grpc.py +146 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/vna_pb2.py +73 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/vna_pb2.pyi +160 -0
- qiclib-2.3.0/src/qiclib/packages/grpc/vna_pb2_grpc.py +1259 -0
- qiclib-2.3.0/src/qiclib/packages/qiskit/QiController_backend.py +440 -0
- qiclib-2.3.0/src/qiclib/packages/qiskit/QiController_job.py +138 -0
- qiclib-2.3.0/src/qiclib/packages/qiskit/QiController_provider.py +70 -0
- qiclib-2.3.0/src/qiclib/packages/qiskit/QiGates.py +335 -0
- qiclib-2.3.0/src/qiclib/packages/qiskit/__init__.py +15 -0
- qiclib-2.3.0/src/qiclib/packages/qkit_polyfill.py +107 -0
- qiclib-2.3.0/src/qiclib/packages/servicehub.py +88 -0
- qiclib-2.3.0/src/qiclib/packages/utility.py +219 -0
- qiclib-2.3.0/src/qiclib/py.typed +0 -0
- qiclib-2.3.0/src/qiclib/state_estimation.py +125 -0
- qiclib-2.3.0/tests/data/amplitude_data.npy +0 -0
- qiclib-2.3.0/tests/data/iq_clouds_power_sweep.dat +0 -0
- qiclib-2.3.0/tests/mocks/__init__.py +104 -0
- qiclib-2.3.0/tests/mocks/digital_trigger.py +31 -0
- qiclib-2.3.0/tests/mocks/pimc.py +33 -0
- qiclib-2.3.0/tests/mocks/pulse_gen.py +49 -0
- qiclib-2.3.0/tests/mocks/recording.py +67 -0
- qiclib-2.3.0/tests/mocks/rfdc.py +30 -0
- qiclib-2.3.0/tests/mocks/sequencer.py +39 -0
- qiclib-2.3.0/tests/mocks/servicehub_control.py +41 -0
- qiclib-2.3.0/tests/mocks/storage.py +22 -0
- qiclib-2.3.0/tests/mocks/taskrunner.py +105 -0
- qiclib-2.3.0/tests/mocks/unit_cell.py +66 -0
- qiclib-2.3.0/tests/test_calibrate_electrical_delay.py +27 -0
- qiclib-2.3.0/tests/test_data_handlers.py +103 -0
- qiclib-2.3.0/tests/test_experiments.py +100 -0
- qiclib-2.3.0/tests/test_files/properties_error.json +14 -0
- qiclib-2.3.0/tests/test_files/properties_ok.json +18 -0
- qiclib-2.3.0/tests/test_iq_fit.py +103 -0
- qiclib-2.3.0/tests/test_qi_array_types.py +153 -0
- qiclib-2.3.0/tests/test_qi_insert_mem_parameters.py +890 -0
- qiclib-2.3.0/tests/test_qi_jobs.py +1358 -0
- qiclib-2.3.0/tests/test_qi_prog_builder.py +2641 -0
- qiclib-2.3.0/tests/test_qi_pulse.py +177 -0
- qiclib-2.3.0/tests/test_qi_pulse_amplitude_warning.py +77 -0
- qiclib-2.3.0/tests/test_qi_sample.py +18 -0
- qiclib-2.3.0/tests/test_qi_seq_instructions.py +134 -0
- qiclib-2.3.0/tests/test_qi_sequencer.py +839 -0
- qiclib-2.3.0/tests/test_qi_types.py +443 -0
- qiclib-2.3.0/tests/test_qi_util.py +55 -0
- qiclib-2.3.0/tests/test_qi_var_definitions.py +31 -0
- qiclib-2.3.0/tests/test_qi_visitor.py +266 -0
- qiclib-2.3.0/tests/test_static_variables.py +132 -0
- qiclib-2.3.0/tests/test_version.py +21 -0
- qiclib-2.3.0/tests/test_while_integration.py +201 -0
- qiclib-2.3.0/tests/test_while_loop.py +237 -0
- qiclib-2.3.0/uv.lock +3477 -0
qiclib-2.3.0/.gitignore
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
build
|
|
2
|
+
dist
|
|
3
|
+
docs/qiclib
|
|
4
|
+
|
|
5
|
+
*.egg-info
|
|
6
|
+
.idea
|
|
7
|
+
/venv/
|
|
8
|
+
|
|
9
|
+
# Byte-compiled / optimized / DLL files
|
|
10
|
+
__pycache__/
|
|
11
|
+
*.py[cod]
|
|
12
|
+
*$py.class
|
|
13
|
+
|
|
14
|
+
# C extensions
|
|
15
|
+
*.so
|
|
16
|
+
|
|
17
|
+
# Distribution / packaging
|
|
18
|
+
.Python
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
downloads/
|
|
23
|
+
eggs/
|
|
24
|
+
.eggs/
|
|
25
|
+
lib/
|
|
26
|
+
lib64/
|
|
27
|
+
parts/
|
|
28
|
+
sdist/
|
|
29
|
+
var/
|
|
30
|
+
wheels/
|
|
31
|
+
share/python-wheels/
|
|
32
|
+
*.egg-info/
|
|
33
|
+
.installed.cfg
|
|
34
|
+
*.egg
|
|
35
|
+
MANIFEST
|
|
36
|
+
|
|
37
|
+
# Generated documentation
|
|
38
|
+
docs/_build
|
|
39
|
+
|
|
40
|
+
# PyInstaller
|
|
41
|
+
# Usually these files are written by a python script from a template
|
|
42
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
43
|
+
*.manifest
|
|
44
|
+
*.spec
|
|
45
|
+
|
|
46
|
+
# Installer logs
|
|
47
|
+
pip-log.txt
|
|
48
|
+
pip-delete-this-directory.txt
|
|
49
|
+
|
|
50
|
+
# Unit test / coverage reports
|
|
51
|
+
htmlcov/
|
|
52
|
+
.tox/
|
|
53
|
+
.nox/
|
|
54
|
+
.coverage
|
|
55
|
+
.coverage.*
|
|
56
|
+
.cache
|
|
57
|
+
nosetests.xml
|
|
58
|
+
tests.xml
|
|
59
|
+
coverage.xml
|
|
60
|
+
*.cover
|
|
61
|
+
*.py,cover
|
|
62
|
+
.hypothesis/
|
|
63
|
+
.pytest_cache/
|
|
64
|
+
cover/
|
|
65
|
+
|
|
66
|
+
# Translations
|
|
67
|
+
*.mo
|
|
68
|
+
*.pot
|
|
69
|
+
|
|
70
|
+
# Django stuff:
|
|
71
|
+
*.log
|
|
72
|
+
local_settings.py
|
|
73
|
+
db.sqlite3
|
|
74
|
+
db.sqlite3-journal
|
|
75
|
+
|
|
76
|
+
# Flask stuff:
|
|
77
|
+
instance/
|
|
78
|
+
.webassets-cache
|
|
79
|
+
|
|
80
|
+
# Scrapy stuff:
|
|
81
|
+
.scrapy
|
|
82
|
+
|
|
83
|
+
# Sphinx documentation
|
|
84
|
+
docs/_build/
|
|
85
|
+
|
|
86
|
+
# PyBuilder
|
|
87
|
+
.pybuilder/
|
|
88
|
+
target/
|
|
89
|
+
|
|
90
|
+
# Jupyter Notebook
|
|
91
|
+
.ipynb_checkpoints
|
|
92
|
+
|
|
93
|
+
# IPython
|
|
94
|
+
profile_default/
|
|
95
|
+
ipython_config.py
|
|
96
|
+
|
|
97
|
+
# pyenv
|
|
98
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
99
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
100
|
+
# .python-version
|
|
101
|
+
|
|
102
|
+
# pipenv
|
|
103
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
104
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
105
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
106
|
+
# install all needed dependencies.
|
|
107
|
+
#Pipfile.lock
|
|
108
|
+
|
|
109
|
+
# poetry
|
|
110
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
111
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
112
|
+
# commonly ignored for libraries.
|
|
113
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
114
|
+
#poetry.lock
|
|
115
|
+
|
|
116
|
+
# pdm
|
|
117
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
118
|
+
#pdm.lock
|
|
119
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
120
|
+
# in version control.
|
|
121
|
+
# https://pdm.fming.dev/#use-with-ide
|
|
122
|
+
.pdm.toml
|
|
123
|
+
|
|
124
|
+
# Dynamically generated version.py file
|
|
125
|
+
src/qiclib/_version.py
|
|
126
|
+
|
|
127
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
128
|
+
__pypackages__/
|
|
129
|
+
|
|
130
|
+
# Celery stuff
|
|
131
|
+
celerybeat-schedule
|
|
132
|
+
celerybeat.pid
|
|
133
|
+
|
|
134
|
+
# SageMath parsed files
|
|
135
|
+
*.sage.py
|
|
136
|
+
|
|
137
|
+
# Environments
|
|
138
|
+
.env
|
|
139
|
+
.venv
|
|
140
|
+
env/
|
|
141
|
+
venv/
|
|
142
|
+
ENV/
|
|
143
|
+
env.bak/
|
|
144
|
+
venv.bak/
|
|
145
|
+
|
|
146
|
+
# Spyder project settings
|
|
147
|
+
.spyderproject
|
|
148
|
+
.spyproject
|
|
149
|
+
|
|
150
|
+
# Rope project settings
|
|
151
|
+
.ropeproject
|
|
152
|
+
|
|
153
|
+
# mkdocs documentation
|
|
154
|
+
/site
|
|
155
|
+
|
|
156
|
+
# mypy
|
|
157
|
+
.mypy_cache/
|
|
158
|
+
.dmypy.json
|
|
159
|
+
dmypy.json
|
|
160
|
+
|
|
161
|
+
# Pyre type checker
|
|
162
|
+
.pyre/
|
|
163
|
+
|
|
164
|
+
# pytype static type analyzer
|
|
165
|
+
.pytype/
|
|
166
|
+
|
|
167
|
+
# Cython debug symbols
|
|
168
|
+
cython_debug/
|
|
169
|
+
|
|
170
|
+
# PyCharm
|
|
171
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
172
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
173
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
174
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
175
|
+
#.idea/
|
|
176
|
+
|
|
177
|
+
# Journal files
|
|
178
|
+
*.jou
|
|
179
|
+
|
|
180
|
+
# Local notebooks using qiclib in this
|
|
181
|
+
Notebooks/*
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
variables:
|
|
2
|
+
GIT_SUBMODULE_STRATEGY: recursive
|
|
3
|
+
GIT_SUBMODULE_FORCE_HTTPS: true
|
|
4
|
+
UV_VERSION: '0.9'
|
|
5
|
+
PYTHON_VERSION: '3.10'
|
|
6
|
+
BASE_LAYER: bookworm
|
|
7
|
+
UV_SYSTEM_PYTHON: 1
|
|
8
|
+
GITHUB_PUBLISH_USER: quantuminterfaceBot
|
|
9
|
+
GITHUB_PUBLISH_REPO: quantuminterface/qiclib
|
|
10
|
+
|
|
11
|
+
stages: [analysis, test, build, deploy]
|
|
12
|
+
|
|
13
|
+
default:
|
|
14
|
+
image: ghcr.io/astral-sh/uv:$UV_VERSION-python$PYTHON_VERSION-$BASE_LAYER
|
|
15
|
+
|
|
16
|
+
.base_ruff:
|
|
17
|
+
interruptible: true
|
|
18
|
+
before_script:
|
|
19
|
+
- export UV_TOOL_BIN_DIR=/usr/local/bin
|
|
20
|
+
- cd $CI_PROJECT_DIR
|
|
21
|
+
|
|
22
|
+
unit_tests:
|
|
23
|
+
extends: .base_ruff
|
|
24
|
+
stage: test
|
|
25
|
+
script:
|
|
26
|
+
- uv run pytest --junitxml tests.xml --cov=qiclib --cov-fail-under=50 --cov-report xml --cov-report term
|
|
27
|
+
coverage: "/TOTAL.+ ([0-9]{1,3}%)/"
|
|
28
|
+
artifacts:
|
|
29
|
+
when: always
|
|
30
|
+
paths:
|
|
31
|
+
- tests.xml
|
|
32
|
+
reports:
|
|
33
|
+
junit:
|
|
34
|
+
- tests.xml
|
|
35
|
+
coverage_report:
|
|
36
|
+
coverage_format: cobertura
|
|
37
|
+
path: coverage.xml
|
|
38
|
+
|
|
39
|
+
check_format:
|
|
40
|
+
extends: .base_ruff
|
|
41
|
+
stage: analysis
|
|
42
|
+
variables:
|
|
43
|
+
PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
|
|
44
|
+
cache:
|
|
45
|
+
paths:
|
|
46
|
+
- ${PRE_COMMIT_HOME}
|
|
47
|
+
script:
|
|
48
|
+
- git config --global --add safe.directory '*'
|
|
49
|
+
- uvx pre-commit run --all-files
|
|
50
|
+
|
|
51
|
+
check_mypy:
|
|
52
|
+
extends: .base_ruff
|
|
53
|
+
stage: analysis
|
|
54
|
+
script:
|
|
55
|
+
- uv run mypy src --junit-xml mypy.xml --install-types --non-interactive --check-untyped-defs
|
|
56
|
+
artifacts:
|
|
57
|
+
when: on_failure
|
|
58
|
+
paths:
|
|
59
|
+
- mypy.xml
|
|
60
|
+
reports:
|
|
61
|
+
junit: mypy.xml
|
|
62
|
+
|
|
63
|
+
check_ruff:
|
|
64
|
+
extends: .base_ruff
|
|
65
|
+
stage: analysis
|
|
66
|
+
script:
|
|
67
|
+
- uv run ruff check --output-format junit > ruff.xml
|
|
68
|
+
artifacts:
|
|
69
|
+
when: on_failure
|
|
70
|
+
paths:
|
|
71
|
+
- ruff.xml
|
|
72
|
+
reports:
|
|
73
|
+
junit: ruff.xml
|
|
74
|
+
|
|
75
|
+
pylint:
|
|
76
|
+
extends: .base_ruff
|
|
77
|
+
stage: analysis
|
|
78
|
+
before_script:
|
|
79
|
+
- mkdir -p public/badges
|
|
80
|
+
- echo undefined > public/badges/$CI_JOB_NAME.score
|
|
81
|
+
script:
|
|
82
|
+
- uv run pylint --exit-zero --output-format=text src | tee /tmp/pylint.txt
|
|
83
|
+
- sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' /tmp/pylint.txt > public/badges/$CI_JOB_NAME.score
|
|
84
|
+
- uv run --with pylint-gitlab pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter src > codeclimate.json
|
|
85
|
+
after_script:
|
|
86
|
+
- uvx anybadge --overwrite --label $CI_JOB_NAME --value=$(cat public/badges/$CI_JOB_NAME.score) --file=public/badges/$CI_JOB_NAME.svg 4=red 6=orange 8=yellow 10=green
|
|
87
|
+
- |
|
|
88
|
+
echo "Your score is: $(cat public/badges/$CI_JOB_NAME.score)"
|
|
89
|
+
artifacts:
|
|
90
|
+
paths:
|
|
91
|
+
- public
|
|
92
|
+
reports:
|
|
93
|
+
codequality: codeclimate.json
|
|
94
|
+
when: always
|
|
95
|
+
|
|
96
|
+
build_project:
|
|
97
|
+
extends: .base_ruff
|
|
98
|
+
stage: build
|
|
99
|
+
script:
|
|
100
|
+
- uv build
|
|
101
|
+
- uvx twine check dist/*
|
|
102
|
+
artifacts:
|
|
103
|
+
paths:
|
|
104
|
+
- dist/
|
|
105
|
+
when: on_success
|
|
106
|
+
|
|
107
|
+
mirror_to_github:
|
|
108
|
+
stage: deploy
|
|
109
|
+
rules:
|
|
110
|
+
# Run only for tags matching semver like v1.2.3, v2.0.0-rc.1, v1.0.0+build123, etc.
|
|
111
|
+
- if: '$CI_COMMIT_TAG =~ /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/'
|
|
112
|
+
script:
|
|
113
|
+
- VERSION="$CI_COMMIT_TAG"
|
|
114
|
+
- echo "Preparing release $VERSION for GitHub mirror"
|
|
115
|
+
|
|
116
|
+
# Prepare a clean directory with the repository contents
|
|
117
|
+
- mkdir ../mirror
|
|
118
|
+
- git archive "$VERSION" | tar -x -C ../mirror
|
|
119
|
+
- cd ../mirror
|
|
120
|
+
- git init --initial-branch=main
|
|
121
|
+
|
|
122
|
+
# Git Identity
|
|
123
|
+
- git config user.email "quantuminterface@ipe.kit.edu"
|
|
124
|
+
- git config user.name "Quantuminterface Bot"
|
|
125
|
+
|
|
126
|
+
# Pull existing history from GitHub
|
|
127
|
+
- git remote add origin "https://${GITHUB_PUBLISH_USER}:${GITHUB_PUBLISH_TOKEN}@github.com/${GITHUB_PUBLISH_REPO}.git"
|
|
128
|
+
- git fetch origin main
|
|
129
|
+
- git checkout -B main
|
|
130
|
+
- git reset --soft origin/main
|
|
131
|
+
|
|
132
|
+
# Commit the new release snapshot
|
|
133
|
+
- git add -A
|
|
134
|
+
- git commit -m "Release $VERSION"
|
|
135
|
+
|
|
136
|
+
# Tag and push both branch and tag
|
|
137
|
+
- git tag "$VERSION"
|
|
138
|
+
- git push origin main
|
|
139
|
+
- git push origin "$VERSION"
|
|
140
|
+
|
|
141
|
+
publish_to_pypi:
|
|
142
|
+
stage: deploy
|
|
143
|
+
needs:
|
|
144
|
+
- build_project
|
|
145
|
+
rules:
|
|
146
|
+
- if: '$CI_COMMIT_TAG =~ /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/'
|
|
147
|
+
script:
|
|
148
|
+
- echo "Publishing version $CI_COMMIT_TAG to PyPI"
|
|
149
|
+
|
|
150
|
+
# Build the wheel and sdist
|
|
151
|
+
- uv build
|
|
152
|
+
|
|
153
|
+
# Publish to PyPI
|
|
154
|
+
- uv publish --token "$PYPI_PUBLISH_TOKEN"
|
qiclib-2.3.0/.gitmodules
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v5.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-yaml
|
|
6
|
+
- id: end-of-file-fixer
|
|
7
|
+
- id: trailing-whitespace
|
|
8
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
9
|
+
rev: v0.11.3
|
|
10
|
+
hooks:
|
|
11
|
+
# Run the linter.
|
|
12
|
+
- id: ruff
|
|
13
|
+
types_or: [ python, pyi, jupyter ]
|
|
14
|
+
args: [ --fix ]
|
|
15
|
+
# Run the formatter.
|
|
16
|
+
- id: ruff-format
|
qiclib-2.3.0/.pylintrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.10
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"recommendations": [
|
|
3
|
+
"charliermarsh.ruff",
|
|
4
|
+
"ms-python.python",
|
|
5
|
+
"ms-python.debugpy",
|
|
6
|
+
"tamasfe.even-better-toml",
|
|
7
|
+
"ms-toolsai.jupyter",
|
|
8
|
+
"donjayamanne.vscode-default-python-kernel",
|
|
9
|
+
"GitLab.gitlab-workflow",
|
|
10
|
+
"redhat.vscode-yaml",
|
|
11
|
+
"zxh404.vscode-proto3"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"editor.formatOnSave": true,
|
|
3
|
+
"editor.detectIndentation": false,
|
|
4
|
+
"editor.tabSize": 4,
|
|
5
|
+
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
|
|
6
|
+
"python.analysis.autoSearchPaths": true,
|
|
7
|
+
"python.analysis.extraPaths": [
|
|
8
|
+
"${workspaceFolder}"
|
|
9
|
+
],
|
|
10
|
+
"python.testing.pytestEnabled": true,
|
|
11
|
+
"python.testing.unittestEnabled": false,
|
|
12
|
+
"python.testing.cwd": "${workspaceFolder}/tests",
|
|
13
|
+
"python.testing.pytestPath": "${workspaceFolder}/.venv/bin/pytest",
|
|
14
|
+
"python.testing.autoTestDiscoverOnSaveEnabled": true
|
|
15
|
+
}
|