-
Notifications
You must be signed in to change notification settings - Fork 890
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
311 additions
and
147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.python-version eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
3.7.9 | ||
3.8.10 | ||
3.9.13 | ||
3.10.11 | ||
3.11.5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"recommendations": [ | ||
"eeyore.yapf", | ||
"dangmai.workspace-default-settings", | ||
"ms-python.flake8", | ||
"ms-python.isort", | ||
"ms-python.python", | ||
], | ||
// These are remarked as extenstions you should disable for this workspace. | ||
// VSCode does not support disabling extensions via workspace config files. | ||
"unwantedRecommendations": [ | ||
"ms-python.black-formatter", | ||
"ms-python.pylint" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"editor.codeActionsOnSave": { | ||
"source.organizeImports": true | ||
}, | ||
"files.insertFinalNewline": true, | ||
"files.trimFinalNewlines": true, | ||
"[python]": { | ||
"diffEditor.ignoreTrimWhitespace": false, | ||
"editor.defaultFormatter": "eeyore.yapf", | ||
"editor.formatOnSaveMode": "file", | ||
"editor.formatOnSave": true, | ||
"editor.wordBasedSuggestions": false, | ||
"files.trimTrailingWhitespace": true, | ||
}, | ||
"python.analysis.typeCheckingMode": "basic", | ||
"python.languageServer": "Pylance", | ||
"files.exclude": { | ||
"**/*$py.class": true | ||
}, | ||
"json.schemas": [ | ||
{ | ||
"fileMatch": [ | ||
"/.vscode/settings.default.json" | ||
], | ||
"url": "vscode://schemas/settings/folder" | ||
} | ||
], | ||
"workspace-default-settings.runOnActivation": true, | ||
"workspace-default-settings.jsonIndentation": 4 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,3 +15,4 @@ Sam Clegg <[email protected]> | |
Łukasz Langa <[email protected]> | ||
Oleg Butuzov <[email protected]> | ||
Mauricio Herrera Cuadra <[email protected]> | ||
Kyle Gottfried <[email protected]> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
# Using YAPF with your editor | ||
|
||
YAPF is supported by multiple editors via community extensions or plugins. | ||
|
||
- [IntelliJ/PyCharm](#intellijpycharm) | ||
- [IPython](#ipython) | ||
- [VSCode](#vscode) | ||
|
||
## IntelliJ/PyCharm | ||
|
||
Use the `File Watchers` plugin to run YAPF against a file when you perform a save. | ||
|
||
1. Install the [File Watchers](https://www.jetbrains.com/help/idea/using-file-watchers.html) Plugin | ||
1. Add the following `.idea/watcherTasks.xml` to your project. If you already have this file just add the `TaskOptions` section from below. This example uses Windows and a virtual environment, modify the `program` option as appropriate. | ||
```xml | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project version="4"> | ||
<component name="ProjectTasksOptions"> | ||
<TaskOptions isEnabled="true"> | ||
<option name="arguments" value="-i $FilePathRelativeToProjectRoot$" /> | ||
<option name="checkSyntaxErrors" value="true" /> | ||
<option name="description" /> | ||
<option name="exitCodeBehavior" value="ERROR" /> | ||
<option name="fileExtension" value="py" /> | ||
<option name="immediateSync" value="true" /> | ||
<option name="name" value="yapf" /> | ||
<option name="output" value="" /> | ||
<option name="outputFilters"> | ||
<array /> | ||
</option> | ||
<option name="outputFromStdout" value="false" /> | ||
<option name="program" value="$PROJECT_DIR$/.venv/Scripts/yapf.exe" /> | ||
<option name="runOnExternalChanges" value="true" /> | ||
<option name="scopeName" value="Project Files" /> | ||
<option name="trackOnlyRoot" value="false" /> | ||
<option name="workingDir" value="$Projectpath$" /> | ||
<envs /> | ||
</TaskOptions> | ||
</component> | ||
</project> | ||
``` | ||
|
||
## IPython | ||
|
||
IPython supports formatting lines automatically when you press the `<Enter>` button to submit the current code block. | ||
|
||
Make sure that the YAPF module is available to the IPython runtime: | ||
|
||
```shell | ||
pip install ipython yapf | ||
``` | ||
|
||
pipx example: | ||
|
||
```shell | ||
pipx install ipython | ||
pipx inject ipython yapf | ||
``` | ||
|
||
Add following to `~/.ipython/profile_default/ipython_config.py`: | ||
|
||
```python | ||
c.TerminalInteractiveShell.autoformatter = 'yapf' | ||
``` | ||
|
||
## VSCode | ||
|
||
VSCode has deprecated support for YAPF in its official Python extension [in favor of dedicated formatter extensions](https://github.com/microsoft/vscode-python/wiki/Migration-to-Python-Tools-Extensions). | ||
|
||
1. Install EeyoreLee's [yapf](https://marketplace.visualstudio.com/items?itemName=eeyore.yapf) extension. | ||
1. Install the yapf package from pip. | ||
``` | ||
pip install yapf | ||
``` | ||
1. Add the following to VSCode's `settings.json`: | ||
```jsonc | ||
"[python]": { | ||
"editor.formatOnSaveMode": "file", | ||
"editor.formatOnSave": true, | ||
"editor.defaultFormatter": "eeyore.yapf" # choose this extension | ||
}, | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
include HACKING.md LICENSE AUTHORS CHANGELOG CONTRIBUTING.md CONTRIBUTORS | ||
include HACKING.md LICENSE AUTHORS CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS | ||
include .coveragerc .editorconfig .flake8 plugins/README.md | ||
include plugins/vim/autoload/yapf.vim plugins/vim/plugin/yapf.vim pylintrc | ||
include .style.yapf tox.ini .travis.yml .vimrc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
[build-system] | ||
requires = ["setuptools>=58.5.0"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "yapf" | ||
description = "A formatter for Python code" | ||
authors = [{ name = "Google Inc." }] | ||
maintainers = [{ name = "Bill Wendling", email = "[email protected]" }] | ||
license = { file = "LICENSE" } | ||
readme = "README.md" | ||
requires-python = ">=3.7" | ||
version = "0.40.2" | ||
classifiers = [ | ||
'Development Status :: 4 - Beta', | ||
'Environment :: Console', | ||
'Intended Audience :: Developers', | ||
'License :: OSI Approved :: Apache Software License', | ||
'Operating System :: OS Independent', | ||
'Programming Language :: Python', | ||
'Programming Language :: Python :: 3 :: Only', | ||
'Programming Language :: Python :: 3.7', | ||
'Programming Language :: Python :: 3.8', | ||
'Programming Language :: Python :: 3.9', | ||
'Programming Language :: Python :: 3.10', | ||
'Programming Language :: Python :: 3.11', | ||
'Topic :: Software Development :: Libraries :: Python Modules', | ||
'Topic :: Software Development :: Quality Assurance', | ||
] | ||
dependencies = [ | ||
'importlib-metadata>=6.6.0', | ||
'platformdirs>=3.5.1', | ||
'tomli>=2.0.1', | ||
] | ||
|
||
[project.scripts] | ||
yapf = "yapf:run_main" | ||
yapf-diff = "yapf_third_party.yapf_diff.yapf_diff:main" | ||
|
||
[project.urls] | ||
# https://daniel.feldroy.com/posts/2023-08-pypi-project-urls-cheatsheet | ||
Home = 'https://github.com/google/yapf' | ||
Changelog = 'https://github.com/google/yapf/blob/main/CHANGELOG.md' | ||
Docs = 'https://github.com/google/yapf/blob/main/README.md#yapf' | ||
Issues = 'https://github.com/google/yapf/issues' | ||
|
||
[tool.distutils.bdist_wheel] | ||
python_tag = "py3" | ||
|
||
[tool.setuptools] | ||
include-package-data = true | ||
package-dir = { yapf_third_party = 'third_party/yapf_third_party' } | ||
|
||
[tool.setuptools.packages.find] | ||
where = [".", 'third_party'] | ||
include = ["yapf*", 'yapftests*'] | ||
|
||
[tool.setuptools.package-data] | ||
yapf_third_party = [ | ||
'yapf_diff/LICENSE', | ||
'_ylib2to3/Grammar.txt', | ||
'_ylib2to3/PatternGrammar.txt', | ||
'_ylib2to3/LICENSE', | ||
] |
Oops, something went wrong.