single |
# YAPF
[image]
[image]
[image]
[image]
## Introduction
YAPF is a Python formatter based on [`clang-format`]
(developed by Daniel Jasper). In essence, the algorithm takes the code and
calculates the best formatting that conforms to the configured style. It
takes
away a lot of the drudgery of maintaining your code.
The ultimate goal is that the code YAPF produces is as good as the code
that a
programmer would write if they were following the style guide.
> **Note**
> YAPF is not an official Google product (experimental or otherwise), it is
> just code that happens to be owned by Google.
## Installation
To install YAPF from PyPI:
```bash
$ pip install yapf
```
YAPF is still considered in "beta" stage, and the released version may
change
often; therefore, the best way to keep up-to-date with the latest
development
is to clone this repository or install directly from github:
```bash
$ pip install git+https://github.com/google/yapf.git
```
Note that if you intend to use YAPF as a command-line tool rather than as a
library, installation is not necessary. YAPF supports being run as a
directory
by the Python interpreter. If you cloned/unzipped YAPF into `DIR`, it's
possible to run:
```bash
$ PYTHONPATH=DIR python DIR/yapf [options] ...
```
## Using YAPF within your favorite editor
YAPF is supported by multiple editors via community extensions or plugins.
See [Editor Support] for more info.
## Required Python versions
YAPF supports Python 3.7+.
## Usage
```console
usage: yapf [-h] [-v] [-d | -i | -q] [-r | -l START-END] [-e PATTERN]
[--style STYLE] [--style-help] [--no-local-style] [-p] [-m]
[-vv]
[files ...]
Formatter for Python code.
positional arguments:
files reads from stdin when no files are specified.
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-d, --diff print the diff for the fixed source
-i, --in-place make changes to files in place
-q, --quiet output nothing and set return value
-r, --recursive run recursively over directories
-l START-END, --lines START-END
range of lines to reformat, one-based
-e PATTERN, --exclude PATTERN
patterns for files to exclude from formatting
--style STYLE specify formatting style: either a style name (for
example "pep8" or "google"), or the name of a file
with style settings. The default is pep8 unless a
.style.yapf or setup.cfg or pyproject.toml file
located in the same directory as the source or one
of
its parent directories (for stdin, the current
directory is used).
--style-help show style settings and exit; this output can be
saved
to .style.yapf to make your settings permanent
--no-local-style don't search for local style definition
-p, --parallel run YAPF in parallel when formatting multiple
files.
-m, --print-modified print out file names of modified files
|