Comparing Version Numbers in Python

The distutils module is going to be deprecated in Python 3.10, and to be removed in Python 3.12. Hence, my current standard way of comparing version number strings is using pkg_resources module (part of setuptools): >>> from pkg_resources import parse_version as version >>> version(“1.0”) <Version(‘1.0’)> >>> version(“1.8.9”) < version(“2.0”) True >>> version(“2.0.9”) < version(“2.1”) True […]

Customizing Wireshark Settings

I’ve done countless troubleshooting sessions so that I’m having Wireshark open with a relevant capture file and either I’m showing my findings to the other participants or doing straight up live packet analysis. Sometimes the sessions are followed up with questions about how did I actually have Wireshark configured because it looked different on their […]

Git Configurations

When I’m using Git I need to first configure it. Well, strictly speaking, if I’m only going to clone some repository I don’t need to especially configure Git, but just about anything above that will lead me configuring Git. I’ll first show the usual settings I use and then I’ll show how to set them. […]

Cisco Nexus 9000 Routing Limitations

This is a memo and reminder about the routing limitations that I stumbled into when working with Nexus 9000 series switches running NX-OS. Feature Limitation Link to documentation PBR You cannot configure PBR on port-channel subinterfaces Interfaces configuration guide for 9.3(x) QoS You cannot configure QoS on port-channel subinterfaces QoS configuration guide for 9.3(x) QoS […]

Revisited: Version Numbering in Python Package

In Version Numbering in Python Package I showed a way to store the package version number in the code. The method is in hindsight not exactly the best one (who knew!), so here is another try for simple projects. Here I have mypackage/ (the package directory) mypackage/__init__.py mypackage/version.py setup.py with contents: mypackage/version.py: mypackage/__init__.py: setup.py: What […]