Inline your lint messages

inlineplz, code-quality, code-review, linters, python, static-analysis
pip install inlineplz==0.46.1



Tired of reading through CI console logs to find your lint errors? Inline your lint messages in your diffs!

  • Free software: ISC license

Github webhook bot


  • Run linters against your code and comment in your diffs at the failing lines
  • Automatically run linters with reasonable default configs
  • Easy to add new linter configurations

How to use

pip install inlineplz
inline-plz --install --autorun

You probably want to run the above in a CI job, not in your regular development environment.

You'll also need to provide the following either in the command line or via environment variables:

  • owner: the repo organization/owner
  • repo: the repo name
  • token: your auth token (encrypt this, don't put this in plaintext in any public configurations!)
  • url: the url of your scm host
  • interface: the type of scm host (such as github)


  • node.js / npm
  • ruby / gem
  • python / pip
  • haskell / cabal


Besides specifying options at the command line or in environment variables, you can also set them in a yaml file. You can create a file in the root of your repo named .inlineplz.yml

For example:

  - node_modules
  - .tox
  - .git
  - prospector
  - markdownlint-cli
  - gherkin-lint

For more see the examples folder in the repo.

Known issues

  • Currently for Travis-CI usage, inline-plz only works for PRs within the original repo, not PRs from forks. This is because encrypted creds in Travis-CI configs are encrypted per repo, and cannot be decrypted in PRs from forks. You can work around this using the webhook bot at
  • Currently the inline-plz console output can print out some misleading stack traces
  • Currently dependencies get installed globally unless you pre-create a virtualenv
  • Commits directly to master are not currently supported - only PRs get linted


  • Report bugs/suggest features
  • Add/update docs
  • Add support for more linters


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.