{"id":21201,"library":"edx-lint","title":"edx-lint","description":"edX-authored pylint checkers for Open edX projects. Provides custom pylint plugins and a configuration generator. Current version: 6.1.0, released monthly.","status":"active","version":"6.1.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/edx-lint","tags":["pylint","linter","open-edx","openedx","code-quality"],"install":[{"cmd":"pip install edx-lint","lang":"bash","label":"PyPI install"}],"dependencies":[{"reason":"edx-lint is a pylint plugin and requires pylint to run.","package":"pylint","optional":false},{"reason":"Used for CLI commands (edx_lint generate, etc.).","package":"click","optional":false},{"reason":"Used internally, often a source of compatibility issues with Python 3.","package":"six","optional":false}],"imports":[{"note":"register_checkers is in edx_lint.main, not top-level.","wrong":"from edx_lint import register_checkers","symbol":"register_checkers","correct":"from edx_lint.main import register_checkers"},{"note":"PyLinter was removed in v5.0.0; use pylint.lint.PyLinter directly.","wrong":"from edx_lint import PyLinter","symbol":"PyLinter"}],"quickstart":{"code":"import pylint.lint\nfrom edx_lint.main import register_checkers\n\n# Initialize and register custom checkers\nregister_checkers()\n\n# Run pylint with edx-lint checkers\npylint.lint.Run(['--rcfile=.pylintrc', 'my_module.py'])","lang":"python","description":"Basic usage to register edx-lint checkers and run pylint. Ensure a .pylintrc is present (generated via `edx_lint generate`)."},"warnings":[{"fix":"Ensure Python 3.6+ and update any Python 2-only syntax.","message":"Python 2 support dropped in v5.0.0. Upgrade your codebase to Python 3.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Use pylint.lint.PyLinter if needed, or rely on register_checkers() to extend pylint.","message":"PyLinter class removed in v5.0.0. Direct imports from edx_lint.PyLinter will fail.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Run 'edx_lint generate' only on a fresh or version-controlled pylintrc.","message":"The 'edx_lint generate' command may override hand-crafted pylintrc files. Always keep a backup.","severity":"gotcha","affected_versions":"all"},{"fix":"Use a virtual environment or pip-compile to manage dependencies.","message":"edx-lint installs many dependencies (pylint, six, etc.) that may conflict with your project's pinned versions.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install edx-lint' in your virtual environment.","cause":"edx-lint is not installed or the virtual environment isn't active.","error":"ModuleNotFoundError: No module named 'edx_lint'"},{"fix":"Upgrade to latest: 'pip install --upgrade edx-lint'.","cause":"Using an outdated version (<3.0.0) where the module structure was different.","error":"AttributeError: module 'edx_lint' has no attribute 'main'"},{"fix":"Use 'from edx_lint.main import register_checkers'.","cause":"register_checkers is in edx_lint.main, not at the top-level module.","error":"ImportError: cannot import name 'register_checkers' from 'edx_lint'"},{"fix":"Use 'edx_lint generate' or 'edx_lint write' (see --help).","cause":"Running 'edx_lint' without a subcommand.","error":"edx_lint: error: the following arguments are required: command"},{"fix":"Ensure .pylintrc contains 'load-plugins=edx_lint' or run 'edx_lint generate'.","cause":"Missing edx-lint plugin registration after generation.","error":"pylint: 'edx_lint' should be in the 'load-plugins' list in pylintrc"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}