diff --git a/docs/source/examples/ho_list_control_objects.ipynb b/docs/source/examples/ho_list_control_objects.ipynb index ce3b86567..cb595e952 100644 --- a/docs/source/examples/ho_list_control_objects.ipynb +++ b/docs/source/examples/ho_list_control_objects.ipynb @@ -23,6 +23,7 @@ "2. Use `listdevice(OBJECT)` to learn more about a specific `Device` or `Signal` object.\n", "3. Use `listplans()` to learn the plans available for control.\n", "4. Use `findCatalogsInNamespace()` to learn the available databroker catalogs.\n", + "5. Use `DEVICE.summary()` and `DEVICE.component_names` to learn more about `DEVICE`.\n", "\n", "**OVERVIEW**\n", "\n", @@ -30,6 +31,7 @@ "\n", "- `apstools.utils.listobjects()`: list of top-level objects available at the command line.\n", "- `apstools.utils.listdevice()`: internal objects of a single object.\n", + "- Every `Device` has a `.component_names` list of its ophyd `Device` and `Signal` children.\n", "- Every `Device` has a `.summary()` method that summarizes the device's internal objects.\n", "- The command-line (only) magic: `%wa` prints tables of ophyd-labeled `Signal` objects.\n", "- `apstools.utils.listplans()`: list of top-level bluesky plans available at the command line.\n", @@ -68,21 +70,6 @@ "execution_count": 1, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "I Sun-14:22:27 - Console logging: /home/prjemian/Documents/projects/BCDA-APS/apstools/docs/source/examples/.logs/ipython_console.log\n", - "I Sun-14:22:27 - ############################################################ startup\n", - "I Sun-14:22:27 - logging started\n", - "I Sun-14:22:27 - logging level = 10\n", - "I Sun-14:22:27 - /home/prjemian/bluesky/instrument/session_logs.py\n", - "I Sun-14:22:27 - /home/prjemian/bluesky/instrument/collection.py\n", - "I Sun-14:22:27 - CONDA_PREFIX = /home/prjemian/.conda/envs/bluesky_2023_2\n", - "I Sun-14:22:27 - xmode exception level: 'Minimal'\n", - "I Sun-14:22:27 - /home/prjemian/bluesky/instrument/mpl/notebook.py\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -94,7 +81,25 @@ "Output logging : True\n", "Raw input log : False\n", "Timestamping : True\n", - "State : active\n", + "State : active\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "I Mon-15:49:17 - ############################################################ startup\n", + "I Mon-15:49:17 - logging started\n", + "I Mon-15:49:17 - logging level = 10\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/session_logs.py\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/collection.py\n", + "I Mon-15:49:17 - CONDA_PREFIX = /home/prjemian/.conda/envs/bluesky_2024_2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Exception reporting mode: Minimal\n" ] }, @@ -102,41 +107,45 @@ "name": "stderr", "output_type": "stream", "text": [ - "I Sun-14:22:28 - #### Bluesky Framework ####\n", - "I Sun-14:22:28 - /home/prjemian/bluesky/instrument/framework/check_python.py\n", - "I Sun-14:22:28 - /home/prjemian/bluesky/instrument/framework/check_bluesky.py\n", - "I Sun-14:22:29 - /home/prjemian/bluesky/instrument/framework/initialize.py\n", - "I Sun-14:22:29 - using databroker catalog 'training'\n", - "I Sun-14:22:29 - using ophyd control layer: pyepics\n", - "I Sun-14:22:29 - /home/prjemian/bluesky/instrument/framework/metadata.py\n", - "I Sun-14:22:29 - /home/prjemian/bluesky/instrument/epics_signal_config.py\n", - "I Sun-14:22:29 - Using RunEngine metadata for scan_id\n", - "I Sun-14:22:29 - #### Devices ####\n", - "I Sun-14:22:29 - /home/prjemian/bluesky/instrument/devices/area_detector.py\n", - "I Sun-14:22:29 - /home/prjemian/bluesky/instrument/devices/calculation_records.py\n", - "I Sun-14:22:32 - /home/prjemian/bluesky/instrument/devices/fourc_diffractometer.py\n", - "I Sun-14:22:32 - /home/prjemian/bluesky/instrument/devices/ioc_stats.py\n", - "I Sun-14:22:32 - /home/prjemian/bluesky/instrument/devices/kohzu_monochromator.py\n", - "I Sun-14:22:32 - /home/prjemian/bluesky/instrument/devices/motors.py\n", - "I Sun-14:22:32 - /home/prjemian/bluesky/instrument/devices/noisy_detector.py\n", - "I Sun-14:22:33 - /home/prjemian/bluesky/instrument/devices/scaler.py\n", - "I Sun-14:22:33 - /home/prjemian/bluesky/instrument/devices/shutter_simulator.py\n", - "I Sun-14:22:33 - /home/prjemian/bluesky/instrument/devices/simulated_fourc.py\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/devices/simulated_kappa.py\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/devices/sixc_diffractometer.py\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/devices/temperature_signal.py\n", - "I Sun-14:22:34 - #### Callbacks ####\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/callbacks/spec_data_file_writer.py\n", - "I Sun-14:22:34 - #### Plans ####\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/plans/lup_plan.py\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/plans/peak_finder_example.py\n", - "I Sun-14:22:34 - /home/prjemian/bluesky/instrument/utils/image_analysis.py\n", - "I Sun-14:22:34 - #### Utilities ####\n", - "I Sun-14:22:34 - writing to SPEC file: /home/prjemian/Documents/projects/BCDA-APS/apstools/docs/source/examples/20230312-142234.dat\n", - "I Sun-14:22:34 - >>>> Using default SPEC file name <<<<\n", - "I Sun-14:22:34 - file will be created when bluesky ends its next scan\n", - "I Sun-14:22:34 - to change SPEC file, use command: newSpecFile('title')\n", - "I Sun-14:22:34 - #### Startup is complete. ####\n" + "I Mon-15:49:17 - xmode exception level: 'Minimal'\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/mpl/notebook.py\n", + "I Mon-15:49:17 - #### Bluesky Framework ####\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/framework/check_python.py\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/framework/check_bluesky.py\n", + "I Mon-15:49:17 - /home/prjemian/bluesky/instrument/framework/initialize.py\n", + "I Mon-15:49:17 - RunEngine metadata saved in directory: /home/prjemian/.config/Bluesky_RunEngine_md\n", + "I Mon-15:49:18 - using databroker catalog 'training'\n", + "I Mon-15:49:18 - using ophyd control layer: pyepics\n", + "I Mon-15:49:18 - Using EPICS PV gp:gp:int20 for scan_id\n", + "I Mon-15:49:18 - /home/prjemian/bluesky/instrument/framework/metadata.py\n", + "I Mon-15:49:18 - #### Devices ####\n", + "I Mon-15:49:18 - /home/prjemian/bluesky/instrument/devices/area_detector.py\n", + "I Mon-15:49:18 - /home/prjemian/bluesky/instrument/devices/calculation_records.py\n", + "I Mon-15:49:24 - /home/prjemian/bluesky/instrument/devices/fourc_diffractometer.py\n", + "I Mon-15:49:24 - /home/prjemian/bluesky/instrument/devices/ioc_stats.py\n", + "I Mon-15:49:24 - /home/prjemian/bluesky/instrument/devices/kohzu_monochromator.py\n", + "I Mon-15:49:24 - /home/prjemian/bluesky/instrument/devices/motors.py\n", + "I Mon-15:49:24 - /home/prjemian/bluesky/instrument/devices/noisy_detector.py\n", + "I Mon-15:49:25 - /home/prjemian/bluesky/instrument/devices/scaler.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/shutter_simulator.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/simulated_fourc.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/simulated_kappa.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/slits.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/sixc_diffractometer.py\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/devices/temperature_signal.py\n", + "I Mon-15:49:26 - #### Callbacks ####\n", + "I Mon-15:49:26 - /home/prjemian/bluesky/instrument/callbacks/spec_data_file_writer.py\n", + "I Mon-15:49:27 - #### Plans ####\n", + "I Mon-15:49:27 - /home/prjemian/bluesky/instrument/plans/lup_plan.py\n", + "I Mon-15:49:27 - /home/prjemian/bluesky/instrument/plans/peak_finder_example.py\n", + "I Mon-15:49:27 - /home/prjemian/bluesky/instrument/utils/image_analysis.py\n", + "I Mon-15:49:27 - /home/prjemian/bluesky/instrument/plans/randomize_noisy_peak_plan.py\n", + "I Mon-15:49:27 - #### Utilities ####\n", + "I Mon-15:49:27 - writing to SPEC file: /home/prjemian/Documents/projects/BCDA-APS/apstools/docs/source/examples/20240708-154926.dat\n", + "I Mon-15:49:27 - >>>> Using default SPEC file name <<<<\n", + "I Mon-15:49:27 - file will be created when bluesky ends its next scan\n", + "I Mon-15:49:27 - to change SPEC file, use command: newSpecFile('title')\n", + "I Mon-15:49:27 - #### Startup is complete. ####\n" ] } ], @@ -168,46 +177,47 @@ { "data": { "text/plain": [ - "=========== ================================ ============== ===================\n", - "name class PV (or prefix) label(s) \n", - "=========== ================================ ============== ===================\n", - "I0 EpicsSignalRO gp:scaler1.S2 channel counter \n", - "I00 EpicsSignalRO gp:scaler1.S6 channel counter \n", - "I000 EpicsSignalRO gp:scaler1.S5 channel counter \n", - "adsimdet SimDetector_V34 ad: area_detector \n", - "calcouts UserCalcoutDevice gp: \n", - "calcs UserCalcsDevice gp: \n", - "dcm MyKohzu gp: \n", - "diode EpicsSignalRO gp:scaler1.S4 channel counter \n", - "fourc FourCircle gp: \n", - "gp_stats IocInfoDevice gp: \n", - "m1 MyEpicsMotor gp:m1 motor \n", - "m10 MyEpicsMotor gp:m10 motor \n", - "m11 MyEpicsMotor gp:m11 motor \n", - "m12 MyEpicsMotor gp:m12 motor \n", - "m13 MyEpicsMotor gp:m13 motor \n", - "m14 MyEpicsMotor gp:m14 motor \n", - "m15 MyEpicsMotor gp:m15 motor \n", - "m16 MyEpicsMotor gp:m16 motor \n", - "m2 MyEpicsMotor gp:m2 motor \n", - "m3 MyEpicsMotor gp:m3 motor \n", - "m4 MyEpicsMotor gp:m4 motor \n", - "m5 MyEpicsMotor gp:m5 motor \n", - "m6 MyEpicsMotor gp:m6 motor \n", - "m7 MyEpicsMotor gp:m7 motor \n", - "m8 MyEpicsMotor gp:m8 motor \n", - "m9 MyEpicsMotor gp:m9 motor \n", - "noisy EpicsSignalRO gp:userCalc1 detectors simulator\n", - "scaler1 ScalerCH gp:scaler1 scalers detectors \n", - "scint EpicsSignalRO gp:scaler1.S3 channel counter \n", - "shutter SimulatedApsPssShutterWithStatus shutters \n", - "sim4c SimulatedE4CV \n", - "simk4c SimulatedK4CV \n", - "simk6c SimulatedK6C \n", - "sixc SixCircle gp: \n", - "temperature MyPvPositioner gp:userCalc8 \n", - "timebase EpicsSignalRO gp:scaler1.S1 channel counter \n", - "=========== ================================ ============== ===================" + "============= ================================ ============== ===================\n", + "name class PV (or prefix) label(s) \n", + "============= ================================ ============== ===================\n", + "I0 EpicsSignalRO gp:scaler1.S2 channel counter \n", + "I00 EpicsSignalRO gp:scaler1.S6 channel counter \n", + "I000 EpicsSignalRO gp:scaler1.S5 channel counter \n", + "adsimdet SimDetector ad: area_detector \n", + "adsimk SimDetector kad: area_detector \n", + "dcm MyKohzu gp: \n", + "diode EpicsSignalRO gp:scaler1.S4 channel counter \n", + "fourc FourCircle gp: \n", + "gp_stats IocInfoDevice gp: \n", + "m1 MyEpicsMotor gp:m1 motor \n", + "m10 MyEpicsMotor gp:m10 motor \n", + "m11 MyEpicsMotor gp:m11 motor \n", + "m12 MyEpicsMotor gp:m12 motor \n", + "m13 MyEpicsMotor gp:m13 motor \n", + "m14 MyEpicsMotor gp:m14 motor \n", + "m15 MyEpicsMotor gp:m15 motor \n", + "m16 MyEpicsMotor gp:m16 motor \n", + "m2 MyEpicsMotor gp:m2 motor \n", + "m3 MyEpicsMotor gp:m3 motor \n", + "m4 MyEpicsMotor gp:m4 motor \n", + "m7 MyEpicsMotor gp:m7 motor \n", + "m8 MyEpicsMotor gp:m8 motor \n", + "m9 MyEpicsMotor gp:m9 motor \n", + "noisy EpicsSignalRO gp:userCalc1 simulator detectors\n", + "scaler1 ScalerCH gp:scaler1 scalers detectors \n", + "scint EpicsSignalRO gp:scaler1.S3 channel counter \n", + "shutter SimulatedApsPssShutterWithStatus shutters \n", + "sim4c SimulatedE4CV \n", + "simk4c SimulatedK4CV \n", + "simk6c SimulatedK6C \n", + "sixc SixCircle gp: \n", + "slit1 Optics2Slit2D_HV gp:Slit1 \n", + "temperature MyPvPositioner gp:userCalc8 \n", + "timebase EpicsSignalRO gp:scaler1.S1 channel counter \n", + "user_calcouts UserCalcoutDevice gp: \n", + "user_calcs UserCalcsDevice gp: \n", + "user_sseqs UserStringSequenceDevice gp: \n", + "============= ================================ ============== ===================" ] }, "execution_count": 2, @@ -313,7 +323,7 @@ " In [2]:\n", "\n", "(new in apstools release 1.1.8)\n", - "\u001b[0;31mFile:\u001b[0m ~/Documents/projects/BCDA-APS/apstools/apstools/utils/misc.py\n", + "\u001b[0;31mFile:\u001b[0m ~/.conda/envs/bluesky_2024_2/lib/python3.11/site-packages/apstools/utils/misc.py\n", "\u001b[0;31mType:\u001b[0m function" ] } @@ -345,7 +355,7 @@ "========= ================== ==========================\n", "data name value timestamp \n", "========= ================== ==========================\n", - "noisy 255.82191640413177 2023-03-12 14:22:33.135021\n", + "noisy 11513.796622133092 2024-07-08 15:49:25.180968\n", "========= ================== ==========================" ] }, @@ -378,17 +388,17 @@ "=============================== =================================== ==========================\n", "data name value timestamp \n", "=============================== =================================== ==========================\n", - "temperature_setpoint 25.0 2023-03-12 14:22:34.218341\n", - "temperature 25.0 2023-03-12 14:22:34.222096\n", - "temperature_done True 2023-03-12 14:22:34.228893\n", - "temperature_calculation A+max(-D,min(D,(B-A)))+C*(RNDM-0.5) 2023-03-12 14:22:34.224162\n", - "temperature_description temperature 2023-03-12 14:22:34.215664\n", - "temperature_max_change 2.0 2023-03-12 14:22:34.223119\n", - "temperature_noise 1.0 2023-03-12 14:22:34.222096\n", - "temperature_previous_value_pv gp:userCalc8.VAL 2023-03-12 14:22:34.215664\n", - "temperature_scanning_rate 5 2023-03-12 14:22:34.224162\n", - "temperature_tolerance 1.0 2023-03-12 14:22:34.224162\n", - "temperature_report_dmov_changes False 2023-03-12 14:22:34.217478\n", + "temperature 25.013054093232626 2024-07-08 15:49:26.533470\n", + "temperature_setpoint 25.0 2024-07-08 15:49:26.344567\n", + "temperature_done True 2024-07-08 15:49:26.541581\n", + "temperature_calculation A+max(-D,min(D,(B-A)))+C*(RNDM-0.5) 2024-07-08 15:49:26.347289\n", + "temperature_description temperature 2024-07-08 15:49:26.343089\n", + "temperature_max_change 2.0 2024-07-08 15:49:26.346818\n", + "temperature_noise 1.0 2024-07-08 15:49:26.346368\n", + "temperature_previous_value_pv gp:userCalc8.VAL 2024-07-08 15:49:26.343089\n", + "temperature_scanning_rate 5 2024-07-08 15:49:26.347289\n", + "temperature_tolerance 1.0 2024-07-08 15:49:26.347289\n", + "temperature_report_dmov_changes False 2024-07-08 15:49:26.343873\n", "=============================== =================================== ==========================" ] }, @@ -419,29 +429,29 @@ { "data": { "text/plain": [ - "================================ ======== ==========================\n", - "data name value timestamp \n", - "================================ ======== ==========================\n", - "fourc_omega 0.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_user_setpoint 0.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_user_offset 0.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_user_offset_dir 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_offset_freeze_switch 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_set_use_switch 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_velocity 1.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_acceleration 0.2 2023-03-11 14:05:08.019094\n", - "fourc_omega_motor_egu degrees 2023-03-11 14:05:08.019094\n", - "fourc_omega_motor_is_moving 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_motor_done_move 1 2023-03-11 14:05:08.019094\n", - "fourc_omega_high_limit_switch 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_low_limit_switch 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_high_limit_travel 32000.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_low_limit_travel -32000.0 2023-03-11 14:05:08.019094\n", - "fourc_omega_direction_of_travel 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_motor_stop 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_home_forward 0 2023-03-11 14:05:08.019094\n", - "fourc_omega_home_reverse 0 2023-03-11 14:05:08.019094\n", - "================================ ======== ==========================" + "================================ ======= ==========================\n", + "data name value timestamp \n", + "================================ ======= ==========================\n", + "fourc_omega 0.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_user_setpoint 0.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_user_offset 0.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_user_offset_dir 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_offset_freeze_switch 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_set_use_switch 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_velocity 1.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_acceleration 0.2 2024-07-08 15:45:24.601966\n", + "fourc_omega_motor_egu degrees 2024-07-08 15:45:24.601966\n", + "fourc_omega_motor_is_moving 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_motor_done_move 1 2024-07-08 15:45:24.601966\n", + "fourc_omega_high_limit_switch 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_low_limit_switch 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_high_limit_travel 1000.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_low_limit_travel -1000.0 2024-07-08 15:45:24.601966\n", + "fourc_omega_direction_of_travel 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_motor_stop 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_home_forward 0 2024-07-08 15:45:24.601966\n", + "fourc_omega_home_reverse 0 2024-07-08 15:45:24.601966\n", + "================================ ======= ==========================" ] }, "execution_count": 6, @@ -472,10 +482,10 @@ "==================== ===== ==========================\n", "data name value timestamp \n", "==================== ===== ==========================\n", - "shutter_busy False 2023-03-12 14:22:33.990247\n", - "shutter_open_signal 0 2023-03-12 14:22:33.990307\n", - "shutter_close_signal 0 2023-03-12 14:22:33.990352\n", - "shutter_pss_state close 2023-03-12 14:22:33.990411\n", + "shutter_busy False 2024-07-08 15:49:26.129390\n", + "shutter_open_signal 0 2024-07-08 15:49:26.129409\n", + "shutter_close_signal 0 2024-07-08 15:49:26.129429\n", + "shutter_pss_state close 2024-07-08 15:49:26.129442\n", "==================== ===== ==========================" ] }, @@ -504,13 +514,13 @@ { "data": { "text/plain": [ - "==================================== ========= ==========================\n", - "data name value timestamp \n", - "==================================== ========= ==========================\n", - "calcs_calc1_channels_A_input_value 0.0 2023-03-12 14:22:32.982288\n", - "calcs_calc1_channels_A_input_pv gp:m1.RBV 2023-03-12 14:22:33.046510\n", - "calcs_calc1_channels_A_input_trigger 1 2023-03-12 14:22:33.018162\n", - "==================================== ========= ==========================" + "========================================= ========= ==========================\n", + "data name value timestamp \n", + "========================================= ========= ==========================\n", + "user_calcs_calc1_channels_A_input_value 0.0 2024-07-08 15:49:25.123935\n", + "user_calcs_calc1_channels_A_input_pv gp:m1.RBV 2024-07-08 15:49:25.160628\n", + "user_calcs_calc1_channels_A_input_trigger 1 2024-07-08 15:49:25.142936\n", + "========================================= ========= ==========================" ] }, "execution_count": 8, @@ -519,7 +529,7 @@ } ], "source": [ - "listdevice(calcs.calc1.channels.A)" + "listdevice(user_calcs.calc1.channels.A)" ] }, { @@ -549,12 +559,16 @@ "\u001b[0;34m\u001b[0m \u001b[0mshow_pv\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0muse_datetime\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mshow_ancient\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0mmax_column_width\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0mtable_style\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m<\u001b[0m\u001b[0mTableStyle\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyRestTable\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m<\u001b[0m\u001b[0;32mclass\u001b[0m \u001b[0;34m'apstools.utils._core.PRT_Table'\u001b[0m\u001b[0;34m>>\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0m_call_args\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m\n", "Describe the signal information from device ``obj`` in a pandas DataFrame.\n", "\n", - "Look through all subcomponents to find all the signals to be shown.\n", + "Look through all subcomponents to find all the signals to be\n", + "shown. Components that are disconnected will be skipped and a\n", + "warning logged.\n", "\n", "PARAMETERS\n", "\n", @@ -582,6 +596,11 @@ " column ``PV``.\n", "\n", " default: ``False``\n", + "\n", + " .. note:: Special case when ``show_pv=True``:\n", + " If ``cname`` is not provided, it will be set ``True``.\n", + " If ``dname`` is not provided, it will be set ``False``.\n", + "\n", "use_datetime *bool* :\n", " Show the EPICS timestamp (time of last update) in\n", " column ``timestamp``.\n", @@ -596,13 +615,18 @@ " the original ``.db`` file.\n", "\n", " default: ``True``\n", + "max_column_width *int* or *None* :\n", + " Truncate long columns to no more than this length. If not default,\n", + " then table will be formatted using pyRestTable.\n", + "\n", + " default: ``None`` (will use ``50``)\n", "table_style *object* :\n", " Either ``apstools.utils.TableStyle.pandas`` (default) or\n", " using values from :class:`apstools.utils.TableStyle`.\n", "\n", " .. note:: ``pandas.DataFrame`` wll truncate long text\n", " to at most 50 characters.\n", - "\u001b[0;31mFile:\u001b[0m ~/Documents/projects/BCDA-APS/apstools/apstools/utils/device_info.py\n", + "\u001b[0;31mFile:\u001b[0m ~/.conda/envs/bluesky_2024_2/lib/python3.11/site-packages/apstools/utils/device_info.py\n", "\u001b[0;31mType:\u001b[0m function" ] } @@ -611,6 +635,51 @@ "listdevice?" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `.component_names` method\n", + "\n", + "Every object using `ophyd.Device` (or a subclass) has a\n", + "[.component_names](https://github.com/bluesky/ophyd/blob/285b0c75da67c935a8073481d6442362723b127b/ophyd/device.py#L904)\n", + "list of its ophyd children. (Note: a `Signal` does not have a\n", + "`.component_names` list.)\n", + "\n", + "For example, this lists the `.component_names` of one of the calculation (EPICS `swait` record) channels:" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('input_value', 'input_pv', 'input_trigger')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "user_calcs.calc1.channels.A.component_names" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The calculation object has three children:\n", + "\n", + "- `user_calcs.calc1.channels.A.input_value`\n", + "- `user_calcs.calc1.channels.A.input_pv`\n", + "- `user_calcs.calc1.channels.A.input_trigger`" + ] + }, { "attachments": {}, "cell_type": "markdown", @@ -638,7 +707,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -650,19 +719,19 @@ "\n", "read attrs\n", "----------\n", - "input_value EpicsSignal ('calcs_calc1_channels_A_input_value')\n", + "input_value EpicsSignal ('user_calcs_calc1_channels_A_input_value')\n", "\n", "config keys\n", "-----------\n", - "calcs_calc1_channels_A_input_pv\n", - "calcs_calc1_channels_A_input_trigger\n", - "calcs_calc1_channels_A_input_value\n", + "user_calcs_calc1_channels_A_input_pv\n", + "user_calcs_calc1_channels_A_input_trigger\n", + "user_calcs_calc1_channels_A_input_value\n", "\n", "configuration attrs\n", "-------------------\n", - "input_value EpicsSignal ('calcs_calc1_channels_A_input_value')\n", - "input_pv EpicsSignal ('calcs_calc1_channels_A_input_pv')\n", - "input_trigger EpicsSignal ('calcs_calc1_channels_A_input_trigger')\n", + "input_value EpicsSignal ('user_calcs_calc1_channels_A_input_value')\n", + "input_pv EpicsSignal ('user_calcs_calc1_channels_A_input_pv')\n", + "input_trigger EpicsSignal ('user_calcs_calc1_channels_A_input_trigger')\n", "\n", "unused attrs\n", "------------\n", @@ -671,7 +740,7 @@ } ], "source": [ - "calcs.calc1.channels.A.summary()" + "user_calcs.calc1.channels.A.summary()" ] }, { @@ -685,7 +754,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -704,11 +773,11 @@ "\n", "config keys\n", "-----------\n", - "fourc_omega_motor_egu\n", + "fourc_omega_acceleration\n", "\n", "configuration attrs\n", "-------------------\n", - "motor_egu EpicsSignal ('fourc_omega_motor_egu')\n", + "acceleration EpicsSignal ('fourc_omega_acceleration')\n", "\n", "unused attrs\n", "------------\n", @@ -717,7 +786,7 @@ "offset_freeze_switch EpicsSignal ('fourc_omega_offset_freeze_switch')\n", "set_use_switch EpicsSignal ('fourc_omega_set_use_switch')\n", "velocity EpicsSignal ('fourc_omega_velocity')\n", - "acceleration EpicsSignal ('fourc_omega_acceleration')\n", + "motor_egu EpicsSignal ('fourc_omega_motor_egu')\n", "motor_is_moving EpicsSignalRO ('fourc_omega_motor_is_moving')\n", "motor_done_move EpicsSignalRO ('fourc_omega_motor_done_move')\n", "high_limit_switch EpicsSignalRO ('fourc_omega_high_limit_switch')\n", @@ -753,7 +822,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -762,35 +831,33 @@ "text": [ "motor\n", " Positioner Value Low Limit High Limit Offset \n", - " dcm_m_theta 11.18 -32000.0 32000.0 0.0 \n", - " dcm_m_y -17.84 -32000.0 32000.0 0.0 \n", - " dcm_m_z 90.29 -32000.0 32000.0 0.0 \n", - " fourc_chi 0.0 -32000.0 32000.0 0.0 \n", - " fourc_omega 0.0 -32000.0 32000.0 0.0 \n", - " fourc_phi 0.0 -32000.0 32000.0 0.0 \n", - " fourc_tth 0.0 -32000.0 32000.0 0.0 \n", - " m1 0.0 -32000.0 32000.0 0.0 \n", - " m10 0.0 -32000.0 32000.0 0.0 \n", - " m11 0.0 -32000.0 32000.0 0.0 \n", - " m12 0.0 -32000.0 32000.0 0.0 \n", - " m13 0.0 -32000.0 32000.0 0.0 \n", - " m14 0.0 -32000.0 32000.0 0.0 \n", - " m15 0.0 -32000.0 32000.0 0.0 \n", - " m16 0.0 -32000.0 32000.0 0.0 \n", - " m2 0.0 -32000.0 32000.0 0.0 \n", - " m3 0.0 -32000.0 32000.0 0.0 \n", - " m4 0.0 -32000.0 32000.0 0.0 \n", - " m5 0.65 -32000.0 32000.0 0.0 \n", - " m6 0.35 -32000.0 32000.0 0.0 \n", - " m7 0.0 -32000.0 32000.0 0.0 \n", - " m8 0.0 -32000.0 32000.0 0.0 \n", - " m9 0.0 -32000.0 32000.0 0.0 \n", - " sixc_chi 0.0 -32000.0 32000.0 0.0 \n", - " sixc_delta 0.0 -32000.0 32000.0 0.0 \n", - " sixc_gamma 0.0 -32000.0 32000.0 0.0 \n", - " sixc_mu 0.0 -32000.0 32000.0 0.0 \n", - " sixc_omega 0.0 -32000.0 32000.0 0.0 \n", - " sixc_phi 0.0 -32000.0 32000.0 0.0 \n", + " dcm_m_theta 0.0 -1000.0 1000.0 0.0 \n", + " dcm_m_y 0.0 -1000.0 1000.0 0.0 \n", + " dcm_m_z 0.0 -1000.0 1000.0 0.0 \n", + " fourc_chi 0.0 -1000.0 1000.0 0.0 \n", + " fourc_omega 0.0 -1000.0 1000.0 0.0 \n", + " fourc_phi 0.0 -1000.0 1000.0 0.0 \n", + " fourc_tth 0.0 -1000.0 1000.0 0.0 \n", + " m1 0.0 -1000.0 1000.0 0.0 \n", + " m10 0.0 -1000.0 1000.0 0.0 \n", + " m11 0.0 -1000.0 1000.0 0.0 \n", + " m12 0.0 -1000.0 1000.0 0.0 \n", + " m13 0.0 -1000.0 1000.0 0.0 \n", + " m14 0.0 -1000.0 1000.0 0.0 \n", + " m15 0.0 -1000.0 1000.0 0.0 \n", + " m16 0.0 -1000.0 1000.0 0.0 \n", + " m2 0.0 -1000.0 1000.0 0.0 \n", + " m3 0.0 -1000.0 1000.0 0.0 \n", + " m4 0.0 -1000.0 1000.0 0.0 \n", + " m7 0.0 -1000.0 1000.0 0.0 \n", + " m8 0.0 -1000.0 1000.0 0.0 \n", + " m9 0.0 -1000.0 1000.0 0.0 \n", + " sixc_chi 0.0 -1000.0 1000.0 0.0 \n", + " sixc_delta 0.0 -1000.0 1000.0 0.0 \n", + " sixc_gamma 0.0 -1000.0 1000.0 0.0 \n", + " sixc_mu 0.0 -1000.0 1000.0 0.0 \n", + " sixc_omega 0.0 -1000.0 1000.0 0.0 \n", + " sixc_phi 0.0 -1000.0 1000.0 0.0 \n", "\n", " Local variable name Ophyd name (to be recorded as metadata)\n", " dcm.m_theta dcm_m_theta \n", @@ -811,8 +878,6 @@ " m2 m2 \n", " m3 m3 \n", " m4 m4 \n", - " m5 m5 \n", - " m6 m6 \n", " m7 m7 \n", " m8 m8 \n", " m9 m9 \n", @@ -845,7 +910,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -855,38 +920,37 @@ "area_detector\n", " Local variable name Ophyd name (to be recorded as metadata)\n", " adsimdet adsimdet \n", + " adsimk adsimk \n", "\n", "motor\n", " Positioner Value Low Limit High Limit Offset \n", - " dcm_m_theta 11.18 -32000.0 32000.0 0.0 \n", - " dcm_m_y -17.84 -32000.0 32000.0 0.0 \n", - " dcm_m_z 90.29 -32000.0 32000.0 0.0 \n", - " fourc_chi 0.0 -32000.0 32000.0 0.0 \n", - " fourc_omega 0.0 -32000.0 32000.0 0.0 \n", - " fourc_phi 0.0 -32000.0 32000.0 0.0 \n", - " fourc_tth 0.0 -32000.0 32000.0 0.0 \n", - " m1 0.0 -32000.0 32000.0 0.0 \n", - " m10 0.0 -32000.0 32000.0 0.0 \n", - " m11 0.0 -32000.0 32000.0 0.0 \n", - " m12 0.0 -32000.0 32000.0 0.0 \n", - " m13 0.0 -32000.0 32000.0 0.0 \n", - " m14 0.0 -32000.0 32000.0 0.0 \n", - " m15 0.0 -32000.0 32000.0 0.0 \n", - " m16 0.0 -32000.0 32000.0 0.0 \n", - " m2 0.0 -32000.0 32000.0 0.0 \n", - " m3 0.0 -32000.0 32000.0 0.0 \n", - " m4 0.0 -32000.0 32000.0 0.0 \n", - " m5 0.65 -32000.0 32000.0 0.0 \n", - " m6 0.35 -32000.0 32000.0 0.0 \n", - " m7 0.0 -32000.0 32000.0 0.0 \n", - " m8 0.0 -32000.0 32000.0 0.0 \n", - " m9 0.0 -32000.0 32000.0 0.0 \n", - " sixc_chi 0.0 -32000.0 32000.0 0.0 \n", - " sixc_delta 0.0 -32000.0 32000.0 0.0 \n", - " sixc_gamma 0.0 -32000.0 32000.0 0.0 \n", - " sixc_mu 0.0 -32000.0 32000.0 0.0 \n", - " sixc_omega 0.0 -32000.0 32000.0 0.0 \n", - " sixc_phi 0.0 -32000.0 32000.0 0.0 \n", + " dcm_m_theta 0.0 -1000.0 1000.0 0.0 \n", + " dcm_m_y 0.0 -1000.0 1000.0 0.0 \n", + " dcm_m_z 0.0 -1000.0 1000.0 0.0 \n", + " fourc_chi 0.0 -1000.0 1000.0 0.0 \n", + " fourc_omega 0.0 -1000.0 1000.0 0.0 \n", + " fourc_phi 0.0 -1000.0 1000.0 0.0 \n", + " fourc_tth 0.0 -1000.0 1000.0 0.0 \n", + " m1 0.0 -1000.0 1000.0 0.0 \n", + " m10 0.0 -1000.0 1000.0 0.0 \n", + " m11 0.0 -1000.0 1000.0 0.0 \n", + " m12 0.0 -1000.0 1000.0 0.0 \n", + " m13 0.0 -1000.0 1000.0 0.0 \n", + " m14 0.0 -1000.0 1000.0 0.0 \n", + " m15 0.0 -1000.0 1000.0 0.0 \n", + " m16 0.0 -1000.0 1000.0 0.0 \n", + " m2 0.0 -1000.0 1000.0 0.0 \n", + " m3 0.0 -1000.0 1000.0 0.0 \n", + " m4 0.0 -1000.0 1000.0 0.0 \n", + " m7 0.0 -1000.0 1000.0 0.0 \n", + " m8 0.0 -1000.0 1000.0 0.0 \n", + " m9 0.0 -1000.0 1000.0 0.0 \n", + " sixc_chi 0.0 -1000.0 1000.0 0.0 \n", + " sixc_delta 0.0 -1000.0 1000.0 0.0 \n", + " sixc_gamma 0.0 -1000.0 1000.0 0.0 \n", + " sixc_mu 0.0 -1000.0 1000.0 0.0 \n", + " sixc_omega 0.0 -1000.0 1000.0 0.0 \n", + " sixc_phi 0.0 -1000.0 1000.0 0.0 \n", "\n", " Local variable name Ophyd name (to be recorded as metadata)\n", " dcm.m_theta dcm_m_theta \n", @@ -907,8 +971,6 @@ " m2 m2 \n", " m3 m3 \n", " m4 m4 \n", - " m5 m5 \n", - " m6 m6 \n", " m7 m7 \n", " m8 m8 \n", " m9 m9 \n", @@ -919,14 +981,14 @@ " sixc.omega sixc_omega \n", " sixc.phi sixc_phi \n", "\n", - "detectors\n", + "simulator\n", " Local variable name Ophyd name (to be recorded as metadata)\n", " noisy noisy \n", - " scaler1 scaler1 \n", "\n", - "simulator\n", + "detectors\n", " Local variable name Ophyd name (to be recorded as metadata)\n", " noisy noisy \n", + " scaler1 scaler1 \n", "\n", "scalers\n", " Local variable name Ophyd name (to be recorded as metadata)\n", @@ -938,14 +1000,14 @@ " I00 I00 \n", " I000 I000 \n", " diode diode \n", - " scaler1.channels.chan01.s clock \n", + " scaler1.channels.chan01.s timebase \n", " scaler1.channels.chan02.s I0 \n", " scaler1.channels.chan03.s scint \n", " scaler1.channels.chan04.s diode \n", " scaler1.channels.chan05.s I000 \n", " scaler1.channels.chan06.s I00 \n", " scint scint \n", - " timebase clock \n", + " timebase timebase \n", "\n", "counter\n", " Local variable name Ophyd name (to be recorded as metadata)\n", @@ -953,14 +1015,14 @@ " I00 I00 \n", " I000 I000 \n", " diode diode \n", - " scaler1.channels.chan01.s clock \n", + " scaler1.channels.chan01.s timebase \n", " scaler1.channels.chan02.s I0 \n", " scaler1.channels.chan03.s scint \n", " scaler1.channels.chan04.s diode \n", " scaler1.channels.chan05.s I000 \n", " scaler1.channels.chan06.s I00 \n", " scint scint \n", - " timebase clock \n", + " timebase timebase \n", "\n", "shutters\n", " Local variable name Ophyd name (to be recorded as metadata)\n", @@ -989,7 +1051,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -1002,11 +1064,14 @@ "two_pass_scan Find the peak of noisy v. m1 in the range of + ...\n", "findpeak_multipass find peak of noisy v. m1 by repeated scans wit ...\n", "repeat_findpeak Repeat findpeak_multipass() with new parameter ...\n", + "randomize_noisy_peak Randomize the parameters of the noisy peak sim ...\n", + "lineup2 Lineup and center a given mover, relative to c ...\n", + "wait_dm_upload (bluesky plan) Wait for APS DM data acquisitio ...\n", "redefine_motor_position Set EPICS motor record's user coordinate to `` ...\n", "======================= ==================================================" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1028,7 +1093,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1037,7 +1102,7 @@ "text": [ "\u001b[0;31mSignature:\u001b[0m \u001b[0mredefine_motor_position\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmotor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_position\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m Set EPICS motor record's user coordinate to ``new_position``.\n", - "\u001b[0;31mFile:\u001b[0m ~/Documents/projects/BCDA-APS/apstools/apstools/utils/misc.py\n", + "\u001b[0;31mFile:\u001b[0m ~/.conda/envs/bluesky_2024_2/lib/python3.11/site-packages/apstools/utils/misc.py\n", "\u001b[0;31mType:\u001b[0m function" ] } @@ -1046,9 +1111,16 @@ "redefine_motor_position?" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The source code is shown when two questions marks are used." + ] + }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -1062,7 +1134,7 @@ "\u001b[0;34m\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbps\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmotor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_use_switch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbps\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmotor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muser_setpoint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_position\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\n", "\u001b[0;34m\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbps\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmotor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_use_switch\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mFile:\u001b[0m ~/Documents/projects/BCDA-APS/apstools/apstools/utils/misc.py\n", + "\u001b[0;31mFile:\u001b[0m ~/.conda/envs/bluesky_2024_2/lib/python3.11/site-packages/apstools/utils/misc.py\n", "\u001b[0;31mType:\u001b[0m function" ] } @@ -1081,7 +1153,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -1128,7 +1200,7 @@ "========================================= ==================================================" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1147,7 +1219,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -1158,10 +1230,13 @@ "==================================== ==================================================\n", "apstools.plans.addDeviceDataAsStream Renamed to write_stream(). Will remove with r ...\n", "apstools.plans.documentation_run Save text as a bluesky run. \n", + "apstools.plans.edge_align Align to the edge given mover & detector data, ...\n", "apstools.plans.execute_command_list plan: execute the command list \n", "apstools.plans.label_stream_stub Writes ophyd-labeled objects to open bluesky r ...\n", "apstools.plans.label_stream_wrapper Decorator support: Write labeled device(s) to ...\n", - "apstools.plans.lineup Lineup and center a given axis, relative to cu ...\n", + "apstools.plans.lineup (use ``lineup2()`` now) Lineup and center a gi ...\n", + "apstools.plans.lineup2 Lineup and center a given mover, relative to c ...\n", + "apstools.plans.mesh_list_grid_scan Scan over a multi-dimensional mesh, collecting ...\n", "apstools.plans.nscan Scan over ``n`` variables moved together, each ...\n", "apstools.plans.request_input Request input from the user. Returns ``True`` ...\n", "apstools.plans.run_blocking_function Run a blocking function as a bluesky plan, in ...\n", @@ -1173,7 +1248,7 @@ "==================================== ==================================================" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -1201,7 +1276,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1210,7 +1285,7 @@ "{'cat': }" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1232,7 +1307,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -1248,7 +1323,7 @@ " 'training']" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1257,13 +1332,6 @@ "import databroker\n", "list(databroker.catalog)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1282,7 +1350,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.11.0" }, "orig_nbformat": 4, "vscode": {