- 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
- Add comprehensive custom fields table for Device, Interface, VRF, and IP Address
- Include API examples for custom field creation
- Document working vs non-working API filters for NetBox 4.4
- Add workarounds for filters that don't exist (ASN by device, L2VPN terminations by device)
- Update VRF interface assignment to show IP-based VRF membership
- Add virtual_ip custom field for anycast gateway support
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
Documents how EVPN-VXLAN fabric configuration is represented in NetBox
using native models and the BGP plugin.
Includes:
- Model mapping tables (native + BGP plugin)
- IP addressing scheme
- BGP session configuration
- VXLAN/EVPN L2VPN setup
- MLAG custom fields requirements
- VRF configuration
- Data retrieval examples with pynetbox
Relates to #5
- Align columns in README.md roadmap and technology stack tables
- Update CLI example to use 'uv run fabric-orch' command prefix
- Improve overall markdown table readability
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.
Improve table readability by aligning columns with consistent
spacing and proper markdown table formatting throughout the
YANG paths reference documentation.
- 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.