- Bump pynetbox dependency to >=7.5.0
- Change get_device_asn to read ASN from device custom field instead of
filtering ASNs by device (unsupported in NetBox 4.4)
- Remove device_name filter from get_l2vpn_terminations as L2VPN
terminations cannot be filtered by device in NetBox 4.4
- Refactor get_vrf_interfaces to query IP addresses with VRF filter and
extract associated interfaces (VRF filtering on interfaces unsupported)
- Add get_interface_mlag_id method to read MLAG ID from interface
custom field
Implements FabricNetBoxClient using pynetbox to fetch:
- Device and interface data
- BGP sessions and peer groups (plugin)
- L2VPN/EVPN VNI mappings
- VRF and route target configuration
- MLAG custom fields
Relates to #5
Remove outdated async documentation from GNMIClient module:
- Remove async context manager from feature list
- Remove async usage example from class docstring
The client now only documents synchronous usage patterns.
- Replace placeholder deps with click, pygnmi, and rich for CLI functionality
- Add fabric-orch CLI entry point via project.scripts
- Configure hatchling as build backend with wheel/sdist targets
- Add ruff linter configuration for code quality
- Add dev dependency group with ruff
- Alphabetize yang module imports
The `Optional` type was imported from `typing` in `src/yang/paths.py`
but was not being used in the file. This change removes the unnecessary
import to clean up the code.
- Update the dependency installation command in the main README to use `uv sync` instead of `pip`, reflecting the project's package manager.
- Realign markdown tables in `src/yang/README.md` to improve raw text readability and consistency.