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