From 6189d7f321295ccaeddef43e5c48f532739f9d06 Mon Sep 17 00:00:00 2001 From: David GAILLETON Date: Fri, 3 Apr 2026 16:48:51 +0200 Subject: [PATCH] lint fix --- Makefile | 4 ++-- mazegen-1.0.0-py3-none-any.whl | Bin 17964 -> 0 bytes src/mazegen/MazeGenerator.py | 6 ++++-- src/parsing/Parsing.py | 1 - 4 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 mazegen-1.0.0-py3-none-any.whl diff --git a/Makefile b/Makefile index 83eaeb4..5f68431 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ clean: fclean: clean rm mazegen-1.0.0-py3-none-any.whl -lint: +lint: install uv run flake8 . --exclude=.venv uv run env PYTHONPATH=src python3 -m mypy --warn-return-any --warn-unused-ignores --ignore-missing-imports --disallow-untyped-defs --check-untyped-defs -p mazegen uv run env PYTHONPATH=src python3 -m mypy --warn-return-any --warn-unused-ignores --ignore-missing-imports --disallow-untyped-defs --check-untyped-defs -p parsing @@ -29,7 +29,7 @@ lint: uv run env PYTHONPATH=src python3 -m mypy --warn-return-any --warn-unused-ignores --ignore-missing-imports --disallow-untyped-defs --check-untyped-defs tests uv run env PYTHONPATH=src python3 -m mypy --warn-return-any --warn-unused-ignores --ignore-missing-imports --disallow-untyped-defs --check-untyped-defs a_maze_ing.py -lint-strict: +lint-strict: install uv run flake8 . --exclude=.venv uv run env PYTHONPATH=src python3 -m mypy --strict -p mazegen uv run env PYTHONPATH=src python3 -m mypy --strict src/AMazeIng.py diff --git a/mazegen-1.0.0-py3-none-any.whl b/mazegen-1.0.0-py3-none-any.whl deleted file mode 100644 index 2bb716dbf24901deff804142e9022960bd917a60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17964 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 vm!b%xj2&