{"id":21373,"library":"genie-libs-robot","title":"Genie Libs Robot","description":"RobotFramework libraries to interact with Genie, a network automation framework. Current version 26.3. Released on PyPI; cadence varies.","status":"active","version":"26.3","language":"python","source_language":"en","source_url":"https://github.com/CiscoDevNet/genie-libs-robot","tags":["robotframework","genie","network-automation","pyats"],"install":[{"cmd":"pip install genie-libs-robot","lang":"bash","label":"Latest release"}],"dependencies":[{"reason":"Required for Genie interaction","package":"genie","optional":true},{"reason":"Required for pyATS infrastructure","package":"pyats","optional":true},{"reason":"Core RobotFramework dependency","package":"robotframework","optional":false}],"imports":[{"note":"","symbol":"GenieRobot","correct":"from genie_libs.robot import GenieRobot"},{"note":"","symbol":"TestbedLoader","correct":"from genie_libs.robot import TestbedLoader"}],"quickstart":{"code":"from genie_libs.robot import GenieRobot\nfrom genie import testbed\n\n# Load testbed (provide path or environment variable)\ntb = testbed.load('testbed.yaml' if 'TESTBED_FILE' not in __import__('os').environ else __import__('os').environ['TESTBED_FILE'])\n# Example: use GenieRobot to connect\nrobot = GenieRobot()\nrobot.testbed = tb\ndevice = robot.connect(alias='uut', via='cli')\nprint(device.connected)","lang":"python","description":"Minimal example to import and use GenieRobot from genie_libs.robot."},"warnings":[{"fix":"Use `from genie_libs.robot import ...`.","message":"The package import path uses underscores: `genie_libs.robot` not `genie-libs-robot` or `genielibs`.","severity":"gotcha","affected_versions":"all"},{"fix":"Always assign a testbed to robot.testbed before calling connect.","message":"GenieRobot expects a testbed object; missing testbed leads to confusing attribute errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Update import to `from genie_libs.robot import ...`.","message":"Older versions used `from genie.libs.robot` (with dots); changed to underscores in recent releases.","severity":"deprecated","affected_versions":"<26.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install `genie-libs-robot` via pip, then import as `from genie_libs.robot import ...`.","cause":"Missing package or wrong installed name; `genie-libs-robot` not imported directly.","error":"ModuleNotFoundError: No module named 'genie_libs'"},{"fix":"Ensure you have version 26.3 or later; check available exports via `dir(genie_libs.robot)`.","cause":"Symbol not found; might be wrong version or name typo.","error":"ImportError: cannot import name 'GenieRobot' from 'genie_libs.robot'"},{"fix":"Assign a testbed: `robot.testbed = testbed.load('path.yaml')`.","cause":"Testbed not set before use.","error":"AttributeError: 'GenieRobot' object has no attribute 'testbed'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}