{"id":15046166,"url":"https://github.com/sunnysid3up/python-linter","last_synced_at":"2025-10-26T07:31:13.423Z","repository":{"id":37351200,"uuid":"285513144","full_name":"sunnysid3up/python-linter","owner":"sunnysid3up","description":"A GitHub Action which ensures Python code quality and supports customizable strictness.","archived":false,"fork":false,"pushed_at":"2024-02-04T12:30:37.000Z","size":20,"stargazers_count":25,"open_issues_count":0,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T16:51:38.187Z","etag":null,"topics":["action","actions","black","django","github-actions","isort","lint","linter","linting","mypy","pylint","python","python-linter","quality"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/python-linter","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sunnysid3up.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-06T08:13:04.000Z","updated_at":"2024-09-06T11:45:09.000Z","dependencies_parsed_at":"2024-02-04T13:45:49.105Z","dependency_job_id":"a2c5650a-4438-49d9-a24a-3ebc46ad1bde","html_url":"https://github.com/sunnysid3up/python-linter","commit_stats":{"total_commits":16,"total_committers":3,"mean_commits":5.333333333333333,"dds":0.25,"last_synced_commit":"70efe4786811beb41c7c2161277a536c101c00aa"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnysid3up%2Fpython-linter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnysid3up%2Fpython-linter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnysid3up%2Fpython-linter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunnysid3up%2Fpython-linter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunnysid3up","download_url":"https://codeload.github.com/sunnysid3up/python-linter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238284820,"owners_count":19446736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actions","black","django","github-actions","isort","lint","linter","linting","mypy","pylint","python","python-linter","quality"],"created_at":"2024-09-24T20:52:48.028Z","updated_at":"2025-10-26T07:31:13.131Z","avatar_url":"https://github.com/sunnysid3up.png","language":"Shell","readme":"\n# Python Linter  \nEnsure Python code quality. Supports mypy, pylint, black and isort.\n\n\u003cdetails\u003e\n  \u003csummary\u003eDetails\u003c/summary\u003e\n\n[mypy](https://github.com/python/mypy)  \n\u003e Mypy is an optional static type checker for Python. You can add type hints (PEP 484) to your Python programs, and use mypy to type check them statically. Find bugs in your programs without even running them!\n\n[pylint](https://github.com/PyCQA/pylint)  \n\u003e Pylint is a Python static code analysis tool which looks for programming errors, helps to enforce a coding standard, sniffs for code smells and offers simple refactoring suggestions.\n  \n[black](https://github.com/psf/black)  \n\u003e Black is the uncompromising Python code formatter. Black makes code review faster by producing the smallest diffs possible.\n \n[isort](https://github.com/timothycrosley/isort)  \n\u003e isort is a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type.\n \n\u003c/details\u003e\n\n## Configuration\n\n#### Options\n| Name          \t| Description                                 \t| Optional \t| Default  \t|\n|---------------\t|---------------------------------------------\t|----------\t|----------\t|\n| source        \t| Source file or directory                    \t| false    \t| \".\"      \t|\n| strict        \t| Set strictness for lint [low, medium, high] \t| false    \t| \"medium\" \t|\n| mypy-options  \t| Mypy options                                \t| false    \t| \"\"       \t|\n| pylint-options \t| Pylint options                               \t| false    \t| \"\"       \t|\n| black-options \t| Black options                               \t| false    \t| \"\"       \t|\n| isort-options \t| Isort options                               \t| false    \t| \"\"       \t|\n| django        \t| Confirm if source is a Django project       \t| false    \t| false    \t|\n\n#### Strictness\n\n**High**\n- Must not have any type errors.\n- Must not have any code format issues.\n- Must not have import disorganization.\n- Must meet code standard style (PEP8). Code must have a Pylint score of 10.\n\n\n**Medium (default)**\n- Must not have any type errors.\n- Must not have any code format issues.\n- Must not have import disorganization.\n- Code must have a Pylint score of 8 or greater.\n\n**Low**\n- Must not have any type errors.\n- Must not have any code format issues.\n\n#### (Optional) More pylint customization\nCreate a setup.cfg or a .pylintrc file in the current working directory.\n\n```\n[pylint]\nignore=\n    migrations,\n    manage.py,\n    __init__.py,\n    apps.py,\n    admin.py,\n    models.py,\n    serializers.py,\n    urls.py,\ndisable=\n    import-error,\n    missing-module-docstring,\n    missing-function-docstring\n```\n\n#### (Optional) More isort customization\nCreate a setup.cfg or a .isort.cfg file in the current working directory.\n\n```\n[isort]\ninclude_trailing_comma=True\nknown_first_party=app\nlines_between_sections=0\nlines_between_types=0\nknown_django=django\nknown_drf=rest_framework\nline_length=100\nmulti_line_output=3\nsections=FUTURE,STDLIB,DJANGO,DRF,THIRDPARTY,FIRSTPARTY,LOCALFOLDER\n```\n\n## Example\n```yaml  \n steps:\n - uses: actions/checkout@v4\n - name: Python Linter\n   uses: sunnysid3up/python-linter@master\n   with:\n     source: \"src\"\n     mypy-options: \"--ignore-missing-imports --show-error-codes\"\n     pylint-options: \"--rcfile=setup.cfg\"\n     isort-options: \"-w 100\"\n     django: true\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunnysid3up%2Fpython-linter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunnysid3up%2Fpython-linter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunnysid3up%2Fpython-linter/lists"}