{"id":18818423,"url":"https://github.com/smithsonian/rxlab-instruments","last_synced_at":"2026-03-14T23:34:37.304Z","repository":{"id":57463336,"uuid":"244412896","full_name":"Smithsonian/RxLab-Instruments","owner":"Smithsonian","description":"Control various instruments in the Receiver Lab over Ethernet","archived":false,"fork":false,"pushed_at":"2025-01-31T22:13:26.000Z","size":86,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-13T02:08:52.478Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Smithsonian.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-02T16:00:22.000Z","updated_at":"2025-01-31T22:13:30.000Z","dependencies_parsed_at":"2024-08-04T21:53:14.914Z","dependency_job_id":"6aacb21a-ee3a-466e-aff7-8496549c62ec","html_url":"https://github.com/Smithsonian/RxLab-Instruments","commit_stats":{"total_commits":66,"total_committers":3,"mean_commits":22.0,"dds":"0.10606060606060608","last_synced_commit":"56fd895c6b047edb4ee3083e43939b5496657223"},"previous_names":["smithsonian/scpi-lab-instruments"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Smithsonian%2FRxLab-Instruments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Smithsonian%2FRxLab-Instruments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Smithsonian%2FRxLab-Instruments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Smithsonian%2FRxLab-Instruments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Smithsonian","download_url":"https://codeload.github.com/Smithsonian/RxLab-Instruments/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248796904,"owners_count":21163050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T00:16:40.485Z","updated_at":"2026-03-14T23:34:37.242Z","avatar_url":"https://github.com/Smithsonian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Receiver Lab Instruments\n========================\n\nControl various instruments in the Receiver Lab over LAN.\n\nInstallation\n------------\n\nTo install via ``pip``:\n\n```bash\n# From the GitHub repo (latest version)\npython3 -m pip install git+https://github.com/Smithsonian/RxLab-Instruments.git\n\n# From PyPI (latest stable release)\npython3 -m pip install RxLab-Instruments\n```\n\nTo use Keithley instruments, you need to install the ``vxi11`` package:\n\n```bash\npython3 -m pip install git+https://github.com/python-ivi/python-vxi11.git\n```\n\nTo use Rohde \u0026 Schwarz instruments, you need to install the ``pyvisa`` package:\n\n```bash\npython3 -m pip install -U pyvisa\n```\n\n**Note:** I have not added these packages to the requirements in ``setup.py`` because this allows you to decide which packages you want/need to install. For example, if you only want to use the Hittite module, you don't need to install ``vxi11`` or ``pyvisa``.\n\nSupported Instruments\n---------------------\n\n- Agilent 34410A/11A/L4411A 6.5 Digit Multimeter\n- Agilent E8257D/67D PSG Analog Signal Generator\n- Hittite HMC-T2240 Signal Generator\n- Keithley 2280 Power Supply\n- Keithley 2602 Source Meter\n- Micro Lambda Wireless (MLBF series) YIG Tuned Filters\n- Micro Lambda Wireless YIG Tuned Synthesizers\n- Rohde \u0026 Schwarz FSVA40 Spectrum Analyzer\n- Siglent SDS-1104X-E Oscilloscope\n\nThis package will probably also work with closely related instruments, but I have only tested this package with the instruments listed above.\n\nExample\n-------\n\n```python\nfrom labinstruments.agilent import Agilent34411A, AgilentE8257D\nfrom labinstruments.hittite import Hittite\nfrom labinstruments.keithley import Keithley2280\nfrom labinstruments.microlambda import YigFilter\n\n# Agilent multimeter\ndmm = Agilent34411A(\"192.168.0.3\")\nprint(\"DC voltage: {:.2f} V\".format(dmm.measure_dc_voltage('V')))\ndmm.close()\n\n# Agilent signal generator\nsig = AgilentE8257D(\"192.168.0.31\")\nsig.set_frequency(15, \"GHz\")\nsig.set_power(-20, \"dBm\")\nsig.power_on()\nsig.close()\n\n# Connect to Hittite signal generator\nsg = Hittite('192.168.0.159')\nsg.set_power(-40, 'dBm')\nsg.set_frequency(5, 'GHz')\nsg.power_on()\nsg.close()\n\n# Connect to Keithley power supply\nps = Keithley2280('192.168.0.117')\nps.reset()\nps.output_on()\nps.set_voltage_limit(12)\nps.set_voltage(2)\nps.set_current(0.1)\nps.power_on()\nps.close()\n\n# Connect to Micro Lambda YIG filter\nyig = YigFilter('192.168.0.3')\nyig.set_frequency(5, 'GHz')\nyig.close()\n```\n\nReferences\n----------\n\n[\"System Power Supply Programming Using SCPI Commands\"](https://www.keysight.com/us/en/assets/7018-06572/white-papers/5992-3841.pdf) from Keysight\n\n[\"Control a Siglent oscilloscope with Python\"](https://ktln2.org/2018/02/20/control-siglent-oscilloscope/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithsonian%2Frxlab-instruments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmithsonian%2Frxlab-instruments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithsonian%2Frxlab-instruments/lists"}