{"library":"netmiko","title":"Netmiko","description":"Netmiko is a multi-vendor Python library designed to simplify the process of establishing and managing CLI connections to network devices via SSH, Telnet, or Serial. It handles common networking tasks like sending commands, entering/exiting configuration modes, and transferring files. As of version 4.6.0, Netmiko is actively maintained, frequently adding new device drivers and enhancing existing functionality.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install netmiko"],"cli":null},"imports":["from netmiko import ConnectHandler","from netmiko.exceptions import NetmikoTimeoutException","from netmiko.exceptions import NetmikoAuthenticationException"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom netmiko import ConnectHandler\nfrom netmiko.exceptions import NetmikoTimeoutException, NetmikoAuthenticationException\n\n# Define device parameters using environment variables for security\ndevice_ip = os.environ.get('NETMIKO_HOST', 'your_device_ip')\nusername = os.environ.get('NETMIKO_USERNAME', 'your_username')\npassword = os.environ.get('NETMIKO_PASSWORD', 'your_password')\ndevice_type = os.environ.get('NETMIKO_DEVICE_TYPE', 'cisco_ios') # e.g., cisco_ios, juniper, arista_eos, etc.\n\nif 'your_device_ip' in device_ip or not all([device_ip, username, password, device_type]):\n    print(\"Please set NETMIKO_HOST, NETMIKO_USERNAME, NETMIKO_PASSWORD, and NETMIKO_DEVICE_TYPE environment variables, or update the placeholder values.\")\n    exit(1)\n\ndevice = {\n    \"device_type\": device_type,\n    \"host\": device_ip,\n    \"username\": username,\n    \"password\": password,\n    # \"optional_args\": {\"port\": 22}, # Example for custom SSH port\n}\n\ntry:\n    print(f\"Connecting to {device_ip}...\")\n    with ConnectHandler(**device) as net_connect:\n        print(\"Successfully connected!\")\n        # Use use_textfsm=True to attempt structured output parsing\n        output = net_connect.send_command(\"show ip int brief\", use_textfsm=True)\n        print(\"\\n--- Output of 'show ip int brief' (parsed with TextFSM) ---\\n\")\n        print(output)\n\n        # Example for sending configuration commands\n        # config_commands = [\"interface loopback 0\", \"ip address 1.1.1.1 255.255.255.255\"]\n        # output_config = net_connect.send_config_set(config_commands)\n        # print(\"\\n--- Configuration Output ---\\n\")\n        # print(output_config)\n\n        net_connect.disconnect()\n        print(\"Disconnected.\")\n\nexcept NetmikoAuthenticationException:\n    print(\"Authentication failed. Check username and password.\")\nexcept NetmikoTimeoutException:\n    print(\"Connection timed out. Check host IP and network connectivity.\")\nexcept Exception as e:\n    print(f\"An unexpected error occurred: {e}\")","lang":"python","description":"Connects to a network device using credentials from environment variables, sends a 'show ip int brief' command, and attempts to parse the output using TextFSM via `use_textfsm=True`. Remember to configure environment variables like NETMIKO_HOST, NETMIKO_USERNAME, NETMIKO_PASSWORD, and NETMIKO_DEVICE_TYPE before running.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"4.6.0","pypi_latest":"4.7.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.9,"avg_import_s":1.04,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.86,"mem_mb":16.1,"disk_size":"66.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.2,"import_time_s":0.61,"mem_mb":16.1,"disk_size":"68M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.1,"mem_mb":19.7,"disk_size":"71.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.8,"import_time_s":1.02,"mem_mb":19.6,"disk_size":"73M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.31,"mem_mb":18.6,"disk_size":"62.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.4,"import_time_s":1.39,"mem_mb":18.6,"disk_size":"64M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.3,"mem_mb":19.4,"disk_size":"62.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.3,"import_time_s":1.27,"mem_mb":19.4,"disk_size":"64M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.8,"mem_mb":15.8,"disk_size":"65.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"netmiko","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.8,"import_time_s":0.75,"mem_mb":15.8,"disk_size":"67M"}]}}