glob-linters is an integtated tool to lint multiple programming and scripting languages and can be used as a normal command line in terminals as well as a workflow in GtiHub actions.
- Free software: MIT license
- Documentation: https://glob-linters.readthedocs.io/.
- Linting multiple languages.
- Fully supporting configuration for each linter via configuration files or command options
Language | File extension | Linters |
c++ | .cpp | cpplint, clang-format |
Python | .py | pylint, black, flake8, isort, mypy |
You can use glob-linters as a command line tool in a terminal or a workflow in GitHub action. Choose the appropriate one as a quick start.
To use as a command line tool, install the latest package by pip
using the
following command:
$ pip install glob-linters
After successful installation, you can use glob-linters as a command tool by issuing the following to see the command line options.
$ glob_linters -h
Then run glob_linters
to lint all supported languages in the current directory,
which will scan all corresponding files recursively and then perform linting. If you
want to lint particular files, please visit the documentation for more advanced usages.
To use glob-linters in GitHub action, create a workflow file such as
.github/workflows/glob-linters.yml
in your own repository with the example
contents:
name: Code linting
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
glob-linters:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Linting
uses: bowentan/glob-linters@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
To use a specific version, replace v0
.
You can control the workflow by creating a configuration file named as
.github/glob-linters.ini
and a sample configuration is given below:
[target]
dirs = .
suffixes = .py
[.py]
enabled_linters = pylint black isort
[.py:pylint]
executable = pylint
config_file = .github/linter-configs/.pylintrc
[.py:black]
executable = black
config_file = .github/linter-configs/.black
[env]
debug = True
This configuration will enable debug
mode with additional information when running
and set the directory that will be searched for linting .py
files to be the
root of your repository, using only pylint
, black
and isort
.
For more details about usage, please refer to the documentation usage.
If you are interested in this project and would like to make some contributions, please refer to the contributing for the contributing guide.
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.