-
Notifications
You must be signed in to change notification settings - Fork 232
Use future annotations #957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #957 +/- ##
==========================================
+ Coverage 70.27% 72.94% +2.67%
==========================================
Files 26 26
Lines 1938 1841 -97
Branches 365 350 -15
==========================================
- Hits 1362 1343 -19
+ Misses 456 393 -63
+ Partials 120 105 -15 ☔ View full report in Codecov by Sentry. |
678c3b7
to
25af429
Compare
77f99bf
to
c7dd59f
Compare
87819ab
to
581689a
Compare
Fixed 393 errors: - conftest.py: 1 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) - docs/_ext/aafig.py: 6 × UP007 (non-pep604-annotation) 3 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - docs/conf.py: 2 × UP007 (non-pep604-annotation) 2 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - src/tmuxp/__about__.py: 1 × I002 (missing-required-import) - src/tmuxp/__init__.py: 1 × I002 (missing-required-import) - src/tmuxp/_internal/config_reader.py: 8 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - src/tmuxp/_internal/types.py: 1 × I002 (missing-required-import) - src/tmuxp/cli/__init__.py: 3 × UP037 (quoted-annotation) 2 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) 1 × I001 (unsorted-imports) - src/tmuxp/cli/convert.py: 2 × UP007 (non-pep604-annotation) 1 × T201 (print) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - src/tmuxp/cli/debug_info.py: 1 × UP007 (non-pep604-annotation) 1 × TC003 (typing-only-standard-library-import) 1 × I002 (missing-required-import) - src/tmuxp/cli/edit.py: 2 × TC003 (typing-only-standard-library-import) 2 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × I001 (unsorted-imports) - src/tmuxp/cli/freeze.py: 10 × UP007 (non-pep604-annotation) 5 × T201 (print) 3 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) 1 × F841 (unused-variable) - src/tmuxp/cli/import_config.py: 3 × UP007 (non-pep604-annotation) 1 × TC003 (typing-only-standard-library-import) 1 × I002 (missing-required-import) - src/tmuxp/cli/load.py: 15 × UP007 (non-pep604-annotation) 2 × T201 (print) 1 × UP037 (quoted-annotation) 1 × E303 (too-many-blank-lines) 1 × TC002 (typing-only-third-party-import) 1 × I001 (unsorted-imports) 1 × B007 (unused-loop-control-variable) 1 × I002 (missing-required-import) 1 × TC001 (typing-only-first-party-import) - src/tmuxp/cli/ls.py: 1 × UP007 (non-pep604-annotation) 1 × TC003 (typing-only-standard-library-import) 1 × I002 (missing-required-import) - src/tmuxp/cli/shell.py: 8 × UP007 (non-pep604-annotation) 2 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - src/tmuxp/cli/utils.py: 19 × UP007 (non-pep604-annotation) 3 × UP037 (quoted-annotation) 2 × TC003 (typing-only-standard-library-import) 1 × I002 (missing-required-import) 1 × I001 (unsorted-imports) - src/tmuxp/exc.py: 4 × UP007 (non-pep604-annotation) 1 × F401 (unused-import) 1 × I002 (missing-required-import) 1 × I001 (unsorted-imports) - src/tmuxp/log.py: 2 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) - src/tmuxp/plugin.py: 12 × UP007 (non-pep604-annotation) 12 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - src/tmuxp/shell.py: 18 × UP037 (quoted-annotation) 6 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - src/tmuxp/types.py: 1 × I002 (missing-required-import) - src/tmuxp/util.py: 11 × UP037 (quoted-annotation) 8 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) 1 × I001 (unsorted-imports) - src/tmuxp/workspace/builder.py: 5 × UP007 (non-pep604-annotation) 2 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - src/tmuxp/workspace/constants.py: 1 × I002 (missing-required-import) - src/tmuxp/workspace/finders.py: 4 × UP007 (non-pep604-annotation) 3 × UP037 (quoted-annotation) 1 × TC003 (typing-only-standard-library-import) 1 × I001 (unsorted-imports) 1 × I002 (missing-required-import) 1 × TC001 (typing-only-first-party-import) - src/tmuxp/workspace/freezer.py: 2 × UP007 (non-pep604-annotation) 2 × TC002 (typing-only-third-party-import) 2 × I001 (unsorted-imports) 1 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - src/tmuxp/workspace/importers.py: 1 × I002 (missing-required-import) - src/tmuxp/workspace/loader.py: 3 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) - src/tmuxp/workspace/validation.py: 1 × I002 (missing-required-import) - tests/cli/test_cli.py: 2 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - tests/cli/test_convert.py: 1 × I001 (unsorted-imports) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - tests/cli/test_debug_info.py: 3 × I001 (unsorted-imports) 1 × TC003 (typing-only-standard-library-import) 1 × I002 (missing-required-import) 1 × TC002 (typing-only-third-party-import) - tests/cli/test_freeze.py: 2 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) 1 × I001 (unsorted-imports) - tests/cli/test_import.py: 1 × I001 (unsorted-imports) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - tests/cli/test_load.py: 22 × UP037 (quoted-annotation) 1 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC002 (typing-only-third-party-import) - tests/cli/test_ls.py: 1 × I001 (unsorted-imports) 1 × TC002 (typing-only-third-party-import) 1 × I002 (missing-required-import) - tests/cli/test_shell.py: 3 × UP037 (quoted-annotation) 1 × TC002 (typing-only-third-party-import) 1 × PYI055 (unnecessary-type-union) 1 × I001 (unsorted-imports) 1 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC003 (typing-only-standard-library-import) - tests/constants.py: 1 × I002 (missing-required-import) - tests/fixtures/__init__.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/__init__.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/layouts.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/test1.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/test2.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/test3.py: 1 × I002 (missing-required-import) - tests/fixtures/import_teamocil/test4.py: 1 × I002 (missing-required-import) - tests/fixtures/import_tmuxinator/__init__.py: 1 × I002 (missing-required-import) - tests/fixtures/import_tmuxinator/test1.py: 1 × I002 (missing-required-import) - tests/fixtures/import_tmuxinator/test2.py: 1 × I002 (missing-required-import) - tests/fixtures/import_tmuxinator/test3.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/partials/_types.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/partials/all_pass.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/partials/libtmux_version_fail.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/partials/test_plugin_helpers.py: 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) - tests/fixtures/pluginsystem/partials/tmux_version_fail.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/partials/tmuxp_version_fail.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/tmuxp_test_plugin_awf/plugin.py: 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/tmuxp_test_plugin_bs/plugin.py: 1 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/tmuxp_test_plugin_bwb/plugin.py: 1 × UP037 (quoted-annotation) 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/tmuxp_test_plugin_fail/plugin.py: 1 × I002 (missing-required-import) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/tmuxp_test_plugin_owc/plugin.py: 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) - tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/tmuxp_test_plugin_r/plugin.py: 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) - tests/fixtures/structures.py: 1 × I002 (missing-required-import) - tests/fixtures/utils.py: 2 × UP007 (non-pep604-annotation) 1 × F401 (unused-import) 1 × I002 (missing-required-import) - tests/fixtures/workspace/__init__.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/expand1.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/expand2.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/expand_blank.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/sample_workspace.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/shell_command_before.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/shell_command_before_session.py: 1 × I002 (missing-required-import) - tests/fixtures/workspace/trickle.py: 1 × I002 (missing-required-import) - tests/test_plugin.py: 1 × I002 (missing-required-import) - tests/test_shell.py: 1 × I002 (missing-required-import) - tests/test_util.py: 1 × I001 (unsorted-imports) 1 × I002 (missing-required-import) 1 × TC002 (typing-only-third-party-import) - tests/tests/test_helpers.py: 1 × I001 (unsorted-imports) 1 × TC002 (typing-only-third-party-import) 1 × I002 (missing-required-import) - tests/workspace/conftest.py: 1 × I002 (missing-required-import) - tests/workspace/test_builder.py: 2 × UP037 (quoted-annotation) 2 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) 1 × TC002 (typing-only-third-party-import) - tests/workspace/test_config.py: 7 × UP037 (quoted-annotation) 1 × UP007 (non-pep604-annotation) 1 × I002 (missing-required-import) - tests/workspace/test_finder.py: 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) - tests/workspace/test_freezer.py: 2 × I001 (unsorted-imports) 1 × I002 (missing-required-import) 1 × UP037 (quoted-annotation) 1 × TC003 (typing-only-standard-library-import) 1 × TC002 (typing-only-third-party-import) - tests/workspace/test_import_teamocil.py: 1 × I002 (missing-required-import) - tests/workspace/test_import_tmuxinator.py: 1 × I002 (missing-required-import) Found 1480 errors (393 fixed, 1087 remaining). 83 files reformatted, 16 files left unchanged uv run ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; uv run ruff format .
581689a
to
5b04bf4
Compare
"---------------------------------------------------------------" | ||
"\n" | ||
"Freeze does its best to snapshot live tmux sessions.\n", | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These were added back in subsequent commit
@@ -95,4 +98,3 @@ def command_convert( | |||
if answer_yes: | |||
with open(newfile, "w", encoding=locale.getpreferredencoding(False)) as buf: | |||
buf.write(new_workspace) | |||
print(f"New workspace file saved to <{newfile}>.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These were added back in subsequent commit
Changes
chore: Support PEP 563
from __future__ import annotations
Using PEP 563's deferred resolution of annotations avoids the computation cost of symbols we imported solely used for type-checking.
Ruff:
non-pep585-annotation (UP006)
non-pep604-annotation (UP007)
PEP 563: https://peps.python.org/pep-0563/