1 Commits

Author SHA1 Message Date
da7e 843fe5f80c uv config for build wheel package
add clean and fclean method to Makefile
2026-04-01 14:31:11 +02:00
8 changed files with 35 additions and 24 deletions
+1
View File
@@ -216,3 +216,4 @@ __marimo__/
.streamlit/secrets.toml
test.txt
mazegen-1.0.0-py3-none-any.whl
+10 -1
View File
@@ -1,3 +1,7 @@
build:
uv build --clear --wheel
cp dist/*.whl mazegen-1.0.0-py3-none-any.whl
install:
uv sync
uv pip install mlx-2.2-py3-none-any.whl
@@ -12,7 +16,10 @@ debug:
uv pdb python3 a_maze_ing.py config.txt
clean:
rm -rf __pycache__ .mypy_cache .venv
rm -rf */**__pycache__ __pycache__ .mypy_cache .venv dist build */**/*.egg-info *.egg-info
fclean: clean
rm mazegen-1.0.0-py3-none-any.whl
lint:
uv run flake8 . --exclude=.venv
@@ -34,3 +41,5 @@ run_test:
uv run pytest
mlx:
uv run python3 test.py
.PHONY: build install run debug clean fclean lint lint-strict run_test
View File
+5 -4
View File
@@ -1,6 +1,6 @@
from typing import Any
from src.AMazeIng import AMazeIng
from src.parsing import Parsing
from src.parsing.Parsing import DataMaze as Parsing
from mlx import Mlx
import numpy as np
import time
@@ -308,8 +308,9 @@ class MazeMLX:
if keycode == 52:
self.close_loop(None)
def handle_key_press_mteriier(self, keycode: int,
amazing: AMazeIng) -> None:
def handle_key_press_mteriier(
self, keycode: int, amazing: AMazeIng
) -> None:
if keycode == 38:
self.restart_maze(amazing)
self.print_path = False
@@ -339,7 +340,7 @@ def main() -> None:
mlx = None
try:
mlx = MazeMLX(1000, 1000)
config = Parsing.DataMaze.get_data_maze("config.txt")
config = Parsing.get_data_maze("config.txt")
amazing = AMazeIng(**config)
mlx.start(amazing)
with open("test.txt", "w") as output:
+8
View File
@@ -23,3 +23,11 @@ python_version = "3.10"
[tool.pytest.ini_options]
pythonpath = ["src"]
[build-system]
requires = ["setuptools>=78.1.0", "wheel>=0.45.1"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
package-dir = {"" = "src/amaz_lib"}
+10 -12
View File
@@ -1,6 +1,5 @@
from src.amaz_lib.MazeGenerator import DepthFirstSearch, Kruskal
from src.amaz_lib.MazeSolver import AStar, DepthFirstSearchSolver
from typing import Any
class DataMaze:
@@ -14,14 +13,14 @@ class DataMaze:
return data
@staticmethod
def transform_data(data: str) -> dict[str, str]:
def transform_data(data: str) -> dict:
tmp = data.split("\n")
tmp2 = [value.split("=", 1) for value in tmp if "=" in value]
data_t = {value[0]: value[1] for value in tmp2}
return data_t
@staticmethod
def verif_key_data(data: dict[str, str]) -> None:
def verif_key_data(data: dict) -> None:
key_test = {
"WIDTH",
"HEIGHT",
@@ -42,11 +41,11 @@ class DataMaze:
)
@staticmethod
def convert_values(data: dict[str, str]) -> dict[str, Any]:
def convert_values(data: dict):
key_int = {"WIDTH", "HEIGHT"}
key_tuple = {"ENTRY", "EXIT"}
key_bool = {"PERFECT"}
res: dict[str, Any] = {}
res: dict = {}
for key in key_int:
res.update({key: int(data[key])})
for key in key_tuple:
@@ -61,14 +60,13 @@ class DataMaze:
return res
@staticmethod
def get_solver_generator(data: dict[str, str], entry: tuple[int, int],
exit: tuple[int, int],
perfect: bool) -> dict[str, Any]:
available_generator: dict[str, Any] = {
def get_solver_generator(data: dict, entry: tuple, exit: tuple,
perfect: bool) -> dict:
available_generator = {
"Kruskal": Kruskal,
"DFS": DepthFirstSearch,
}
available_solver: dict[str, Any] = {
available_solver = {
"AStar": AStar,
"DFS": DepthFirstSearchSolver
}
@@ -79,7 +77,7 @@ class DataMaze:
return res
@staticmethod
def convert_tuple(data: str) -> tuple[int, int]:
def convert_tuple(data: str) -> tuple:
data_t = data.split(",")
if len(data_t) != 2:
raise ValueError(
@@ -98,7 +96,7 @@ class DataMaze:
return False
@staticmethod
def get_data_maze(name_file: str) -> dict[str, Any]:
def get_data_maze(name_file: str) -> dict:
try:
data_str = DataMaze.get_file_data(name_file)
data_dict = DataMaze.transform_data(data_str)
-6
View File
@@ -1,6 +0,0 @@
__version__ = "1.0.0"
__author__ = "mteriier, dgaillet"
from .Parsing import DataMaze
__all__ = ["DataMaze"]
Generated
+1 -1
View File
@@ -9,7 +9,7 @@ resolution-markers = [
[[package]]
name = "a-maze-ing"
version = "0.1.0"
source = { virtual = "." }
source = { editable = "." }
dependencies = [
{ name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
{ name = "numpy", version = "2.4.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },