nixbot

builds

failed treefmt-check checks.aarch64-darwin.formatting · build #118 · raw

1treefmt v2.6.0ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/ecbx/tests/__init__.py packages/ecbx/tests/conftest.py packages/ecbx/tests/test_cli.py packages/ecbx/tests/test_exchange_rate_store.py packages/ecbx/tests/test_utils.py packages/harvest-invoicer/tests/__init__.py packages/harvest-invoicer/tests/e2e_demo.py packages/harvest-invoicer/tests/test_app.py packages/harvest-invoicer/tests/test_cli.py packages/harvest-invoicer/tests/test_config.py packages/harvest-invoicer/tests/test_db.py packages/harvest-invoicer/tests/test_fetch.py packages/harvest-invoicer/tests/test_i18n.py packages/harvest-invoicer/tests/test_mail.py packages/harvest-invoicer/tests/test_model.py packages/harvest-invoicer/tests/test_render.py packages/harvest-invoicer/tests/test_rest_retry.py]': exit status 123CPY001 Missing copyright notice at top of file4--> packages/ecbx/tests/__init__.py:1:156CPY001 Missing copyright notice at top of file7--> packages/ecbx/tests/conftest.py:1:189CPY001 Missing copyright notice at top of file10--> packages/ecbx/tests/test_cli.py:1:11112CPY001 Missing copyright notice at top of file13--> packages/ecbx/tests/test_exchange_rate_store.py:1:11415CPY001 Missing copyright notice at top of file16--> packages/ecbx/tests/test_utils.py:1:11718CPY001 Missing copyright notice at top of file19--> packages/harvest-invoicer/tests/__init__.py:1:12021CPY001 Missing copyright notice at top of file22--> packages/harvest-invoicer/tests/e2e_demo.py:1:12324CPY001 Missing copyright notice at top of file25--> packages/harvest-invoicer/tests/test_app.py:1:12627CPY001 Missing copyright notice at top of file28--> packages/harvest-invoicer/tests/test_cli.py:1:12930CPY001 Missing copyright notice at top of file31--> packages/harvest-invoicer/tests/test_config.py:1:13233CPY001 Missing copyright notice at top of file34--> packages/harvest-invoicer/tests/test_db.py:1:13536CPY001 Missing copyright notice at top of file37--> packages/harvest-invoicer/tests/test_fetch.py:1:13839CPY001 Missing copyright notice at top of file40--> packages/harvest-invoicer/tests/test_i18n.py:1:14142CPY001 Missing copyright notice at top of file43--> packages/harvest-invoicer/tests/test_mail.py:1:14445CPY001 Missing copyright notice at top of file46--> packages/harvest-invoicer/tests/test_model.py:1:14748CPY001 Missing copyright notice at top of file49--> packages/harvest-invoicer/tests/test_render.py:1:15051CPY001 Missing copyright notice at top of file52--> packages/harvest-invoicer/tests/test_rest_retry.py:1:15354Found 17 errors.5556ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/sevdesk-api/src/sevdesk_api/__init__.py packages/sevdesk-api/src/sevdesk_api/accounting_types.py packages/sevdesk-api/src/sevdesk_api/api.py packages/sevdesk-api/src/sevdesk_api/check_accounts.py packages/sevdesk-api/src/sevdesk_api/client.py packages/sevdesk-api/src/sevdesk_api/contacts.py packages/sevdesk-api/src/sevdesk_api/invoices.py packages/sevdesk-api/src/sevdesk_api/models/__init__.py packages/sevdesk-api/src/sevdesk_api/models/base.py packages/sevdesk-api/src/sevdesk_api/models/check_account.py packages/sevdesk-api/src/sevdesk_api/models/contact.py packages/sevdesk-api/src/sevdesk_api/models/invoice.py packages/sevdesk-api/src/sevdesk_api/object_resolver.py packages/sevdesk-api/src/sevdesk_api/transactions.py packages/sevdesk-api/src/sevdesk_api/vouchers.py]': exit status 15758CPY001 Missing copyright notice at top of file59--> packages/sevdesk-api/src/sevdesk_api/__init__.py:1:16061CPY001 Missing copyright notice at top of file62--> packages/sevdesk-api/src/sevdesk_api/accounting_types.py:1:16364CPY001 Missing copyright notice at top of file65--> packages/sevdesk-api/src/sevdesk_api/api.py:1:16667CPY001 Missing copyright notice at top of file68--> packages/sevdesk-api/src/sevdesk_api/check_accounts.py:1:16970CPY001 Missing copyright notice at top of file71--> packages/sevdesk-api/src/sevdesk_api/client.py:1:17273CPY001 Missing copyright notice at top of file74--> packages/sevdesk-api/src/sevdesk_api/contacts.py:1:17576CPY001 Missing copyright notice at top of file77--> packages/sevdesk-api/src/sevdesk_api/invoices.py:1:17879PLR0917 Too many positional arguments (6 > 5)80 --> packages/sevdesk-api/src/sevdesk_api/invoices.py:64:981 |8262 | raise ValueError(msg)8363 |8464 | def get_invoices(85 | ^^^^^^^^^^^^8665 | self,8766 | limit: int = 100,88 |89help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle9091PLR0917 Too many positional arguments (6 > 5)92 --> packages/sevdesk-api/src/sevdesk_api/invoices.py:165:993 |94163 | raise ValueError(msg)95164 |96165 | def send_invoice_by_email(97 | ^^^^^^^^^^^^^^^^^^^^^98166 | self,99167 | invoice_id: int,100 |101help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle102103CPY001 Missing copyright notice at top of file104--> packages/sevdesk-api/src/sevdesk_api/models/__init__.py:1:1105106CPY001 Missing copyright notice at top of file107--> packages/sevdesk-api/src/sevdesk_api/models/base.py:1:1108109CPY001 Missing copyright notice at top of file110--> packages/sevdesk-api/src/sevdesk_api/models/check_account.py:1:1111112CPY001 Missing copyright notice at top of file113--> packages/sevdesk-api/src/sevdesk_api/models/contact.py:1:1114115CPY001 Missing copyright notice at top of file116--> packages/sevdesk-api/src/sevdesk_api/models/invoice.py:1:1117118CPY001 Missing copyright notice at top of file119--> packages/sevdesk-api/src/sevdesk_api/object_resolver.py:1:1120121CPY001 Missing copyright notice at top of file122--> packages/sevdesk-api/src/sevdesk_api/transactions.py:1:1123124PLR0917 Too many positional arguments (7 > 5)125 --> packages/sevdesk-api/src/sevdesk_api/transactions.py:25:9126 |12723 | self.client = client12824 |12925 | def get_transactions(130 | ^^^^^^^^^^^^^^^^13126 | self,13227 | check_account_id: int | None = None,133 |134help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle135136PLR0917 Too many positional arguments (9 > 5)137 --> packages/sevdesk-api/src/sevdesk_api/transactions.py:81:9138 |13979 | return self.client.get(f"CheckAccountTransaction/{transaction_id}")14080 |14181 | def create_transaction(142 | ^^^^^^^^^^^^^^^^^^14382 | self,14483 | check_account_id: int,145 |146help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle147148PLR0917 Too many positional arguments (8 > 5)149 --> packages/sevdesk-api/src/sevdesk_api/transactions.py:132:9150 |151130 | return self.client.post("CheckAccountTransaction", json_data=data)152131 |153132 | def update_transaction(154 | ^^^^^^^^^^^^^^^^^^155133 | self,156134 | transaction_id: int,157 |158help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle159160CPY001 Missing copyright notice at top of file161--> packages/sevdesk-api/src/sevdesk_api/vouchers.py:1:1162163PLR0917 Too many positional arguments (8 > 5)164 --> packages/sevdesk-api/src/sevdesk_api/vouchers.py:185:9165 |166183 | self.accounting_types = accounting_types167184 |168185 | def get_vouchers(169 | ^^^^^^^^^^^^170186 | self,171187 | status: VoucherStatus | None = None,172 |173help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle174175PLR0917 Too many positional arguments (14 > 5)176 --> packages/sevdesk-api/src/sevdesk_api/vouchers.py:355:9177 |178353 | conn.close()179354 |180355 | def _build_voucher_data(181 | ^^^^^^^^^^^^^^^^^^^182356 | self,183357 | credit_debit: CreditDebit,184 |185help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle186187Found 22 errors.188189ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/rest/src/rest/__init__.py]': exit status 1190191CPY001 Missing copyright notice at top of file192--> packages/rest/src/rest/__init__.py:1:1193194Found 1 error.195196ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/sevdesk-invoicer/src/sevdesk_invoicer/__init__.py packages/sevdesk-invoicer/src/sevdesk_tax_estimator/__init__.py packages/sevdesk-invoicer/src/sevdesk_wise_importer/__init__.py]': exit status 1197198CPY001 Missing copyright notice at top of file199--> packages/sevdesk-invoicer/src/sevdesk_invoicer/__init__.py:1:1200201CPY001 Missing copyright notice at top of file202--> packages/sevdesk-invoicer/src/sevdesk_tax_estimator/__init__.py:1:1203204CPY001 Missing copyright notice at top of file205--> packages/sevdesk-invoicer/src/sevdesk_wise_importer/__init__.py:1:1206207PLR0917 Too many positional arguments (7 > 5)208 --> packages/sevdesk-invoicer/src/sevdesk_wise_importer/__init__.py:144:5209 |210144 | def import_record(211 | ^^^^^^^^^^^^^212145 | api: SevDeskAPI,213146 | accounts: Accounts,214 |215216Found 4 errors.217218ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/sevdesk-cli/src/sevdesk_cli/__init__.py packages/sevdesk-cli/src/sevdesk_cli/__main__.py packages/sevdesk-cli/src/sevdesk_cli/cli/__init__.py packages/sevdesk-cli/src/sevdesk_cli/cli/accounting_types.py packages/sevdesk-cli/src/sevdesk_cli/cli/check_accounts.py packages/sevdesk-cli/src/sevdesk_cli/cli/tax_rules.py packages/sevdesk-cli/src/sevdesk_cli/cli/transactions.py packages/sevdesk-cli/src/sevdesk_cli/cli/vouchers.py packages/sevdesk-cli/src/sevdesk_cli/errors.py packages/sevdesk-cli/src/sevdesk_cli/main.py]': exit status 1219220CPY001 Missing copyright notice at top of file221--> packages/sevdesk-cli/src/sevdesk_cli/__init__.py:1:1222223CPY001 Missing copyright notice at top of file224--> packages/sevdesk-cli/src/sevdesk_cli/__main__.py:1:1225226CPY001 Missing copyright notice at top of file227--> packages/sevdesk-cli/src/sevdesk_cli/cli/__init__.py:1:1228229CPY001 Missing copyright notice at top of file230--> packages/sevdesk-cli/src/sevdesk_cli/cli/accounting_types.py:1:1231232CPY001 Missing copyright notice at top of file233--> packages/sevdesk-cli/src/sevdesk_cli/cli/check_accounts.py:1:1234235CPY001 Missing copyright notice at top of file236--> packages/sevdesk-cli/src/sevdesk_cli/cli/tax_rules.py:1:1237238CPY001 Missing copyright notice at top of file239--> packages/sevdesk-cli/src/sevdesk_cli/cli/transactions.py:1:1240241CPY001 Missing copyright notice at top of file242--> packages/sevdesk-cli/src/sevdesk_cli/cli/vouchers.py:1:1243244CPY001 Missing copyright notice at top of file245--> packages/sevdesk-cli/src/sevdesk_cli/errors.py:1:1246247CPY001 Missing copyright notice at top of file248--> packages/sevdesk-cli/src/sevdesk_cli/main.py:1:1249250Found 10 errors.251252ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/kimai/src/kimai/__init__.py packages/kimai/src/kimai/api.py packages/kimai/src/kimai/data.py packages/kimai/src/kimai/jsonserializer.py packages/kimai/src/kimai_exporter/__init__.py packages/kimai/src/kimai_exporter/cli.py]': exit status 1253254CPY001 Missing copyright notice at top of file255--> packages/kimai/src/kimai/__init__.py:1:1256257CPY001 Missing copyright notice at top of file258--> packages/kimai/src/kimai/api.py:1:1259260PLR0917 Too many positional arguments (6 > 5)261 --> packages/kimai/src/kimai/api.py:84:9262 |26382 | return ActivityInfo.from_json(activity_data[0])26483 |26584 | def get_time_entries(266 | ^^^^^^^^^^^^^^^^26785 | self,26886 | from_date: datetime,269 |270help: Consider adding `@typing.override` if changing the function signature would violate the Liskov Substitution Principle271272CPY001 Missing copyright notice at top of file273--> packages/kimai/src/kimai/data.py:1:1274275CPY001 Missing copyright notice at top of file276--> packages/kimai/src/kimai/jsonserializer.py:1:1277278CPY001 Missing copyright notice at top of file279--> packages/kimai/src/kimai_exporter/__init__.py:1:1280281CPY001 Missing copyright notice at top of file282--> packages/kimai/src/kimai_exporter/cli.py:1:1283284Found 7 errors.285286ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/paperless-cli/src/paperless_cli/__init__.py packages/paperless-cli/src/paperless_cli/api.py packages/paperless-cli/src/paperless_cli/cli/__init__.py packages/paperless-cli/src/paperless_cli/cli/documents.py packages/paperless-cli/src/paperless_cli/cli/formatter.py packages/paperless-cli/src/paperless_cli/cli/mail_accounts.py packages/paperless-cli/src/paperless_cli/cli/mail_rules.py packages/paperless-cli/src/paperless_cli/cli/main.py packages/paperless-cli/src/paperless_cli/cli/tags.py packages/paperless-cli/src/paperless_cli/errors.py packages/paperless-cli/src/paperless_cli/models/__init__.py packages/paperless-cli/src/paperless_cli/models/base.py packages/paperless-cli/src/paperless_cli/models/correspondent.py packages/paperless-cli/src/paperless_cli/models/document.py packages/paperless-cli/src/paperless_cli/models/mail.py packages/paperless-cli/src/paperless_cli/models/tag.py packages/paperless-cli/src/paperless_cli/models/task.py]': exit status 1287288CPY001 Missing copyright notice at top of file289--> packages/paperless-cli/src/paperless_cli/__init__.py:1:1290291CPY001 Missing copyright notice at top of file292--> packages/paperless-cli/src/paperless_cli/api.py:1:1293294CPY001 Missing copyright notice at top of file295--> packages/paperless-cli/src/paperless_cli/cli/__init__.py:1:1296297CPY001 Missing copyright notice at top of file298--> packages/paperless-cli/src/paperless_cli/cli/documents.py:1:1299300CPY001 Missing copyright notice at top of file301--> packages/paperless-cli/src/paperless_cli/cli/formatter.py:1:1302303CPY001 Missing copyright notice at top of file304--> packages/paperless-cli/src/paperless_cli/cli/mail_accounts.py:1:1305306CPY001 Missing copyright notice at top of file307--> packages/paperless-cli/src/paperless_cli/cli/mail_rules.py:1:1308309CPY001 Missing copyright notice at top of file310--> packages/paperless-cli/src/paperless_cli/cli/main.py:1:1311312CPY001 Missing copyright notice at top of file313--> packages/paperless-cli/src/paperless_cli/cli/tags.py:1:1314315CPY001 Missing copyright notice at top of file316--> packages/paperless-cli/src/paperless_cli/errors.py:1:1317318CPY001 Missing copyright notice at top of file319--> packages/paperless-cli/src/paperless_cli/models/__init__.py:1:1320321CPY001 Missing copyright notice at top of file322--> packages/paperless-cli/src/paperless_cli/models/base.py:1:1323324CPY001 Missing copyright notice at top of file325--> packages/paperless-cli/src/paperless_cli/models/correspondent.py:1:1326327CPY001 Missing copyright notice at top of file328--> packages/paperless-cli/src/paperless_cli/models/document.py:1:1329330CPY001 Missing copyright notice at top of file331--> packages/paperless-cli/src/paperless_cli/models/mail.py:1:1332333CPY001 Missing copyright notice at top of file334--> packages/paperless-cli/src/paperless_cli/models/tag.py:1:1335336CPY001 Missing copyright notice at top of file337--> packages/paperless-cli/src/paperless_cli/models/task.py:1:1338339Found 17 errors.340341ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/quipu-invoicer/src/quipu_api/__init__.py packages/quipu-invoicer/src/quipu_api/cli.py packages/quipu-invoicer/src/quipu_invoicer/__init__.py]': exit status 1342343CPY001 Missing copyright notice at top of file344--> packages/quipu-invoicer/src/quipu_api/__init__.py:1:1345346CPY001 Missing copyright notice at top of file347--> packages/quipu-invoicer/src/quipu_api/cli.py:1:1348349CPY001 Missing copyright notice at top of file350--> packages/quipu-invoicer/src/quipu_invoicer/__init__.py:1:1351352PLR0917 Too many positional arguments (10 > 5)353 --> packages/quipu-invoicer/src/quipu_invoicer/__init__.py:47:5354 |35545 | )35646 | @click.argument("json_file", type=click.Path(exists=True))35747 | def main(358 | ^^^^35948 | quipu_app_id: str,36049 | quipu_app_secret: str,361 |362363PLR0917 Too many positional arguments (10 > 5)364 --> packages/quipu-invoicer/src/quipu_invoicer/__init__.py:75:5365 |36675 | def create_invoice(367 | ^^^^^^^^^^^^^^36876 | app_id: str,36977 | app_secret: str,370 |371372Found 5 errors.373374ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/harvest/src/harvest/__init__.py packages/harvest/src/harvest_exporter/__init__.py packages/harvest/src/harvest_exporter/cli.py packages/harvest/src/harvest_exporter/export.py packages/harvest/src/harvest_rounder/__init__.py packages/harvest/src/harvest_rounder/cli.py]': exit status 1375376CPY001 Missing copyright notice at top of file377--> packages/harvest/src/harvest/__init__.py:1:1378379CPY001 Missing copyright notice at top of file380--> packages/harvest/src/harvest_exporter/__init__.py:1:1381382CPY001 Missing copyright notice at top of file383--> packages/harvest/src/harvest_exporter/cli.py:1:1384385CPY001 Missing copyright notice at top of file386--> packages/harvest/src/harvest_exporter/export.py:1:1387388CPY001 Missing copyright notice at top of file389--> packages/harvest/src/harvest_rounder/__init__.py:1:1390391CPY001 Missing copyright notice at top of file392--> packages/harvest/src/harvest_rounder/cli.py:1:1393394Found 6 errors.395396ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/working-days-calculator/src/working_days_calculator/__init__.py]': exit status 1397398CPY001 Missing copyright notice at top of file399--> packages/working-days-calculator/src/working_days_calculator/__init__.py:1:1400401Found 1 error.402403ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/ecbx/src/ecbx/__init__.py packages/ecbx/src/ecbx/__main__.py packages/ecbx/src/ecbx/cli.py packages/ecbx/src/ecbx/constants.py packages/ecbx/src/ecbx/store.py packages/ecbx/src/ecbx/utils.py]': exit status 1404405CPY001 Missing copyright notice at top of file406--> packages/ecbx/src/ecbx/__init__.py:1:1407408CPY001 Missing copyright notice at top of file409--> packages/ecbx/src/ecbx/__main__.py:1:1410411CPY001 Missing copyright notice at top of file412--> packages/ecbx/src/ecbx/cli.py:1:1413414PLR0917 Too many positional arguments (6 > 5)415 --> packages/ecbx/src/ecbx/cli.py:134:5416 |417132 | )418133 | @click.pass_context419134 | def convert(420 | ^^^^^^^421135 | ctx: click.Context,422136 | date: str | None,423 |424425CPY001 Missing copyright notice at top of file426--> packages/ecbx/src/ecbx/constants.py:1:1427428CPY001 Missing copyright notice at top of file429--> packages/ecbx/src/ecbx/store.py:1:1430431CPY001 Missing copyright notice at top of file432--> packages/ecbx/src/ecbx/utils.py:1:1433434Found 7 errors.435436ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/transferwise/src/transferwise/__init__.py]': exit status 1437438CPY001 Missing copyright notice at top of file439--> packages/transferwise/src/transferwise/__init__.py:1:1440441Found 1 error.442443ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/wise-exporter/src/wise_exporter/__init__.py]': exit status 1444445CPY001 Missing copyright notice at top of file446--> packages/wise-exporter/src/wise_exporter/__init__.py:1:1447448Found 1 error.449450ERRO formatter | ruff-check: failed to apply with options '[check --fix packages/harvest-invoicer/src/harvest_invoicer/__init__.py packages/harvest-invoicer/src/harvest_invoicer/app.py packages/harvest-invoicer/src/harvest_invoicer/cli.py packages/harvest-invoicer/src/harvest_invoicer/config.py packages/harvest-invoicer/src/harvest_invoicer/db.py packages/harvest-invoicer/src/harvest_invoicer/fetch.py packages/harvest-invoicer/src/harvest_invoicer/i18n.py packages/harvest-invoicer/src/harvest_invoicer/mail.py packages/harvest-invoicer/src/harvest_invoicer/model.py packages/harvest-invoicer/src/harvest_invoicer/render.py]': exit status 1451452CPY001 Missing copyright notice at top of file453--> packages/harvest-invoicer/src/harvest_invoicer/__init__.py:1:1454455CPY001 Missing copyright notice at top of file456--> packages/harvest-invoicer/src/harvest_invoicer/app.py:1:1457458PLR0917 Too many positional arguments (7 > 5)459 --> packages/harvest-invoicer/src/harvest_invoicer/app.py:78:5460 |46178 | def _make_invoice(462 | ^^^^^^^^^^^^^46379 | lines: list[InvoiceLine],46480 | number: str,465 |466467PLR0917 Too many positional arguments (16 > 5)468 --> packages/harvest-invoicer/src/harvest_invoicer/app.py:103:5469 |470103 | def create_app(471 | ^^^^^^^^^^472104 | lines: list[InvoiceLine],473105 | issuer: dict[str, object],474 |475476CPY001 Missing copyright notice at top of file477--> packages/harvest-invoicer/src/harvest_invoicer/cli.py:1:1478479PLR0917 Too many positional arguments (7 > 5)480 --> packages/harvest-invoicer/src/harvest_invoicer/cli.py:182:5481 |482182 | def _build_invoice(483 | ^^^^^^^^^^^^^^484183 | lines: list[InvoiceLine],485184 | number: str,486 |487488PLR0917 Too many positional arguments (11 > 5)489 --> packages/harvest-invoicer/src/harvest_invoicer/cli.py:312:5490 |491310 | help="Use synthetic data (no Harvest credentials required).",492311 | )493312 | def serve(494 | ^^^^^495313 | client_filter: str | None,496314 | db_path: Path | None,497 |498499PLR0917 Too many positional arguments (14 > 5)500 --> packages/harvest-invoicer/src/harvest_invoicer/cli.py:525:5501 |502523 | @_MERGE_DUPLICATES_OPTION503524 | @_BILL_TO_OPTION504525 | def generate(505 | ^^^^^^^^506526 | months: tuple[str, ...],507527 | client_filter: str | None,508 |509510CPY001 Missing copyright notice at top of file511--> packages/harvest-invoicer/src/harvest_invoicer/config.py:1:1512513CPY001 Missing copyright notice at top of file514--> packages/harvest-invoicer/src/harvest_invoicer/db.py:1:1515516CPY001 Missing copyright notice at top of file517--> packages/harvest-invoicer/src/harvest_invoicer/fetch.py:1:1518519CPY001 Missing copyright notice at top of file520--> packages/harvest-invoicer/src/harvest_invoicer/i18n.py:1:1521522CPY001 Missing copyright notice at top of file523--> packages/harvest-invoicer/src/harvest_invoicer/mail.py:1:1524525CPY001 Missing copyright notice at top of file526--> packages/harvest-invoicer/src/harvest_invoicer/model.py:1:1527528CPY001 Missing copyright notice at top of file529--> packages/harvest-invoicer/src/harvest_invoicer/render.py:1:1530531Found 16 errors (1 fixed, 15 remaining).532533traversed 200 files534emitted 115 files for processing535formatted 18 files (1 changed) in 3.526s536Error: failed to finalise formatting: formatting failures detected