Registry / devops / genie-libs-conf

genie-libs-conf

JSON →
library26.5pypypiunverified

Genie libs Conf is a Python library within the pyATS/Genie framework, designed to configure network device topologies through Python object attributes. It provides a programmatic way to define and apply configurations, often used in network automation and testing. Version 26.3 is current, and releases typically align with the broader pyATS/Genie framework, which has a regular, frequent release cycle.

pip install genie-libs-conf
INSTALL
IMPORT
SIG · GENIE-LIBS-CONF
G
genie-libs-conf
devopspythonv26.5
Install
18.9s avg
Import
Disk
675MB
Pass rate
6/ 10
Env Coverage6 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v26.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 19s
py 3.11
4/8 runs
✓ 18.46s
py 3.12
4/8 runs
✓ 19.3s
py 3.13
4/8 runs
✓ 18.88s
py 3.9
✓ —
7/8 runs
675MB installed
● package 675MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Device
from genie.libs.conf import Device
from genie.libs.conf import Device

This quickstart demonstrates how to create a `Genie` instance, define a `Device`, and then configure an `Interface` with IP address and description using `genie.libs.conf` objects, finally generating the CLI configuration string.

from genie.conf import Genie from genie.libs.conf.base import Device from genie.libs.conf.interface import Interface # Create a new Genie configuration object gen = Genie() # Create a device and add it to Genie device = Device(name='my_router', os='iosxe') gen.add_device(device) # Configure an interface on the device intf = Interface(name='GigabitEthernet1', device=device) intf.description = 'Management Interface' intf.ip_address = '192.168.1.1/24' intf.shutdown = False # Build and print the configuration string config_string = device.build_config() print(f"Generated Configuration for {device.name}:\n{config_string}") # Expected output might look like: # interface GigabitEthernet1 # description Management Interface # ip address 192.168.1.1 255.255.255.0 # no shutdown
Debug
Known issues
breakingAPI Changes in PyATS/Genie Major Versions: Older `pyATS`/`Genie` versions (e.g., pre-20.x) might use different API patterns for configuration objects or methods (e.g., `config_builder` instead of `build_config` directly on device objects). Migration is needed.
fix
Consult the official `pyATS` release notes and documentation for your specific version to adapt API calls, especially for `Genie` and `Device` object methods.
affects: < 20.0
gotchaIncorrect Hierarchical Assignment: Attempting to assign configuration objects (e.g., an `Interface` object) directly to a `Device` object's attribute without using proper constructors or `add_feature` can lead to unexpected behavior or no configuration generation.
fix
Ensure configuration objects are correctly associated with their parent objects, typically through the object's constructor (e.g., `Interface(..., device=device)`) or by adding them to the parent's feature list where appropriate.
affects: All versions
gotchaSchema Attribute Naming Mismatches: Incorrect attribute names (e.g., `ip_address` vs `ipv4_address`) or data types when setting configuration values on `genie.libs.conf` objects can silently fail to generate the desired configuration or raise schema validation errors during `build_config`.
fix
Always refer to the specific configuration object's schema documentation to verify attribute names, expected types, and valid values. Some attributes might use common names (like `ip_address`) which are internally mapped.
affects: All versions
Upgrade
Version history
26.5latest on PyPI · released May 28, 2026
Audit
Dependencies
genie.libs.schemarequiredProvides configuration schema definitions required by conf objects.
pyats.datastructuresoptionalCore data structures for the pyATS framework.
genieoptionalProvides the top-level 'Genie' object for managing devices and configurations, essential for practical use.
Agent activity
21 hits · last 30 days
node
20
Amazon
1
Resources