</details>
+Note that all command-line options listed above can also be configured using a
+`pyproject.toml` file (more on that below).
+
### Code input alternatives
#### Standard Input
There's two variations to this mode that are independently enabled by their respective
flags. Both variations can be enabled at once.
+(labels/exit-code)=
+
#### Exit code
Passing `--check` will make _Black_ exit with:
```console
$ black --version
-black, version 22.6.0
+black, version 23.3.0
```
An option to require a specific version to be running is also provided.
[PEP 518](https://www.python.org/dev/peps/pep-0518/) defines `pyproject.toml` as a
configuration file to store build system requirements for Python projects. With the help
-of tools like [Poetry](https://python-poetry.org/) or
-[Flit](https://flit.readthedocs.io/en/latest/) it can fully replace the need for
-`setup.py` and `setup.cfg` files.
+of tools like [Poetry](https://python-poetry.org/),
+[Flit](https://flit.readthedocs.io/en/latest/), or
+[Hatch](https://hatch.pypa.io/latest/) it can fully replace the need for `setup.py` and
+`setup.cfg` files.
### Where _Black_ looks for the file
# in the root of the project.
(
^/foo.py # exclude a file named foo.py in the root of the project
- | *_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project
+ | .*_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project
)
'''
```
## Next steps
-You've probably noted that not all of the options you can pass to _Black_ have been
-covered. Don't worry, the rest will be covered in a later section.
-
A good next step would be configuring auto-discovery so `black .` is all you need
instead of laborously listing every file or directory. You can get started by heading
over to [File collection and discovery](./file_collection_and_discovery.md).