{"library":"macaddress","title":"MAC Address Library","description":"A module for handling hardware identifiers like MAC addresses, EUI-48, EUI-64, and OUI. Heavily inspired by Python's built-in `ipaddress` module, `macaddress` provides classes to check if a string represents a valid hardware address, convert between various string and binary forms, and allows users to define custom hardware address types. It adheres to the SemVer 2.0.0 specification, with the current stable version being 2.0.2.","language":"python","status":"active","last_verified":"Thu Apr 16","install":{"commands":["pip install macaddress"],"cli":null},"imports":["import macaddress","from macaddress import EUI48","from macaddress import EUI64","from macaddress import OUI","from macaddress import HWAddress"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import macaddress\n\n# Create an EUI48 (MAC) address object\nmac = macaddress.EUI48('01-23-45-67-89-ab')\nprint(f\"MAC Address: {mac}\")\n\n# Access different formats\nprint(f\"MAC in colon format: {mac.colon}\")\nprint(f\"MAC in period format: {mac.period}\")\nprint(f\"MAC as bytes: {mac.packed}\")\n\n# Validate an address string\ntry:\n    invalid_mac = macaddress.EUI48('foo bar')\nexcept ValueError as e:\n    print(f\"Error parsing invalid MAC: {e}\")\n\n# Create an EUI64 address\neui64 = macaddress.EUI64('01-23-45-67-89-ab-cd-ef')\nprint(f\"EUI64 Address: {eui64}\")\n\n# Define a custom format (example from docs)\nclass CustomMAC(macaddress.MAC):\n    formats = macaddress.MAC.formats + (\n        'xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx-xx',\n    )\n\ncustom_mac = CustomMAC('01-23-45-67-89-AB-01-23-45-67-89-AB-01-23-45-67-89-AB')\nprint(f\"Custom MAC: {custom_mac}\")","lang":"python","description":"This quickstart demonstrates how to create `EUI48` and `EUI64` objects, access various string representations, handle `ValueError` for invalid inputs, and define a custom hardware address type.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}