treefmt v2.5.0ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 CPY001 Missing copyright notice at top of file --> .gitea/workflows/pr-size-review.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/wireguard/ipv6_allocator.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/zerotier/pkgs/zerotier-tools/tests/conftest.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/zerotier/pkgs/zerotier-tools/tests/test_generate.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/zerotier/pkgs/zerotier-tools/zerotier_tools/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/zerotier/pkgs/zerotier-tools/zerotier_tools/generate.py:1:1 CPY001 Missing copyright notice at top of file --> clanServices/zerotier/pkgs/zerotier-tools/zerotier_tools/members.py:1:1 CPY001 Missing copyright notice at top of file --> lib/test/container-test-driver/test-script-prepend.py:1:1 CPY001 Missing copyright notice at top of file --> lib/test/container-test-driver/test_driver/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> lib/test/container-test-driver/test_driver/inject_network.py:1:1 CPY001 Missing copyright notice at top of file --> lib/test/container-test-driver/test_driver/logger.py:1:1 CPY001 Missing copyright notice at top of file --> nixosModules/clanCore/zerotier/genmoon.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-release-diff/clan_release_diff/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-release-diff/clan_release_diff/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-release-diff/clan_release_diff/options_diff.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-release-diff/tests/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-release-diff/tests/test_options_diff.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/docs-from-code/generate/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/merge-after-ci/merge-after-ci.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/network_status.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/conftest.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_format.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_hostname.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_ip_addresses.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_print_status.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_tor.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/network-status/tests/test_vpn.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/scripts/select-shell.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/testing/nixos_test_lib/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/testing/nixos_test_lib/nix_setup.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/testing/nixos_test_lib/port.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/testing/nixos_test_lib/ssh.py:1:1 CPY001 Missing copyright notice at top of file --> scripts/fmt-nix-codeblocks.py:1:1 Found 34 errors (1 fixed, 33 remaining). ERRO formatter | ruff-check: failed to apply with options '[check --fix]': exit status 1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/api.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/__main__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/arg_actions.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/create_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/restore.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/backups/restore_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/clan/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/clan/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/clan/show.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/clan/show_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/completions.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/completions_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/conftest.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/flash/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/flash/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/flash/flash_cmd.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/flash/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/flash/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/generate_test_vars/__init_.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/generate_test_vars/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/generate_test_vars/test_generate_test_vars.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/help.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/help_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/hyperlink.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/init.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/init_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/build.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/build_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/delete.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/generations.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/hardware.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/hardware_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/install.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/install_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/machines_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/types.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/update.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_cli/machines/update.py:58:5 | 58 | def run_update_with_network( | ^^^^^^^^^^^^^^^^^^^^^^^ 59 | machine: Machine, 60 | build_host: Remote | LocalHost | None, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/machines/update_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/network/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/network/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/network/overview.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/network/ping.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/profiler.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/filters.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/folders.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/groups.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_cli/secrets/groups.py:113:5 | 113 | def add_member( | ^^^^^^^^^^ 114 | clan_dir: Path, 115 | group_name: str, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/import_sops.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/key.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/machines.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_cli/secrets/machines.py:23:5 | 23 | def add_machine( | ^^^^^^^^^^^ 24 | clan_dir: Path, 25 | name: str, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/secrets.py:1:1 PLR0917 Too many positional arguments (9 > 5) --> pkgs/clan-cli/clan_cli/secrets/secrets.py:152:5 | 152 | def encrypt_secret( | ^^^^^^^^^^^^^^ 153 | clan_dir: Path, 154 | secret_path: Path, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/sops.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/types.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/secrets/users.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/select.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/ssh/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/ssh/deploy_info.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/ssh/test_deploy_info.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/apply.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/apply_disk.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/apply_machine.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/apply_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/info.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/info_disk.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/templates/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/age_keys.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/command.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_cli/tests/command.py:18:9 | 16 | self.processes: list[subprocess.Popen[str]] = [] 17 | 18 | def run( | ^^^ 19 | self, 20 | command: list[str], | help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/fixture_error.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py:307:5 | 307 | def create_flake( | ^^^^^^^^^^^^ 308 | temporary_home: Path, 309 | flake_template: str | Path, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/git_repo.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/gpg_keys.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/helpers/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/helpers/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/helpers/flake_cache.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/helpers/validator.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/hosts.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/ports.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/root.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/runtime.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/sshd.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/stdout.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/temporary_dir.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_api_dataclass_compat.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_backups.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_clan_nix_attrset.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_create_flake.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_git.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_hardware_config.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_import_sops_cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_install_secret_path.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_inventory_serde.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_machines_cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_secrets_cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_ssh_local.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_upload_single_file.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_age.py:1:1 PLR0917 Too many positional arguments (8 > 5) --> pkgs/clan-cli/clan_cli/tests/test_vars_age.py:96:5 | 96 | def make_var( | ^^^^^^^^ 97 | name: str, 98 | machines: list[str], | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_cache.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_errors.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_generate.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_generate_inventory_checks.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_prompts.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/tests/test_vars_shared.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/check.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/check_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/export_cmd.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/fix.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/fix_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/generate.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/generate_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/get.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/get_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/import_cmd.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/keygen.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/public_modules/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/public_modules/in_repo.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/secret_modules/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/secret_modules/age.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/secret_modules/password_store.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/secret_modules/sops.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/set.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/upload.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_cli/vars/upload_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/cli.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/directory.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/directory_settings_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/directory_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/mdns_discovery.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/serde.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/serde_deserialize_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/serde_serialize_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/tasks.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/type_to_jsonschema.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/api/type_to_jsonschema_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/async_run/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/backups/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/backups/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/backups/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/backups/restore.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/bwrap/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/bwrap/tests/test_bwrap.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/check.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/check_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/get.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/get_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/test_create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/clan/update.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/cmd/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/colors/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/conftest.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/custom_logger/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/dirs/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/dirs/dirs_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/docs.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/docs_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/errors/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/exports/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/exports/scope.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/fixtures/flake_hooks.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/fixtures/flake_url.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/fixtures/flakes/flakes.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/fixtures/nix_sandbox_mock.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flake/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flake/flake.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flake/flake_cache_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flake/flake_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flash/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flash/automount.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flash/flash.py:1:1 PLR0917 Too many positional arguments (9 > 5) --> pkgs/clan-cli/clan_lib/flash/flash.py:85:5 | 83 | # TODO: unify this with machine install 84 | @API.register 85 | def run_machine_flash( | ^^^^^^^^^^^^^^^^^ 86 | machine: Machine, 87 | disks: list[Disk], | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flash/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/flash/test_list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/git/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/import_utils/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/import_utils/import_utils_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/inventory_checks.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/jsonrpc/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/locked_open/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/log_manager/__init__.py:1:1 FURB192 Prefer `min` over `sorted()` to compute the minimum value in a sequence --> pkgs/clan-cli/clan_lib/log_manager/__init__.py:615:20 | 613 | # Return the newest log file if any found 614 | if log_files: 615 | return sorted(log_files)[0] # LogFile.__lt__ sorts newest first | ^^^^^^^^^^^^^^^^^^^^ 616 | 617 | return None | help: Replace with `min` CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/log_manager/api.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/log_manager/test_log_manager.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/log_manager/test_url_encoding.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/actions.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/actions_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/build.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/delete.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/generations.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/hardware.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/install.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/machine_name.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/machines.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/nixos_anywhere.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/suggestions.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/test_suggestions.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/machines/update.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_lib/machines/update.py:631:5 | 631 | def _update_nixos( | ^^^^^^^^^^^^^ 632 | machine: Machine, 633 | flake_store_path: str, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/check.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/direct.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/network/direct.py:23:39 | 21 | return True 22 | 23 | def ping(self, remote: Remote) -> None | float: | ^^^^^^^^^^^^ 24 | if self.is_running(): 25 | try: | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/network.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/network/network.py:134:41 | 133 | @abstractmethod 134 | def ping(self, remote: "Remote") -> None | float: | ^^^^^^^^^^^^ 135 | pass | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/network_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/p2p_ssh_iroh/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/qr_code.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/tor/__init__.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/network/tor/__init__.py:28:39 | 26 | return is_tor_running(self.proxy) 27 | 28 | def ping(self, remote: Remote) -> None | float: | ^^^^^^^^^^^^ 29 | if self.is_running(): 30 | try: | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/tor/lib.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/zerotier/__init__.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/network/zerotier/__init__.py:21:39 | 19 | return check_zerotier_running() 20 | 21 | def ping(self, remote: Remote) -> None | float: | ^^^^^^^^^^^^ 22 | if self.is_running(): 23 | try: | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/network/zerotier/lib.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/cache_cleanup.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/shell.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/tests/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/tests/test_cache.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix/tests/test_nix_invocations.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/nix_selectors.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/introspection.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/inventory_store.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/inventory_store_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/migrations/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/migrations/services.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/migrations/test_services.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/patch_engine.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/patch_engine_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/path_utils.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/path_utils_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/validate.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/write_rules.py:1:1 PLR0917 Too many positional arguments (8 > 5) --> pkgs/clan-cli/clan_lib/persist/write_rules.py:123:5 | 123 | def _determine_props_recursive( | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 124 | priorities: dict[str, Any], 125 | all_values: dict[str, Any], | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/persist/write_rules_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/sandbox_exec/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/sandbox_exec/tests/test_bubblewrap_exec.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/sandbox_exec/tests/test_sandbox_cmd.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/sandbox_exec/tests/test_sandbox_exec.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/services/modules.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/services/modules_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/create_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/host.py:1:1 PLR0917 Too many positional arguments (7 > 5) --> pkgs/clan-cli/clan_lib/ssh/host.py:39:9 | 38 | @abstractmethod 39 | def run( | ^^^ 40 | self, 41 | cmd: list[str], | help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/host_key.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/localhost.py:1:1 PLR0917 Too many positional arguments (7 > 5) --> pkgs/clan-cli/clan_lib/ssh/localhost.py:36:9 | 34 | return self._user 35 | 36 | def run( | ^^^ 37 | self, 38 | cmd: list[str], | help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/localhost_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/remote.py:1:1 ISC004 Unparenthesized implicit string concatenation in collection --> pkgs/clan-cli/clan_lib/ssh/remote.py:207:17 | 205 | "osascript", 206 | "-e", 207 | / 'tell application "System Events"\n' 208 | | " activate\n" 209 | | ' set r to text returned of (display dialog "%title%" ' 210 | | 'default answer "" with hidden answer ' 211 | | 'with title "clan" with icon caution)\n' 212 | | "end tell\n" 213 | | "return r", | |__________________________^ 214 | ] 215 | elif os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY"): | help: Did you forget a comma? help: Wrap implicitly concatenated strings in parentheses PLR0917 Too many positional arguments (7 > 5) --> pkgs/clan-cli/clan_lib/ssh/remote.py:256:9 | 254 | proxy.cleanup() 255 | 256 | def run( | ^^^ 257 | self, 258 | cmd: list[str], | help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/remote_test.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_lib/ssh/remote_test.py:93:5 | 91 | ids=[name for name, _ in parse_deployment_address_test_cases], 92 | ) 93 | def test_parse_deployment_address( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 94 | test_addr: str, 95 | expected_host: str, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/socks_wrapper.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/sudo_askpass_proxy.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/tests/test_nix_ssh_env.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/ssh/upload.py:1:1 PLR0917 Too many positional arguments (7 > 5) --> pkgs/clan-cli/clan_lib/ssh/upload.py:14:5 | 14 | def upload( | ^^^^^^ 15 | host: Host, 16 | local_src: Path, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tags/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tags/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tags/list_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/disk.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/filesystem.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/handler.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/template_url.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/templates/template_url_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/term_log/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tests/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tests/test_create.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tests/test_inventory_checks.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/tests/test_known_selectors.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/validator/hostname.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/_types.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/check.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/vars/check.py:52:21 | 50 | machine_name: str, 51 | flake: Flake, 52 | generator_name: None | str = None, | ^^^^^^^^^^ 53 | ) -> VarStatus: 54 | from .generator import get_machine_generators # noqa: PLC0415 | help: Move `None` to the end of the type union RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/vars/check.py:147:21 | 145 | machine_name: str, 146 | flake: Flake, 147 | generator_name: None | str = None, | ^^^^^^^^^^ 148 | ) -> bool: 149 | status = vars_status(machine_name, flake, generator_name=generator_name) | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/export_vars.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/fix.py:1:1 RUF036 `None` not at the end of the type union. --> pkgs/clan-cli/clan_lib/vars/fix.py:10:48 | 10 | def fix_vars(machine: Machine, generator_name: None | str = None) -> None: | ^^^^^^^^^^ 11 | generators = get_machine_generators([machine.name], machine.flake) 12 | if generator_name: | help: Move `None` to the end of the type union CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/generate.py:1:1 PLR0917 Too many positional arguments (6 > 5) --> pkgs/clan-cli/clan_lib/vars/generate.py:265:5 | 264 | @API.register 265 | def run_generators( | ^^^^^^^^^^^^^^ 266 | machines: list[Machine], 267 | generators: list[str] | None = None, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/generator.py:1:1 PLR0917 Too many positional arguments (7 > 5) --> pkgs/clan-cli/clan_lib/vars/generator.py:182:5 | 182 | def find_generator_differences( | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 183 | gen_name: str, 184 | ref_machine: str, | CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/generator_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/get.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/graph.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/graph_test.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/import_vars.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/keygen.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/list.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/migrations/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/migrations/migrate_var.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/migrations/test_migrate_var.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/migrations/test_migrate_zerotier.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/migrations/zerotier.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/prompt.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/public_modules/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/public_modules/in_repo.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/secret_modules/__init__.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/secret_modules/age.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/secret_modules/password_store.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/secret_modules/sops.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/set.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/upload.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/vars/var.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/clan_lib/version.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/conftest.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/docs.py:1:1 CPY001 Missing copyright notice at top of file --> pkgs/clan-cli/openapi.py:1:1 Found 341 errors. No fixes available (9 hidden fixes can be enabled with the `--unsafe-fixes` option). traversed 1092 files emitted 929 files for processing formatted 581 files (1 changed) in 11.075s Error: failed to finalise formatting: formatting failures detected