{"library":"pymisp","title":"PyMISP","description":"PyMISP is a Python library designed to interact with MISP (Malware Information Sharing Platform) instances via their REST API. It provides comprehensive functionalities to fetch, add, update, and search for events, attributes, objects, samples, and more, facilitating automated threat intelligence sharing and analysis. The library is actively maintained with frequent releases, ensuring compatibility with the latest MISP features.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install pymisp","pip install 'pymisp[fileobjects,url,email,brotli]'"],"cli":null},"imports":["from pymisp import PyMISP","from pymisp import MISPEvent","from pymisp import MISPAttribute"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom pymisp import PyMISP\n\n# Configure MISP connection from environment variables\nmisp_url = os.environ.get('MISP_URL', 'https://your.misp.instance')\nmisp_key = os.environ.get('MISP_KEY', 'YOUR_MISP_AUTOMATION_KEY') # Your MISP automation key\nmisp_verifycert = os.environ.get('MISP_VERIFYCERT', 'True').lower() == 'true'\n\n# Initialize PyMISP object\ntry:\n    misp = PyMISP(misp_url, misp_key, misp_verifycert)\n    print(f\"Successfully connected to MISP instance at {misp_url}.\")\n\n    # Example: Fetch last 5 published events\n    last_events = misp.search(limit=5, controller='events', published=True)\n    if last_events:\n        print(f\"Found {len(last_events)} published events:\")\n        for event in last_events:\n            print(f\"  Event ID: {event['Event']['id']}, Info: {event['Event']['info']}\")\n    else:\n        print(\"No published events found in the last search.\")\n\nexcept Exception as e:\n    print(f\"Error connecting to MISP or fetching events: {e}\")\n    print(\"Please ensure MISP_URL, MISP_KEY, and MISP_VERIFYCERT are correctly set.\")","lang":"python","description":"This quickstart demonstrates how to initialize the PyMISP object using environment variables for the MISP URL and API key, and then how to fetch the last 5 published events. It includes basic error handling for connection issues.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"2.5.17.3","pypi_latest":"2.5.34.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":70,"avg_install_s":4.9,"avg_import_s":1.38,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.75,"mem_mb":19.4,"disk_size":"27.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"fileobjects,url,email,brotli","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":7.2,"import_time_s":1.91,"mem_mb":62.8,"disk_size":"75M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.1,"import_time_s":0.54,"mem_mb":19.4,"disk_size":"28M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.98,"mem_mb":20.8,"disk_size":"30.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"fileobjects,url,email,brotli","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":7.1,"import_time_s":3.8,"mem_mb":58.1,"disk_size":"81M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.9,"import_time_s":0.9,"mem_mb":20.8,"disk_size":"31M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.84,"mem_mb":20.8,"disk_size":"22.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"fileobjects,url,email,brotli","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":6.5,"import_time_s":3.59,"mem_mb":53.5,"disk_size":"70M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":0.88,"mem_mb":20.8,"disk_size":"23M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.84,"mem_mb":21.9,"disk_size":"21.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":6,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.86,"mem_mb":21.9,"disk_size":"22M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"fileobjects,url,email,brotli","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":0.66,"mem_mb":18.7,"disk_size":"26.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"fileobjects,url,email,brotli","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":8.4,"import_time_s":2.16,"mem_mb":57.8,"disk_size":"74M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pymisp","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":3.4,"import_time_s":0.56,"mem_mb":18.7,"disk_size":"27M"}]}}