{"library":"pylint-gitlab","title":"pylint-gitlab","description":"pylint-gitlab provides custom Pylint formatters for seamless integration with GitLab CI/CD, enabling the generation of Code Quality reports and GitLab Pages HTML reports from Pylint's linting results. The current version is 2.1.1, released in November 2025, and the project has an active, though somewhat irregular, release cadence.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pylint-gitlab"],"cli":{"name":"pylint-gitlab","version":"sh: 1: pylint-gitlab: not found"}},"imports":["from pylint_gitlab import GitlabCodeClimateReporter","from pylint_gitlab import GitlabPagesHtmlReporter"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"# .gitlab-ci.yml\nimage: python:3.9-slim\n\npylint_job:\n  stage: test\n  before_script:\n    - pip install pylint-gitlab\n    - mkdir -p public # For HTML report if used\n  script:\n    - |-\n      # Create a dummy Python file to lint\n      echo \"def func():\\n  x = 1\\n  return x\" > my_module.py\n      # Run pylint with the GitLab Code Climate reporter\n      pylint --exit-zero --output-format=pylint_gitlab.GitlabCodeClimateReporter my_module.py > codeclimate.json\n  artifacts:\n    reports:\n      codequality: codeclimate.json\n","lang":"yaml","description":"This GitLab CI/CD configuration demonstrates how to integrate `pylint-gitlab` into your pipeline. It installs the library, creates a dummy Python file with a simple linting issue, runs Pylint using the `GitlabCodeClimateReporter` to generate a `codeclimate.json` file, and then declares this file as a `codequality` artifact, which GitLab will parse to display code quality metrics in merge requests.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"2.1.1","pypi_latest":"2.1.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.7,"avg_import_s":0.38,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.34,"mem_mb":9.5,"disk_size":"30.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.7,"import_time_s":0.26,"mem_mb":9.5,"disk_size":"31M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.42,"mem_mb":10.1,"disk_size":"34.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.8,"import_time_s":0.38,"mem_mb":10.1,"disk_size":"35M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.38,"mem_mb":9.8,"disk_size":"26.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":0.37,"mem_mb":9.8,"disk_size":"27M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.35,"mem_mb":10.3,"disk_size":"26.1M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":0.37,"mem_mb":10.3,"disk_size":"27M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.48,"mem_mb":14,"disk_size":"29.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pylint-gitlab","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.41,"mem_mb":14,"disk_size":"30M"}]}}