{"id":24812,"library":"virl2-client","title":"VIRL2 (CML) Client Library","description":"The official Cisco VIRL2 / Cisco Modeling Labs (CML) client library for Python. Provides programmatic access to CML 2.x instances, supporting lab lifecycle management, node configuration, and system administration. Current version 2.9.1 (released 2025-01-06). Release cadence follows CML versions approximately twice a year.","status":"active","version":"2.9.1","language":"python","source_language":"en","source_url":"https://github.com/ciscodevnet/virl2-client","tags":["cisco","cml","virl2","network-automation","devnet"],"install":[{"cmd":"pip install virl2-client","lang":"bash","label":"Standard install"}],"dependencies":[],"imports":[{"wrong":"from virl2_client import CMLClient","symbol":"ClientLibrary","correct":"from virl2_client import ClientLibrary"},{"symbol":"ClientConfig","correct":"from virl2_client import ClientConfig"},{"symbol":"InitializationError","correct":"from virl2_client import InitializationError"}],"quickstart":{"code":"from virl2_client import CMLClient\n\nurl = os.environ.get('CML_URL', 'https://cml-controller.example.com')\nusername = os.environ.get('CML_USER', 'admin')\npassword = os.environ.get('CML_PASS', '')\n\nclient = CMLClient(url, username, password, ssl_verify=False)\nprint(f\"Connected to CML version {client.info.version}\")\nprint(f\"Labs on server: {len(client.labs)}\")","lang":"python","description":"Connects to a CML controller and prints server version and number of labs."},"warnings":[{"fix":"Use only controller-managed labs. If you need offline functionality, consider exporting/importing lab files manually.","message":"From v2.7.0, the offline/local lab functionality is deprecated and will be removed in a future release. Do not rely on it for new projects.","severity":"breaking","affected_versions":">=2.7.0"},{"fix":"client = CMLClient(url, username, password, ssl_verify=False)","message":"SSL verification defaults to True. If your CML controller uses a self-signed certificate, you must pass ssl_verify=False or provide a CA bundle.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'-01':39 '-06':40 '2':22 '2.9.1':36 '2025':38 'access':19 'administr':33 'approxim':46 'autom':55 'cadenc':42 'cisco':7,9,50 'client':3,13 'cml':2,12,21,44,51 'configur':30 'current':34 'devnet':56 'follow':43 'instanc':24 'lab':11,26 'librari':4,14 'lifecycl':27 'manag':28 'model':10 'network':54 'network-autom':53 'node':29 'offici':6 'programmat':18 'provid':17 'python':16 'releas':37,41 'support':25 'system':32 'twice':47 'version':35,45 'virl2':1,8,52 'x':23 'year':49","created_at":"2026-05-01T08:15:03.229864+00:00","updated_at":"2026-05-01T08:15:03.229864+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.10.0","cli_name":"virl2","cli_version":"sh: 1: virl2: not found","type":"library","homepage":"https://developer.cisco.com/modeling-labs/","github":"https://github.com/ciscodevnet/virl2-client","docs":null,"changelog":null,"pypi":"https://pypi.org/project/virl2-client/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}