GitHub Action to perform Python linting with Black, Pylint, and MyPy.
- π Flexible Python version support - Specify any Python version using
actions/setup-python - π¦ Custom requirements - Install additional dependencies from a requirements file
- π Comprehensive linting - Run Pylint, Black, and MyPy in a single action
- π Detailed reporting - View results in GitHub Actions summary
- name: Python Linting
uses: thoughtparametersllc/python-linting@v1
permissions:
contents: write- name: Python Linting
uses: thoughtparametersllc/python-linting@v1
permissions:
contents: write
with:
python-version: '3.11'
requirements-file: 'requirements.txt'
pylint_options: '--max-line-length=120'
black_options: '--line-length=120'
mypy_options: '--strict'Manual Badge References:


| Input | Description | Required | Default |
|---|---|---|---|
python-version |
Python version to use for linting | No | 3.x |
requirements-file |
Path to requirements file for additional dependencies | No | '' |
pylint_options |
Additional options to pass to pylint | No | '' |
black_options |
Additional options to pass to black | No | '' |
mypy_options |
Additional options to pass to mypy | No | '' |
This repository includes comprehensive GitHub workflows for CI/CD:
- Test Action: Validates all action features across multiple Python versions
- Lint & Test: Ensures code quality with Pylint, Black, MyPy, and Flake8
- Changelog Check: Requires changelog updates for substantive changes
- Release & Marketplace: Automated semantic versioning and tagging
For detailed workflow documentation, see .github/WORKFLOWS.md.
The release workflow supports both automatic semantic versioning and manual version specification:
Automatic Release (when changes are merged to main):
- Automatically detects version bump from CHANGELOG.md
- Creates release with extracted changelog notes
- Updates major version tag (e.g., v1)
Manual Release (for specific versions):
- Go to Actions β Release and Marketplace β Run workflow
- Enter version as
1.0.0orv1.0.0(for specific version) ormajor/minor/patch(for semantic bump) - The workflow will create the release and update tags
- Fork the repository
- Create a feature branch
- Make your changes
- Update CHANGELOG.md under the
[Unreleased]section - Ensure all tests pass
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.