`pip install pipenv` in the virtualenv you're already using and invoke the command above
from the cloned _Black_ repo. It will do the correct thing.
-Before submitting pull requests, run lints and tests with:
+Non pipenv install works too:
```console
+$ pip install -r test_requirements
+$ pip install -e .[d]
+```
+
+Before submitting pull requests, run lints and tests with the following commands from
+the root of the black repo:
+
+```console
+# Linting
$ pre-commit run -a
-$ python -m unittest
+
+# Unit tests
+$ tox -e py
+
+# Optional Fuzz testing
+$ tox -e fuzz
+
+# Optional CI run to test your changes on many popular python projects
$ black-primer [-k -w /tmp/black_test_repos]
```
+### Docs Testing
+
+If you make changes to docs, you can test they still build locally too.
+
+```console
+$ pip install -r docs/requirements.txt
+$ pip install [-e] .[d]
+$ sphinx-build -a -b html -W docs/ docs/_build/
+```
+
## black-primer
`black-primer` is used by CI to pull down well-known _Black_ formatted projects and see
configuration for it to pass.
For more `black-primer` information visit the
-[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md#black-primer).
+[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md).
## Hygiene
- Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
-- Added `--stdin-filename` argument to allow stdin to respect `--force-exclude` rules.
- Works very alike to flake8's `--stdin-display-name` (#1780)
+- Added parsing support for unparenthesized tuples and yield expressions in annotated
+ assignments (#1835)
+
+- use lowercase hex strings (#1692)
+
+#### _Packaging_
+
+- Self-contained native _Black_ binaries are now provided for releases via GitHub
+ Releases (#1743)
### 20.8b1
`pip install pipenv` in the virtualenv you're already using and invoke the command above
from the cloned _Black_ repo. It will do the correct thing.
-Before submitting pull requests, run lints and tests with:
+Non pipenv install works too:
```console
+$ pip install -r test_requirements
+$ pip install -e .[d]
+```
+
+Before submitting pull requests, run lints and tests with the following commands from
+the root of the black repo:
+
+```console
+# Linting
$ pre-commit run -a
-$ python -m unittest
+
+# Unit tests
+$ tox -e py
+
+# Optional Fuzz testing
+$ tox -e fuzz
+
+# Optional CI run to test your changes on many popular python projects
$ black-primer [-k -w /tmp/black_test_repos]
```
+### Docs Testing
+
+If you make changes to docs, you can test they still build locally too.
+
+```console
+$ pip install -r docs/requirements.txt
+$ pip install [-e] .[d]
+$ sphinx-build -a -b html -W docs/ docs/_build/
+```
+
## black-primer
`black-primer` is used by CI to pull down well-known _Black_ formatted projects and see
configuration for it to pass.
For more `black-primer` information visit the
-[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md#).
+[documentation](https://github.com/psf/black/blob/master/docs/black_primer.md).
## Hygiene
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- - uses: psf/black@stable # the default is equivalent to `black . --diff --check`.
- with: # (optional - override the default parameters).
- args: ". --diff --check"
+ - uses: psf/black@stable
+ with:
+ black_args: ". --check"
```
+
+## Inputs
+
+### `black_args`
+
+**optional**: Black input arguments. Defaults to `. --check --diff`.
matching this regex will be excluded even
when they are passed explicitly as arguments.
+ --stdin-filename TEXT The name of the file when passing it through
+ stdin. Useful to make sure Black will respect
+ --force-exclude option on some editors that
+ rely on using stdin.
+
-q, --quiet Don't emit non-error messages to stderr.
Errors are still emitted; silence those with
2>/dev/null.
should be configured to neither warn about nor overwrite _Black_'s changes.
Actual details on _Black_ compatible configurations for various tools can be found in
-[compatible_configs](https://github.com/psf/black/blob/master/docs/compatible_configs.md#).
+[compatible_configs](https://github.com/psf/black/blob/master/docs/compatible_configs.md#black-compatible-configurations).
## Migrating your code style without ruining git blame
[pyproject.toml](https://github.com/psf/black/blob/master/pyproject.toml) for an
example.
-When using the `--diff` flag with `pre-commit`, you must also use the `--check` flag.
-When you want to run _Black_ only on specific files in pre-commit, either use
-pre-commit's own `files` and `exclude` or, when using _Black_'s `--include`, set
-`--force-exclude` to the negated regex of `--include`.
-
If you're already using Python 3.7, switch the `language_version` accordingly. Finally,
`stable` is a branch that tracks the latest release on PyPI. If you'd rather run on
master, this is also an option.
+coverage >= 5.3
+pre-commit
pytest >= 6.1.1
pytest-mock >= 3.3.1
pytest-cases >= 2.3.0
-coverage >= 5.3
parameterized >= 0.7.4
+tox