{"library":"python-sonarqube-api","title":"Python SonarQube API Wrapper","description":"python-sonarqube-api is a Python wrapper for the SonarQube and SonarCloud API, providing a convenient interface to interact with SonarQube Community, Enterprise, and SonarCloud instances. It supports Python 2.7 and 3.3+ (though modern usage typically implies Python 3.6+). The library is actively maintained, with version 2.0.5 currently available, facilitating integration of SonarQube's static analysis capabilities into Python applications and CI/CD pipelines.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install --upgrade python-sonarqube-api"],"cli":null},"imports":["from sonarqube import SonarQubeClient","from sonarqube import SonarCloudClient","from sonarqube import SonarEnterpriseClient","from sonarqube import SonarQubeClient"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom sonarqube import SonarQubeClient\n\n# Configure connection details using environment variables for security\nSONARQUBE_URL = os.environ.get('SONARQUBE_URL', 'http://localhost:9000')\nSONARQUBE_TOKEN = os.environ.get('SONARQUBE_TOKEN', 'YOUR_SONARQUBE_TOKEN') # Or use user/password\n\n# Initialize the SonarQube client\ntry:\n    client = SonarQubeClient(sonarqube_url=SONARQUBE_URL, token=SONARQUBE_TOKEN)\n\n    # Example: Fetch all projects\n    print(f\"Connected to SonarQube at {SONARQUBE_URL}\")\n    print(\"Fetching projects...\")\n    projects = list(client.projects.search_projects())\n\n    if projects:\n        print(f\"Found {len(projects)} projects:\")\n        for project in projects[:3]: # Print first 3 projects\n            print(f\"  - {project.get('name')} (Key: {project.get('key')})\")\n    else:\n        print(\"No projects found or accessible.\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")\n    print(\"Please ensure SonarQube is running and accessible, and your token/credentials are correct.\")\n    print(\"For SonarCloud, use SonarCloudClient and 'sonarcloud_url' parameter.\")","lang":"python","description":"This quickstart demonstrates how to connect to a SonarQube instance using a token and retrieve a list of projects. It uses environment variables for sensitive connection details. For SonarCloud, `SonarCloudClient` should be used with `sonarcloud_url` instead of `sonarqube_url`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"2.0.5","pypi_latest":"2.0.5","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.1,"avg_import_s":0.6,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.56,"mem_mb":10.5,"disk_size":"21.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.41,"mem_mb":10.5,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.76,"mem_mb":11.7,"disk_size":"23.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.65,"mem_mb":11.7,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.63,"mem_mb":11.5,"disk_size":"15.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.68,"mem_mb":11.5,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.65,"mem_mb":11.8,"disk_size":"15.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.64,"mem_mb":11.8,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.54,"mem_mb":10.1,"disk_size":"20.7M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"--upgrade","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.46,"mem_mb":10.1,"disk_size":"21M"}]}}