https://github.com/sap/invoke-plugin-for-pylint
Pylint plugin which automatically disables unnecessary checks for invoke tasks.
https://github.com/sap/invoke-plugin-for-pylint
invoke linter plugin pylint pylint-plugin task
Last synced: 8 months ago
JSON representation
Pylint plugin which automatically disables unnecessary checks for invoke tasks.
- Host: GitHub
- URL: https://github.com/sap/invoke-plugin-for-pylint
- Owner: SAP
- License: apache-2.0
- Created: 2023-04-20T13:00:24.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-27T22:54:13.000Z (over 1 year ago)
- Last Synced: 2025-01-30T00:51:10.916Z (over 1 year ago)
- Topics: invoke, linter, plugin, pylint, pylint-plugin, task
- Language: Python
- Homepage:
- Size: 130 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://api.reuse.software/info/github.com/SAP/invoke-plugin-for-pylint)
[](https://github.com/psf/black)
[](https://pycqa.github.io/isort/)
[](https://badge.fury.io/py/invoke-plugin-for-pylint)
[](https://coveralls.io/github/SAP/invoke-plugin-for-pylint?branch=coveralls)
# Invoke Plugin for Pylint
This is a plugin for pylint which disables certain checks when using invoke.
## Installation
`pip install invoke-plugin-for-pylint`, that's it.
## Usage
Add `invoke_plugin_for_pylint` to the list of pylint plugins.
## Disabled check
* unused-argument: Each invoke task needs a context argument even if not needed.
Therefore this plugin will find all tasks and suppress all `unused-argument` errors when related to the context argument
## Configuration
If custom decorators for invoke tasks are used which wrap `invoke.task` the
`additional-invoke-task-decorators` option by checker `invoke-plugin-for-pylint` can be used.
It's a csv list of names which indicate an invoke task.
Please note, that the names must be full qualified and reflect the name of the final function.
For example, a decorator factory called "foo" in package "bar" which returns a function called
"_inner", will result in the name "bar.foo._inner".
Example for the pyproject.toml:
```toml
[tool.pylint.invoke-plugin-for-pylint]
additional-invoke-task-decorators = [
"my_package.foo.make_task._inner",
"my_package.foo.make_other_task",
]
```
## Development
This project uses `uv`.
To setup a venv for development use
`python3.14 -m venv venv && pip install uv && uv sync --all-groups && rm -rf venv/`.
Then use `source .venv/bin/activate` to activate your venv.
## Build and Publish
This project uses `setuptools` as the dependency management and build tool.
To publish a new release, follow these steps:
* Update the version in the `pyproject.toml`
* Add an entry in the changelog
* Push a new tag like `vX.X.X` to trigger the release
## Support, Feedback, Contributing
This project is open to feature requests/suggestions, bug reports etc. via [GitHub issues](https://github.com/SAP/invoke-plugin-for-pylint/issues). Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our [Contribution Guidelines](CONTRIBUTING.md).
## Code of Conduct
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its [Code of Conduct](CODE_OF_CONDUCT.md) at all times.
## Licensing
Copyright 2025 SAP SE or an SAP affiliate company and invoke-plugin-for-pylint contributors. Please see our [LICENSE](LICENSE) for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available [via the REUSE tool](https://api.reuse.software/info/github.com/SAP/invoke-plugin-for-pylint).