Lemming is a tool for formatting and linting code.
Project description
Lemming
Lemming is a tool for formatting and linting your code. With Lemming, everyone will use the same formatters and linters, with the same version.
Installation
Use the package manager pip to install Lemming. Need more help?
pip install python-lemming
Requirements
Lemming requires Python 3.11
Usage
1. Create the config
Lemming's config lives in these places:
- in the
.lemming.toml
file, - in the
.github/.lemming.toml
file, - in the
pyproject.toml
file, - all of the above files in the parent directories, and in
$XDG_CONFIG_HOME
, and in$XDG_CONFIG_DIRS
.
Please note, that there must be a lemming
or tool.lemming
key in the config file.
The config looks like this:
[[lemming.formatters]]
package = "example" # REQUIRED, the package to run as `/path/to/python -m <package> <args>`
version = "1.2.3" # OPTIONAL, defaults to the latest stable version
args = "--ignore=joe {path}" # OPTIONAL, {path} will be replaced by the path passed to Lemming, or the current working directory by default
allow_nonzero = true # OPTIONAL, only allowed for formatters. If true, the formatter is allowed to return a non-zero exit status. Defaults to false.
also_install = ["example-plugin"] # OPTIONAL, these packages will also be installed
install_name = "python-example" # OPTIONAL, the package to install. Defaults to the value of `package`
[[lemming.linters]]
# same as for formatters (except for `allow_nonzero`)
2. Run Lemming
After installing Lemming, run
lemming .
CLI usage
usage: lemming [-h] [-v] [-q] [-c CONFIG] [-V] path
Lemming is a tool for formatting and linting code.
positional arguments:
path the paths (files and directories) to check. these arguments will be passed to the formatters and linters as arguments where {path} is used
options:
-h, --help show this help message and exit
-v, --verbose log more information
-q, --quiet log less information. can be passed multiple times
-c CONFIG, --config CONFIG
the config file to use. if passed all other config files will be ignored
-V, --version print the program's version and exit
Support
Questions should be asked in the Discussions tab.
Feature requests and bug reports should be reported in the Issues tab.
Security vulnerabilities should be reported as described in our Security policy (in the SECURITY.md file).
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to add entries to the changelog.
For more information, please read the contributing guidelines.
Authors and acknowledgments
A list of nice people who helped this project can be found in the CONTRIBUTORS file.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python_lemming-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87df5ba1fb1f35692fdf7c7d90caf9e805746594c60291913d857601647f11dd |
|
MD5 | 9267e2fd2fac86529fbde01a21f7c5e1 |
|
BLAKE2b-256 | 72cf0c0d798571915571437d39d2a86f535a353ea9d75662622f3f3df9eb6aad |