madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged.
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
Cooper Lees [Sun, 17 May 2020 00:36:20 +0000 (17:36 -0700)]
Add primer CI tool 🏴 (#1402)
* Add primer CI tool 💩
- Run in PATH `black` binary on configured projects
- Can set wether we expect changes or not per project
- Can set what python versions are supported for a project
- if `long_checkout` True project will not be ran on CI
Will add to CI after I finish unit tests to avoid silly bugs I'm sure I have 🤪
Tests:
- Manual Run - Will add unit tests if people think it will be useful
- Output:
```shell
(b) cooper-mbp1:black cooper$ time /tmp/b/bin/black-primer -k -w /tmp/cooper_primer_1
[2020-05-10 08:48:25,696] INFO: 4 projects to run black over (lib.py:212)
[2020-05-10 08:48:25,697] INFO: Skipping aioexabgp as it's disabled via config (lib.py:166)
[2020-05-10 08:48:25,699] INFO: Skipping bandersnatch as it's disabled via config (lib.py:166)
[2020-05-10 08:48:28,676] INFO: Analyzing results (lib.py:225)
-- primer results 📊 --
2 / 4 succeeded (50.0%) ✅
0 / 4 FAILED (0.0%) 💩
- 2 projects Disabled by config
- 0 projects skipped due to Python Version
- 0 skipped due to long checkout
real 0m3.304s
user 0m9.529s
sys 0m1.019s
```
- ls of /tmp/cooper_primer_1
```
(b) cooper-mbp1:black cooper$ ls -lh /tmp/cooper_primer_1
total 0
drwxr-xr-x 21 cooper wheel 672B May 10 08:48 attrs
drwxr-xr-x 14 cooper wheel 448B May 10 08:48 flake8-bugbear
```
* Address mypy 3.6 type errors
- Don't use asyncio.run() ... go back to the past :P
- Refactor results into a named tuple of two dicts to avoid typing nightmare
- Fix some variable names
- Fix bug with rebase logic in git_checkout_or_rebase
* Prettier the JSON config file for primer
* Delete projects when finished, move dir to be timestamped + shallow copy
* Re-enable disabled projects post @JelleZijlstra's docstring fix
* Workaround for future annotations until someone tells me the correct fix
Richard Si [Sat, 16 May 2020 20:22:46 +0000 (16:22 -0400)]
Document git's ignore-revs-file feature (#1419)
* Document git's ignore-revs-file feature
A long-standing counterargument against moving to automated code formatters
like Black is that the migration will clutter up the output of git blame.
This used to be a valid argument, but not anymore. Since git version 2.23,
git natively supports ignoring revisions in blame with the --ignore-rev
and --ignore-revs-file options.
This isn't documented in the Black documentation. It should be as it would
put old projects wanting to migrate to Black at ease since blame won't
be ruined.
* Add links so people can +1 on --ignore-revs-file support
* Fix wording
'Counterargument' was the wrong word since it means an objection to an objection. 'Argument' is the proper word I was looking for.
Co-authored-by: Cooper Lees <me@cooperlees.com>
Richard Si [Sat, 16 May 2020 09:21:31 +0000 (05:21 -0400)]
Expand docs about slice formatting (#1418)
Black will apply no spaces around ':' operators for 'simple' expresssions
, but will apply extra space around ':' operators for 'complex' expressions.
Black treats anything more than variable names as 'complex', but this isn't
noted in the Black documentation. Which leads to a few issues on the GitHub
issue tracker that all report inconsistent spacing around ':' operators.
Jelle Zijlstra [Sat, 16 May 2020 03:47:21 +0000 (20:47 -0700)]
fix crashes on docstring whitespace changes (#1417)
Fixes #1415
Paul Meinhardt [Wed, 13 May 2020 19:51:04 +0000 (21:51 +0200)]
Fix Boolean values in pyproject.toml config (#1410)
Boolean values use lowercase identifiers in TOML.
https://github.com/toml-lang/toml#user-content-boolean
Cooper Lees [Sat, 9 May 2020 19:16:00 +0000 (12:16 -0700)]
Remove no longer used appveyor (#1401)
Terrance [Sat, 9 May 2020 16:22:23 +0000 (17:22 +0100)]
Handle ImportError from multiprocessing module (#1400)
Termux's Python environment doesn't provide sem_open, but fails with a
nested `ImportError` on import attempts:
ImportError: cannot import name 'SemLock' from '_multiprocessing'
This updates the existing handling for AWS Lambda to catch both
`OSError` and `ImportError`.
Sanket Dasgupta [Sat, 9 May 2020 13:32:29 +0000 (19:02 +0530)]
Add preference of parantheses over backslashes in docs (#1399)
Closes https://github.com/psf/black/issues/392
Revived from https://github.com/psf/black/pull/558
Relevant to https://github.com/psf/black/issues/664
Hugo van Kemenade [Fri, 8 May 2020 19:14:27 +0000 (22:14 +0300)]
README/CHANGES: Fix links (#1397)
* Replace relative README links with absolutes, so they work on PyPI
* CHANGES: Fix Spyder web link
Nathan Hunt [Fri, 8 May 2020 16:53:07 +0000 (12:53 -0400)]
Add py.typed file. (#1395)
* Add py.typed file
Cooper Lees [Fri, 8 May 2020 15:50:50 +0000 (08:50 -0700)]
Refactor black into packages in src/ dir (#1376)
- Move black.py to src/black/__init__.py
- Have setuptools_scm make src/_black_version.py and exclude from git
- Move blackd.py to src/blackd/__init__.py
- Move blib2to3/ to src/
- Update `setup.py`
- Update unittests to pass
- Mostly path fixing + resolving
- Update CI
- pre-commit config
- appveyor + travis
Tested on my mac with python 3.7.5 via:
```
python3 -m venv /tmp/tb3
/tmp/tb3/bin/pip install --upgrade setuptools pip coverage pre-commit
/tmp/tb2/bin/pip install ~/repos/black/
cd ~/repos/black/
/tmp/tb2/bin/coverage run tests/test_black.py
/tmp/tb3/bin/pre-commit run -a
/tmp/tb3/bin/black --help
/tmp/tb3/bin/black ~/repos/ptr/ptr.py
```
shaoran [Fri, 8 May 2020 15:42:19 +0000 (17:42 +0200)]
Adding documentation to the README for import errors in vim (#1317)
* Adding documentation to the README for import errors in vim
I had the same issue as psf/black#1148 and have been searching for a
solution to this. I realized that you cannot fix it by change anything
in the code, but by re-compiling the C extensions of regex and
typed-ast. Installing this packages from the tarballs solves the
problem.
* Fixing a bad copy&paste
Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>
* chore: changed made by pre-commit
* chore: better way of dealing with non-binary installs
* chore: adding vim cache files to the ignore list
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Dan Davison [Fri, 8 May 2020 15:31:06 +0000 (11:31 -0400)]
Add purcell/reformatter.el as an Emacs integration option (#1330)
Zsolt Dollenstein [Fri, 8 May 2020 15:27:50 +0000 (16:27 +0100)]
close event loop for all tests (#1394)
Hugo van Kemenade [Fri, 8 May 2020 15:19:06 +0000 (18:19 +0300)]
Test on Python 3.9-dev (#1393)
* Test on Python 3.9-dev
* Python 3.9 still in alpha, allow to fail
Zsolt Dollenstein [Fri, 8 May 2020 15:13:42 +0000 (16:13 +0100)]
Fix mono test
Zsolt Dollenstein [Fri, 8 May 2020 15:12:52 +0000 (16:12 +0100)]
Improve error messages from BlackRunner
Jelle Zijlstra [Fri, 8 May 2020 14:55:57 +0000 (07:55 -0700)]
Update changelog and README (#1392)
* add two CHANGELOG entries
* update README on command-line options
Hugo van Kemenade [Fri, 8 May 2020 14:47:54 +0000 (17:47 +0300)]
Remove deprecated --py36 option (#1236)
Giacomo Tagliabue [Fri, 8 May 2020 14:47:26 +0000 (10:47 -0400)]
add --force-exclude argument (#1032)
Co-authored-by: Peter Yu <2057325+yukw777@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Zsolt Dollenstein [Fri, 8 May 2020 14:36:56 +0000 (15:36 +0100)]
skip mono test while im working on it
Cooper Lees [Fri, 8 May 2020 14:29:53 +0000 (07:29 -0700)]
Update CHANGELOG with some PRs merged (#1391)
* Update CHANGELOG with some PRs merged
- Add section for vim plugin
- Add vim plugin now prefering virtualenv
- Add py3 tagged wheels
* packges
* Update CHANGES.md _Black_
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Update CHANGES.md Vim
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Richard Si [Fri, 8 May 2020 14:26:29 +0000 (10:26 -0400)]
Add Black compatible configurations in documentation (#1366 & #1205) (#1371)
* Add Black compatible configs in docs ( #1366 & #1205)
When users of Black are starting a new project or are adding Black to their
existing projects, they will usually have to config their existing tools like
flake8 to be compatible with Black. Usually, these configs are the same across
different projects. Yet, there isn't any consolidated infomation on what configs
are compatible. Leaving users of Black to dig out any infomation they can find
in README.md.
* Fix a bad max-line-length value
* Clean up pylint's configs
* Add explanations for each configurations
Copying and pasting code without understanding it is a bad idea. This goes the same
for users copying and pasting configurations.
* Capitalize Pylint
* Link from the README
* Fix the isort configuration
I referenced the wrong source. I used a pesonal configuration, not a pure Black-
compatible configuration.
* Improve the config explanations
The explanation for the isort configuration was pretty bad. After having fixed the
configuration (see commit
01c55d1), improving the its explanation was necessary to
make it more user-friendly and understandable. Also added fenced code blocks of the
raw configuration options so the explanations make sense.
* Improve README wording slightly
* Add @hugovk, @JelleZijlstra + my suggestions
Co-authored-by: Cooper Lees <cooper@fb.com>
Arnav Borborah [Fri, 8 May 2020 14:13:57 +0000 (10:13 -0400)]
Include an easier way to integrate black with Pycharm (#1268)
* Include an easier way to integrate black with Pycharm
Łukasz Langa [Fri, 8 May 2020 14:06:05 +0000 (16:06 +0200)]
Make the use of a ThreadPoolExecutor explicit
Zsolt Dollenstein [Fri, 8 May 2020 13:54:30 +0000 (14:54 +0100)]
better test for mono executor
Autophagy [Fri, 8 May 2020 13:41:27 +0000 (15:41 +0200)]
Add docstrings to fmt checking functions, add to docs
Follow up from #1325
Adds docstrings to the fmt checking functions.
Renames fmt_on to is_fmt_on.
Adds the functions to the autodocs.
Allan Simon [Fri, 8 May 2020 13:46:07 +0000 (15:46 +0200)]
permits black to run in AWS Lambda: (#1141)
AWS Lambda and some other virtualized environment may not permit access
to /dev/shm on Linux and as such, trying to use ProcessPoolExecutor will
fail.
As using parallelism is only a 'nice to have' feature of black, if it fails
we gracefully fallback to a monoprocess implementation, which permits black
to finish normally.
Co-authored-by: Allan Simon <asimon@yolaw.fr>
Ville Skyttä [Fri, 8 May 2020 13:40:56 +0000 (16:40 +0300)]
Add Change Log project URL (#1382)
* Add Change Log project URL
Co-authored-by: Cooper Lees <me@cooperlees.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
kaiix [Fri, 8 May 2020 13:31:37 +0000 (21:31 +0800)]
Prefer virtualenv packages over global packages (#1383) (#1384)
Douglas Thor [Fri, 8 May 2020 13:30:10 +0000 (06:30 -0700)]
Add option for printing a colored diff (#1266)
Jon Dufresne [Fri, 8 May 2020 13:23:50 +0000 (06:23 -0700)]
Remove deprecated use of 'setup.py test' (#1275)
Since setuptools v41.5.0 (27 Oct 2019), the 'test' command is formally
deprecated and should not be used. Now use unittest as the test entry
point.
utsav-dbx [Fri, 8 May 2020 13:23:22 +0000 (06:23 -0700)]
Add Dropbox as a user of Black (#1335)
williamfzc [Fri, 8 May 2020 13:16:57 +0000 (21:16 +0800)]
add bracket check in split_line (#1315)
David Lukes [Fri, 8 May 2020 13:13:54 +0000 (15:13 +0200)]
Make sure sys._base_executable is sane in Vim plugin (#1380)
The `venv` module relies on `sys._base_executable` to determine the
Python executable to run, but with recent versions of Vim, this is set
to the `vim` executable. A possible workaround is to just override it,
since the `black` plugin already overrides `sys.executable` (possibly
for similar reasons?) anyway.
Zsolt Dollenstein [Fri, 8 May 2020 13:09:15 +0000 (14:09 +0100)]
add change log entry for #1053
Alex Vandiver [Fri, 8 May 2020 13:08:15 +0000 (06:08 -0700)]
Re-indent the contents of docstrings (#1053)
* Re-indent the contents of docstrings when indentation changes
Keeping the contents of docstrings completely unchanged when
re-indenting (from 2-space intents to 4, for example) can cause
incorrect docstring indentation:
```
class MyClass:
"""Multiline
class docstring
"""
def method(self):
"""Multiline
method docstring
"""
pass
```
...becomes:
```
class MyClass:
"""Multiline
class docstring
"""
def method(self):
"""Multiline
method docstring
"""
pass
```
This uses the PEP 257 algorithm for determining docstring indentation,
and adjusts the contents of docstrings to match their new indentation
after `black` is applied.
A small normalization is necessary to `assert_equivalent` because the
trees are technically no longer precisely equivalent -- some constant
strings have changed. When comparing two ASTs, whitespace after
newlines within constant strings is thus folded into a single space.
Co-authored-by: Luka Zakrajšek <luka@bancek.net>
* Extract the inner `_v` method to decrease complexity
This reduces the cyclomatic complexity to a level that makes flake8 happy.
* Blacken blib2to3's docstring which had an over-indent
Co-authored-by: Luka Zakrajšek <luka@bancek.net>
Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
Andrew Zhou [Fri, 8 May 2020 13:01:42 +0000 (08:01 -0500)]
Add error on non-list target-version in config file (#1284)
Bryan Bugyi [Fri, 8 May 2020 12:56:21 +0000 (08:56 -0400)]
Improve String Handling (#1132)
This pull request's main intention is to wraps long strings (as requested by #182); however, it also provides better string handling in general and, in doing so, closes the following issues:
Closes #26
Closes #182
Closes #933
Closes #1183
Closes #1243
Cooper Lees [Fri, 8 May 2020 12:49:51 +0000 (05:49 -0700)]
Move to 'py3' tagged wheels (#1388)
- This makes black wheels to be tagged as py3 default
- `python_requires=">=3.6"` ensures we are >= 3.6
Test:
```
python3 -m venv /tmp/build_black
/tmp/build_black/bin/pip install --upgrade pip setuptools wheel
/tmp/build_black/bin/python setup.py bdist_wheel
...
black-19.10b1.dev53+g81bf9bb.
d20200508-py3-none-any.whl
```
Addresses #1385
otstrel [Fri, 8 May 2020 12:37:17 +0000 (15:37 +0300)]
Fix for "# fmt: on" with decorators (#1325)
Vlad Emelianov [Fri, 8 May 2020 12:10:04 +0000 (14:10 +0200)]
Issue 1144: Fix type annotations for --config option (#1166)
dependabot[bot] [Fri, 8 May 2020 11:31:46 +0000 (04:31 -0700)]
Bump bleach from 3.1.2 to 3.1.4 (#1326)
Bumps [bleach](https://github.com/mozilla/bleach) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/mozilla/bleach/releases)
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.2...v3.1.4)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Toby Fleming [Thu, 30 Apr 2020 07:47:52 +0000 (00:47 -0700)]
Change exit code to 2 when config file doesn't exist (#1361)
Fixes #1360, where an invalid config file causes a return/exit code of 1. This
change means this case is caught earlier, treated like any other bad
parameters, and results in an exit code of 2.
Co-authored-by: Toby Fleming <tobywf@users.noreply.github.com>
shaoran [Fri, 24 Apr 2020 02:32:40 +0000 (04:32 +0200)]
Fixing the documentation of how to install the vim plugin (#1318)
* fix: Fixing the documentation of how to install the vim plugin
Solves the installation problem that currently exist because
the current master branch is not stable. See psf/black#1304 for
more information.
* fix: fixing incorrect path
Charles [Fri, 17 Apr 2020 02:26:09 +0000 (09:26 +0700)]
Update heredoc marker case to conform with vim patch 8.1.1723 (#1348)
MomIsBestFriend [Sun, 12 Apr 2020 03:30:24 +0000 (06:30 +0300)]
Small nitpicks (#1340)
Co-authored-by: MomIsBestFriend <>
Rémi Verschelde [Sun, 5 Apr 2020 05:02:57 +0000 (07:02 +0200)]
Fix --diff output when encountering EOF (#1328)
`split("\n")` includes a final empty element `""` if the final line
ends with `\n` (as it should for POSIX-compliant text files), which
then became an extra `"\n"`.
`splitlines()` solves that, but there's a caveat, as it will split
on other types of line breaks too (like `\r`), which may not be
desired.
Fixes #526.
Zsolt Dollenstein [Sun, 29 Mar 2020 02:06:00 +0000 (03:06 +0100)]
Omit commit hash and date stamp from doc version (#1322)
This also removes the dependency on setuptools-scm while building the
docs.
Fixes #1104.
Quentin Pradet [Fri, 27 Mar 2020 17:28:10 +0000 (21:28 +0400)]
Add missing separator in README (#1320)
Zsolt Dollenstein [Fri, 27 Mar 2020 10:43:41 +0000 (10:43 +0000)]
Fix readthedocs build (#1321)
* migrate to new rtd config format and pip
* no type field anymore
* use builtin re for docs
dependabot[bot] [Fri, 27 Mar 2020 08:24:51 +0000 (08:24 +0000)]
Bump bleach from 3.1.1 to 3.1.2 (#1313)
Bumps [bleach](https://github.com/mozilla/bleach) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/mozilla/bleach/releases)
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.1...v3.1.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Łukasz Langa [Tue, 17 Mar 2020 10:35:41 +0000 (11:35 +0100)]
Don't suggest using `sudo` with Docker
Thanks for the tip, @imomaliev.
Łukasz Langa [Tue, 17 Mar 2020 10:33:57 +0000 (11:33 +0100)]
Compress RUN statements into one to avoid layer proliferation
Thanks for the suggestion, @imomaliev.
Łukasz Langa [Tue, 17 Mar 2020 10:33:02 +0000 (11:33 +0100)]
Update dependencies
Max Smolens [Thu, 12 Mar 2020 19:42:17 +0000 (15:42 -0400)]
Fix typo in README (#1306)
Hugo van Kemenade [Mon, 9 Mar 2020 15:32:27 +0000 (17:32 +0200)]
Update wording and formatting (#1302)
Batuhan Taşkaya [Mon, 9 Mar 2020 13:42:26 +0000 (16:42 +0300)]
Implement Black Version Gallery (#1294)
Closes #1290.
Abdur-Rahmaan Janhangeer [Mon, 9 Mar 2020 13:38:54 +0000 (17:38 +0400)]
[README.md] Updated Mail Address - Abdur-Rahmaan Janhangeer (#1301)
Łukasz Langa [Wed, 4 Mar 2020 22:19:21 +0000 (23:19 +0100)]
Update the name of Mode in the reference docs, too
Łukasz Langa [Wed, 4 Mar 2020 22:16:55 +0000 (23:16 +0100)]
Rename FileMode into just Mode
The mode was never just about files to begin with. There are no other modes in
Black, this can be the default one.
Łukasz Langa [Wed, 4 Mar 2020 22:08:57 +0000 (23:08 +0100)]
Document how to use format_str()
Closes #1064
Łukasz Langa [Wed, 4 Mar 2020 21:26:45 +0000 (22:26 +0100)]
Introduce a section of docs about exceptions
Łukasz Langa [Wed, 4 Mar 2020 18:10:17 +0000 (19:10 +0100)]
Run prettier and fix whitespace on CHANGES.md (#1296)
Łukasz Langa [Wed, 4 Mar 2020 15:57:24 +0000 (16:57 +0100)]
Add @cooperlees to maintainers
Fixes #1295
Łukasz Langa [Wed, 4 Mar 2020 15:46:20 +0000 (16:46 +0100)]
Tell people where Change Log went
Cooper Lees [Wed, 4 Mar 2020 15:40:48 +0000 (15:40 +0000)]
Split out Change Log (#1117)
* Split out Change Log
- Move to CHANGES.md to allow bots to see changes
- MANIFEST.in already includes *.md so CHANGES.md will be included
- THis maintains format but the change log will now be after acknowledgements
- This also ensure this gets added to pypi.org via setup.py function
Shantanu [Tue, 3 Mar 2020 13:55:14 +0000 (05:55 -0800)]
string prefixes: don't normalise capital R-strings (#1271)
Resolves #1244
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Paul Ganssle [Tue, 3 Mar 2020 12:00:52 +0000 (07:00 -0500)]
Notify users of missing Python lazily (#1210)
Currently this message shows up with no context prior to the start of
Vim. By changing this to a lazy message, the user will only be notified
of a problem with the Black plugin when they are attempting to use the
Black plugin.
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Tal Amuyal [Tue, 3 Mar 2020 11:23:28 +0000 (13:23 +0200)]
Teach the Vim plugin to respect pyproject.toml (issue 414) (#1273)
Creates two separate functions:
1) abspath_pyproject_toml: find the absolute path to pyproject.toml
2) parse_pyproject_toml: finds black-specific toml config
Co-authored-by: Samuel Roeca <samuel.roeca@gmail.com>
Yurii Karabas [Sun, 9 Feb 2020 21:21:46 +0000 (00:21 +0300)]
Simplify Line.contains_multiline_strings method (#1267)
Shinya Fujino [Sun, 26 Jan 2020 13:31:49 +0000 (22:31 +0900)]
Update README.md to include appropriate command to install Vim with Python 3 on macOS (#1247)
* Update README.md to include appropriate command to install Vim with Python 3 on macOS
* Run pre-commit hooks
Matthew Clapp [Thu, 23 Jan 2020 16:18:57 +0000 (08:18 -0800)]
Change error message to specify its origin. (#1240)
Vlad Emelianov [Sat, 18 Jan 2020 15:21:46 +0000 (16:21 +0100)]
Support py38-style starred expressions in return statement (#1121)
Jon Dufresne [Sat, 18 Jan 2020 15:21:19 +0000 (07:21 -0800)]
Remove unused variables tokenprog, Token and PlainToken (#1137)
Yazdan [Sat, 18 Jan 2020 15:19:54 +0000 (18:49 +0330)]
change pyproject.toml relative path to absolute path in README.md (#1152)
because in the readthedocs hosted version this pyproject.toml will route to readthedocs does not exist page
Michael Aquilina [Sat, 18 Jan 2020 15:17:06 +0000 (17:17 +0200)]
Add comment to flake8 configuration explaining line-length mismatch (#1206)
kyle hausmann [Sat, 18 Jan 2020 15:13:15 +0000 (10:13 -0500)]
Use conditional case for diff reports (#1226)
When --diff flag is used, black will now use the
conditional case in the Report output: eg "would
be reformatted"
Mr. Outis [Sat, 18 Jan 2020 15:12:24 +0000 (09:12 -0600)]
bump regex version, providing wheels (#1232)
Close #1112
hauntsaninja [Thu, 2 Jan 2020 22:33:30 +0000 (14:33 -0800)]
find_project_root: allow .git to be a file (#1217)
Fixes #1213
Hugo van Kemenade [Mon, 16 Dec 2019 21:46:44 +0000 (23:46 +0200)]
Skip the broken version of regex (#1209)
Hugo van Kemenade [Wed, 11 Dec 2019 10:23:26 +0000 (12:23 +0200)]
This MANIFEST.in not needed with setuptools_scm (#1200)
Francisco [Sun, 8 Dec 2019 18:13:50 +0000 (18:13 +0000)]
Add Thonny-black-code-format plugin (#1195)
Cooper Lees [Wed, 4 Dec 2019 08:33:25 +0000 (00:33 -0800)]
Add GitHub Actions badge to README.md (#1134)
Zsolt Dollenstein [Sat, 30 Nov 2019 11:16:33 +0000 (11:16 +0000)]
Fix list literal example in README
The literal as written is going to be exploded because of the trailing comma.
springstan [Fri, 29 Nov 2019 14:19:36 +0000 (15:19 +0100)]
Add Home Assistant to 'Used by' section (#1182)
See the following post: https://developers.home-assistant.io/blog/2019/07/31/black.html
Michael J. Sullivan [Mon, 25 Nov 2019 22:16:00 +0000 (14:16 -0800)]
Fix unstable formatting with some `# type: ignore`s (#1113)
`type: ignore` shouldn't block collapsing a line, since it will still
apply fine to the merged line. This prevents an issue where a reformat
causes it to shift lines and then be merged on a subsequent pass.
There is a downside to this, which is that it can cause a `type:
ignore` to apply to more code than was originally intended. There
might be a way to apply this in a more limited situation, but I'm not
sure what it is.
Fixes #1061.
Denis Laxalde [Sat, 23 Nov 2019 04:38:46 +0000 (05:38 +0100)]
Simple docs cleanup (#1168)
* Remove reference to format_int_string in docs
The function got dropped in
250ba7f04b300df284ba80cd4bb4122b45b41efb.
* Remove reference to is_python36 in docs
The function got removed in
36d3c516d3c09fc5f05c420900dd6b854e3c8bbd.
Hugo van Kemenade [Fri, 22 Nov 2019 08:14:57 +0000 (10:14 +0200)]
CI: Add Python 3.8 and lint to GitHub Actions (#1173)
* CI: Test Python 3.8 on GitHub Actions
* pre-commit autoupdate
* CI: Lint on GitHub Actions
Anthony Sottile [Fri, 22 Nov 2019 08:13:23 +0000 (00:13 -0800)]
Suggest `extend-ignore` over `ignore` for flake8 (#1165)
this option was introduced in flake8 3.7.x and is generally preferred over `ignore` (which unsets all default ignores)
Tim Gates [Thu, 7 Nov 2019 20:57:39 +0000 (07:57 +1100)]
Fix simple typo: intput -> input (#1146)
Fixes #1147
Richard Fearn [Thu, 31 Oct 2019 00:20:27 +0000 (00:20 +0000)]
Remove duplicate paragraph about blackd headers (#1124)
Michael J. Sullivan [Wed, 30 Oct 2019 14:29:29 +0000 (07:29 -0700)]
Support compilation with mypyc (#1009)
* Make most of blib2to3 directly typed and mypyc-compatible
This used a combination of retype and pytype's merge-pyi to do the
initial merges of the stubs, which then required manual tweaking to
make actually typecheck and work with mypyc.
Co-authored-by: Sanjit Kalapatapu <sanjitkal@gmail.com>
Co-authored-by: Michael J. Sullivan <sully@msully.net>
* Make black able to compile and run with mypyc
The changes made fall into a couple categories:
* Fixing actual type mistakes that slip through the cracks
* Working around a couple mypy bugs (the most annoying of which being
that we need to add type annotations in a number of places where
variables are initialized to None)
Co-authored-by: Sanjit Kalapatapu <sanjitkal@gmail.com>
Co-authored-by: Michael J. Sullivan <sully@msully.net>
Thomas Grainger [Wed, 30 Oct 2019 14:27:20 +0000 (14:27 +0000)]
replace broken rtfd pypi badge (#1120)
Michael J. Sullivan [Wed, 30 Oct 2019 04:06:34 +0000 (21:06 -0700)]
Switch from attrs to dataclasses (#1116)
The main motivation here is that mypyc is going to have custom support
for dataclasses but probably not attrs.
Łukasz Langa [Mon, 28 Oct 2019 21:55:17 +0000 (22:55 +0100)]
Remove Poetry metadata
Hugo van Kemenade [Mon, 28 Oct 2019 20:00:43 +0000 (22:00 +0200)]
Test Windows, macOS and Linux on GitHub Actions (#1085)
Łukasz Langa [Mon, 28 Oct 2019 19:58:06 +0000 (20:58 +0100)]
acks += llchan
Lawrence Chan [Mon, 28 Oct 2019 19:51:45 +0000 (14:51 -0500)]
Fix fmt on/off when multiple exist in leaf prefix (#1086)
The old behavior would detect the existence of a `# fmt: on` in a leaf
node's comment prefix and immediately mark the node as formatting-on,
even if a subsequent `# fmt: off` in the same comment prefix would turn
it back off. This change modifies that logic to track the state through
the entire prefix and take the final state.
Note that this does not fully solve on/off behavior, since any _comment_
lines between the off/on are still formatted. We may need to add
virtual leaf nodes to truly solve that. I will leave that for a separate
commit/PR.
Fixes #1005
Łukasz Langa [Mon, 28 Oct 2019 19:34:37 +0000 (20:34 +0100)]
Always move the prefix out when wrapping with parentheses (#1103)
Fixes #1097