Genie Libs Robot
raw JSON → 26.3 verified Mon Apr 27 auth: no python
RobotFramework libraries to interact with Genie, a network automation framework. Current version 26.3. Released on PyPI; cadence varies.
pip install genie-libs-robot Common errors
error ModuleNotFoundError: No module named 'genie_libs' ↓
cause Missing package or wrong installed name; `genie-libs-robot` not imported directly.
fix
Install
genie-libs-robot via pip, then import as from genie_libs.robot import .... error ImportError: cannot import name 'GenieRobot' from 'genie_libs.robot' ↓
cause Symbol not found; might be wrong version or name typo.
fix
Ensure you have version 26.3 or later; check available exports via
dir(genie_libs.robot). error AttributeError: 'GenieRobot' object has no attribute 'testbed' ↓
cause Testbed not set before use.
fix
Assign a testbed:
robot.testbed = testbed.load('path.yaml'). Warnings
gotcha The package import path uses underscores: `genie_libs.robot` not `genie-libs-robot` or `genielibs`. ↓
fix Use `from genie_libs.robot import ...`.
gotcha GenieRobot expects a testbed object; missing testbed leads to confusing attribute errors. ↓
fix Always assign a testbed to robot.testbed before calling connect.
deprecated Older versions used `from genie.libs.robot` (with dots); changed to underscores in recent releases. ↓
fix Update import to `from genie_libs.robot import ...`.
Imports
- GenieRobot
from genie_libs.robot import GenieRobot - TestbedLoader
from genie_libs.robot import TestbedLoader
Quickstart
from genie_libs.robot import GenieRobot
from genie import testbed
# Load testbed (provide path or environment variable)
tb = testbed.load('testbed.yaml' if 'TESTBED_FILE' not in __import__('os').environ else __import__('os').environ['TESTBED_FILE'])
# Example: use GenieRobot to connect
robot = GenieRobot()
robot.testbed = tb
device = robot.connect(alias='uut', via='cli')
print(device.connected)