Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Running phase: unpackPhase unpacking source archive /nix/store/10v3997yq0p2ylcdkvfdghi5v6q4g1wv-vikunja-cli source root is vikunja-cli setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "vikunja-cli/vikunja_cli/templates.py" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built vikunja_cli-0.1.0-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for vikunja_cli-0.1.0-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed vikunja_cli-0.1.0-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0 checking for references to /build/ in /nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0... patching script interpreter paths in /nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0 stripping (with command strip and flags -S -p) in /nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0/lib /nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0/bin shrinking RPATHs of ELF executables and libraries in /nix/store/y9h5i8df80i344gs9rddic4q7flqzp76-vikunja-cli-0.1.0-dist checking for references to /build/ in /nix/store/y9h5i8df80i344gs9rddic4q7flqzp76-vikunja-cli-0.1.0-dist... patching script interpreter paths in /nix/store/y9h5i8df80i344gs9rddic4q7flqzp76-vikunja-cli-0.1.0-dist Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6 wrapping `/nix/store/4cdhi7dbiw0skfan3narr93j33cav97d-vikunja-cli-0.1.0/bin/vikunja-cli'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Running phase: pytestCheckPhase Executing pytestCheckPhase 21 files already formatted RUF012 Mutable default value for class attribute --> tests/test_client.py:18:26 | 16 | class Handler(BaseHTTPRequestHandler): 17 | response_status = 200 18 | response_body: Any = {"ok": True} | ^^^^^^^^^^^^ 19 | response_content_type = "application/json" 20 | seen: dict[str, Any] = {} | help: Consider initializing in `__init__` or annotating with `typing.ClassVar` RUF012 Mutable default value for class attribute --> tests/test_client.py:20:28 | 18 | response_body: Any = {"ok": True} 19 | response_content_type = "application/json" 20 | seen: dict[str, Any] = {} | ^^ 21 | 22 | def do_GET(self) -> None: # noqa: N802 | help: Consider initializing in `__init__` or annotating with `typing.ClassVar` RUF100 [*] Unused `noqa` directive (non-enabled: `N802`) --> tests/test_client.py:22:32 | 20 | seen: dict[str, Any] = {} 21 | 22 | def do_GET(self) -> None: # noqa: N802 | ^^^^^^^^^^^^ 23 | self._handle() | help: Remove unused `noqa` directive | 21 | - def do_GET(self) -> None: # noqa: N802 22 + def do_GET(self) -> None: 23 | self._handle() | RUF100 [*] Unused `noqa` directive (non-enabled: `N802`) --> tests/test_client.py:25:33 | 23 | self._handle() 24 | 25 | def do_POST(self) -> None: # noqa: N802 | ^^^^^^^^^^^^ 26 | self._handle() | help: Remove unused `noqa` directive | 24 | - def do_POST(self) -> None: # noqa: N802 25 + def do_POST(self) -> None: 26 | self._handle() | RUF100 [*] Unused `noqa` directive (non-enabled: `N802`) --> tests/test_client.py:28:32 | 26 | self._handle() 27 | 28 | def do_PUT(self) -> None: # noqa: N802 | ^^^^^^^^^^^^ 29 | self._handle() | help: Remove unused `noqa` directive | 27 | - def do_PUT(self) -> None: # noqa: N802 28 + def do_PUT(self) -> None: 29 | self._handle() | RUF100 [*] Unused `noqa` directive (non-enabled: `A002`) --> tests/test_client.py:56:65 | 54 | self.wfile.write(encoded) 55 | 56 | def log_message(self, format: str, *args: object) -> None: # noqa: A002 | ^^^^^^^^^^^^ 57 | return | help: Remove unused `noqa` directive | 55 | - def log_message(self, format: str, *args: object) -> None: # noqa: A002 56 + def log_message(self, format: str, *args: object) -> None: 57 | return | I001 [*] Import block is un-sorted or un-formatted --> tests/test_main.py:1:1 | 1 | / from __future__ import annotations 2 | | 3 | | import pytest 4 | | 5 | | from pathlib import Path 6 | | from unittest.mock import patch 7 | | import json 8 | | 9 | | from vikunja_cli.main import _HANDLERS, _build_parser, main | |___________________________________________________________^ help: Organize imports | 2 | - import pytest - 3 + import json 4 | from pathlib import Path 5 | from unittest.mock import patch - import json 6 | 7 + import pytest 8 + 9 | from vikunja_cli.main import _HANDLERS, _build_parser, main | I001 [*] Import block is un-sorted or un-formatted --> vikunja_cli/client.py:3:1 | 1 | """Minimal Vikunja REST API client.""" 2 | 3 | / from __future__ import annotations 4 | | 5 | | import json 6 | | import mimetypes 7 | | import uuid 8 | | import urllib.error 9 | | import urllib.parse 10 | | import urllib.request 11 | | from collections.abc import Sequence 12 | | from pathlib import Path 13 | | from typing import Any 14 | | 15 | | from vikunja_cli.errors import APIError, ConnectionError_ | |_________________________________________________________^ 16 | 17 | Json = dict[str, Any] | list[Any] | str | int | float | bool | None | help: Organize imports | 6 | import mimetypes - import uuid 7 | import urllib.error 8 | import urllib.parse 9 | import urllib.request 10 + import uuid 11 | from collections.abc import Sequence | I001 [*] Import block is un-sorted or un-formatted --> vikunja_cli/main.py:3:1 | 1 | """vikunja-cli entry point.""" 2 | 3 | / from __future__ import annotations 4 | | 5 | | import argparse 6 | | import sys 7 | | from collections.abc import Callable 8 | | from typing import Any 9 | | 10 | | from vikunja_cli.client import Client 11 | | from vikunja_cli.commands import ( 12 | | RELATION_KINDS, 13 | | cmd_attachment_delete, 14 | | cmd_attachment_download, 15 | | cmd_attachment_list, 16 | | cmd_attachment_upload, 17 | | cmd_bucket_create, 18 | | cmd_bucket_delete, 19 | | cmd_bucket_list, 20 | | cmd_bucket_move_task, 21 | | cmd_bucket_update, 22 | | cmd_comment_add, 23 | | cmd_comment_delete, 24 | | cmd_comment_list, 25 | | cmd_comment_update, 26 | | cmd_label_add_to_task, 27 | | cmd_label_create, 28 | | cmd_label_delete, 29 | | cmd_label_list, 30 | | cmd_label_remove_from_task, 31 | | cmd_label_replace_on_task, 32 | | cmd_label_show, 33 | | cmd_label_update, 34 | | cmd_notification_list, 35 | | cmd_notification_read, 36 | | cmd_notification_read_all, 37 | | cmd_project_create, 38 | | cmd_project_delete, 39 | | cmd_relation_add, 40 | | cmd_relation_list, 41 | | cmd_relation_remove, 42 | | cmd_project_list, 43 | | cmd_project_show, 44 | | cmd_project_update, 45 | | cmd_setup_labels, 46 | | cmd_task_complete, 47 | | cmd_task_create, 48 | | cmd_task_delete, 49 | | cmd_task_duplicate, 50 | | cmd_task_list, 51 | | cmd_task_move, 52 | | cmd_task_reopen, 53 | | cmd_task_show, 54 | | cmd_task_transition, 55 | | cmd_task_update, 56 | | cmd_template_list, 57 | | cmd_template_render, 58 | | cmd_template_required, 59 | | cmd_template_schema, 60 | | cmd_template_show, 61 | | cmd_template_validate, 62 | | cmd_view_create, 63 | | cmd_view_delete, 64 | | cmd_view_list, 65 | | cmd_view_show, 66 | | cmd_view_update, 67 | | ) 68 | | from vikunja_cli.config import resolve_credentials, run_api_key_command, write_config 69 | | from vikunja_cli.errors import CLIError | |_______________________________________^ 70 | 71 | Handler = Callable[[Any, argparse.Namespace], None] | help: Organize imports | 38 | cmd_project_delete, 39 + cmd_project_list, 40 + cmd_project_show, 41 + cmd_project_update, 42 | cmd_relation_add, 43 | cmd_relation_list, 44 | cmd_relation_remove, - cmd_project_list, - cmd_project_show, - cmd_project_update, 45 | cmd_setup_labels, | Found 9 errors. [*] 7 fixable with the `--fix` option.