numberlink 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- numberlink/__init__.py +37 -0
- numberlink/__main__.py +19 -0
- numberlink/assets/levels/5x5_ha_4c_016.sol.json +1 -0
- numberlink/assets/levels/5x5_ha_4c_016.txt +5 -0
- numberlink/assets/levels/5x5_ha_4c_026.sol.json +1 -0
- numberlink/assets/levels/5x5_ha_4c_026.txt +5 -0
- numberlink/assets/levels/5x5_ra_4c_011.sol.json +1 -0
- numberlink/assets/levels/5x5_ra_4c_011.txt +5 -0
- numberlink/assets/levels/5x5_ra_4c_021.sol.json +1 -0
- numberlink/assets/levels/5x5_ra_4c_021.txt +5 -0
- numberlink/assets/levels/6x6_ha_5c_012.sol.json +1 -0
- numberlink/assets/levels/6x6_ha_5c_012.txt +6 -0
- numberlink/assets/levels/6x6_ha_5c_022.sol.json +1 -0
- numberlink/assets/levels/6x6_ha_5c_022.txt +6 -0
- numberlink/assets/levels/6x6_ra_5c_017.sol.json +1 -0
- numberlink/assets/levels/6x6_ra_5c_017.txt +6 -0
- numberlink/assets/levels/6x6_ra_5c_027.sol.json +1 -0
- numberlink/assets/levels/6x6_ra_5c_027.txt +6 -0
- numberlink/assets/levels/7x7_ha_6c_018.sol.json +1 -0
- numberlink/assets/levels/7x7_ha_6c_018.txt +7 -0
- numberlink/assets/levels/7x7_ha_6c_028.sol.json +1 -0
- numberlink/assets/levels/7x7_ha_6c_028.txt +7 -0
- numberlink/assets/levels/7x7_ra_6c_013.sol.json +1 -0
- numberlink/assets/levels/7x7_ra_6c_013.txt +7 -0
- numberlink/assets/levels/7x7_ra_6c_023.sol.json +1 -0
- numberlink/assets/levels/7x7_ra_6c_023.txt +7 -0
- numberlink/assets/levels/8x8_ha_6c_014.sol.json +1 -0
- numberlink/assets/levels/8x8_ha_6c_014.txt +8 -0
- numberlink/assets/levels/8x8_ha_6c_024.sol.json +1 -0
- numberlink/assets/levels/8x8_ha_6c_024.txt +8 -0
- numberlink/assets/levels/8x8_ra_6c_019.sol.json +1 -0
- numberlink/assets/levels/8x8_ra_6c_019.txt +8 -0
- numberlink/assets/levels/8x8_ra_6c_029.sol.json +1 -0
- numberlink/assets/levels/8x8_ra_6c_029.txt +8 -0
- numberlink/assets/levels/9x9_ha_7c_020.sol.json +1 -0
- numberlink/assets/levels/9x9_ha_7c_020.txt +9 -0
- numberlink/assets/levels/9x9_ha_7c_030.sol.json +1 -0
- numberlink/assets/levels/9x9_ha_7c_030.txt +9 -0
- numberlink/assets/levels/9x9_ra_7c_015.sol.json +1 -0
- numberlink/assets/levels/9x9_ra_7c_015.txt +9 -0
- numberlink/assets/levels/9x9_ra_7c_025.sol.json +1 -0
- numberlink/assets/levels/9x9_ra_7c_025.txt +9 -0
- numberlink/assets/numberlink-logo.png +0 -0
- numberlink/cli.py +489 -0
- numberlink/config.py +237 -0
- numberlink/env.py +1441 -0
- numberlink/generator.py +1308 -0
- numberlink/level_setup.py +524 -0
- numberlink/levels.py +302 -0
- numberlink/main.py +24 -0
- numberlink/number_render.py +381 -0
- numberlink/py.typed +0 -0
- numberlink/registration.py +62 -0
- numberlink/render_utils.py +76 -0
- numberlink/types.py +137 -0
- numberlink/vector_env.py +1406 -0
- numberlink/viewer.py +1425 -0
- numberlink-0.1.0.dist-info/METADATA +203 -0
- numberlink-0.1.0.dist-info/RECORD +62 -0
- numberlink-0.1.0.dist-info/WHEEL +4 -0
- numberlink-0.1.0.dist-info/entry_points.txt +7 -0
- numberlink-0.1.0.dist-info/licenses/LICENSE +21 -0
numberlink/__init__.py
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"""NumberLink Environment Package for Reinforcement Learning, built on Gymnasium.
|
|
2
|
+
|
|
3
|
+
The package exposes configuration dataclasses, environment classes, and the ``LEVELS`` mapping of built-in levels.
|
|
4
|
+
Import these symbols for your use or to register the environment using :func:`register_numberlink_v0`.
|
|
5
|
+
|
|
6
|
+
By default the package does not automatically register Gymnasium ids on import. Library consumers should prefer
|
|
7
|
+
explicit registration via ``numberlink.register_numberlink_v0()``. When installed from PyPI the package also
|
|
8
|
+
exposes packaging entry-points (``project.entry-points."gymnasium.envs"``) so Gymnasium can auto-discover and
|
|
9
|
+
load the environment without an explicit registration call. See the project ``pyproject.toml`` for the
|
|
10
|
+
``gymnasium.envs`` entry-point names.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
from .config import GeneratorConfig, RenderConfig, RewardConfig, VariantConfig
|
|
16
|
+
from .env import NumberLinkRGBEnv
|
|
17
|
+
from .levels import LEVELS
|
|
18
|
+
from .registration import register_numberlink_v0
|
|
19
|
+
from .vector_env import NumberLinkRGBVectorEnv
|
|
20
|
+
from .viewer import NumberLinkViewer
|
|
21
|
+
|
|
22
|
+
__version__ = "0.1.0"
|
|
23
|
+
__author__ = "Misagh Soltani"
|
|
24
|
+
|
|
25
|
+
__all__: list[str] = [
|
|
26
|
+
"__version__",
|
|
27
|
+
"__author__",
|
|
28
|
+
"NumberLinkRGBEnv",
|
|
29
|
+
"register_numberlink_v0",
|
|
30
|
+
"GeneratorConfig",
|
|
31
|
+
"VariantConfig",
|
|
32
|
+
"RewardConfig",
|
|
33
|
+
"RenderConfig",
|
|
34
|
+
"LEVELS",
|
|
35
|
+
"NumberLinkViewer",
|
|
36
|
+
"NumberLinkRGBVectorEnv",
|
|
37
|
+
]
|
numberlink/__main__.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Module entry for the package command-line interface.
|
|
2
|
+
|
|
3
|
+
Running ``python -m numberlink`` invokes the CLI implemented in :mod:`numberlink.cli`.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
import sys
|
|
9
|
+
|
|
10
|
+
from .cli import main as cli_main
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def run() -> None:
|
|
14
|
+
"""Entrypoint used by the ``-m`` switch."""
|
|
15
|
+
raise SystemExit(cli_main(sys.argv[1:]))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
if __name__ == "__main__":
|
|
19
|
+
run()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[1,3],[1,2],[2,2]],[[0,0],[0,1],[0,2],[0,3],[0,4]],[[1,4],[2,4],[3,4],[4,4],[4,3],[4,2],[4,1],[4,0],[3,0],[2,0]],[[1,0],[1,1],[2,1],[3,1],[3,2],[3,3],[2,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[0,0],[0,1],[1,1]],[[0,2],[0,3],[0,4],[1,4],[2,4],[3,4],[4,4],[4,3],[4,2],[4,1]],[[1,2],[2,2],[2,1],[2,0],[1,0]],[[4,0],[3,0],[3,1],[3,2],[3,3],[2,3],[1,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[3,1],[2,1],[1,1],[0,1]],[[3,0],[4,0],[4,1],[4,2]],[[1,4],[2,4],[3,4],[4,4],[4,3]],[[0,4],[0,3],[1,3],[2,3],[2,2],[1,2]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[1,0],[2,0],[3,0],[4,0]],[[3,1],[3,2],[3,3],[4,3],[4,4]],[[2,4],[2,3],[2,2],[2,1]],[[0,0],[0,1],[0,2],[0,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[3,2],[2,2],[2,3]],[[5,5],[5,4],[5,3],[5,2],[5,1],[5,0],[4,0],[3,0],[2,0],[1,0],[0,0],[0,1]],[[1,2],[1,3],[1,4],[2,4],[3,4],[3,3]],[[4,1],[4,2],[4,3],[4,4],[4,5],[3,5],[2,5],[1,5],[0,5],[0,4],[0,3],[0,2]],[[1,1],[2,1],[3,1]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[4,1],[3,1],[3,0],[2,0],[1,0],[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[1,5],[2,5],[3,5],[4,5],[5,5],[5,4],[5,3],[4,3]],[[4,4],[3,4],[3,3],[3,2],[2,2]],[[2,1],[1,1],[1,2],[1,3]],[[4,2],[5,2],[5,1],[5,0],[4,0]],[[1,4],[2,4],[2,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[2,5],[1,5],[1,4],[1,3],[0,3]],[[0,2],[0,1],[1,1],[2,1]],[[4,3],[3,3],[3,2],[3,1]],[[3,0],[4,0],[4,1],[5,1]],[[5,3],[5,4],[4,4],[4,5],[3,5],[2,5],[2,4]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[0,0],[1,0],[2,0],[3,0],[3,1],[2,1],[2,2]],[[3,0],[4,0],[4,1],[4,2],[5,2],[5,1]],[[2,4],[1,4],[1,3],[1,2],[1,1]],[[0,5],[0,4],[0,3],[0,2]],[[5,3],[4,3],[3,3],[3,4]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[1,5],[0,5],[0,6]],[[2,3],[1,3],[1,2],[1,1],[2,1],[3,1],[4,1],[5,1],[5,2],[5,3],[5,4]],[[3,6],[4,6],[4,5],[5,5]],[[5,6],[6,6],[6,5],[6,4],[6,3],[6,2],[6,1],[6,0],[5,0],[4,0],[3,0],[2,0],[1,0],[0,0],[0,1],[0,2],[0,3],[0,4],[1,4],[2,4],[3,4],[3,3],[3,2],[2,2]],[[1,6],[2,6],[2,5],[3,5]],[[4,4],[4,3],[4,2]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[2,3],[3,3],[3,4]],[[6,2],[5,2],[5,3],[5,4],[5,5],[4,5]],[[2,4],[2,5],[3,5]],[[6,1],[5,1],[4,1],[3,1],[2,1],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[2,6],[3,6],[4,6],[5,6],[6,6],[6,5],[6,4],[6,3]],[[0,6],[0,5],[0,4],[0,3],[0,2],[0,1],[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0]],[[4,4],[4,3],[4,2],[3,2],[2,2]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[2,5],[3,5],[3,6],[4,6]],[[0,6],[0,5],[1,5],[1,6],[2,6],[2,5],[2,4]],[[1,2],[0,2],[0,3],[0,4]],[[6,0],[6,1],[6,2],[6,3],[5,3]],[[0,0],[0,1],[1,1],[1,2],[2,2],[3,2]],[[4,1],[3,1],[2,1],[2,0]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[5,4],[6,4],[6,5],[6,6]],[[3,6],[3,5],[4,5],[5,5]],[[4,3],[3,3],[3,4],[2,4]],[[6,1],[6,2],[6,3],[5,3]],[[4,2],[5,2],[5,1],[5,0]],[[5,6],[4,6],[3,6],[2,6]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[7,5],[6,5],[6,6],[5,6],[4,6],[3,6],[2,6],[1,6],[1,5],[1,4],[1,3],[1,2]],[[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[6,2],[6,3],[6,4],[5,4],[5,5],[4,5],[3,5]],[[7,4],[7,3],[7,2],[7,1],[7,0],[6,0],[5,0],[4,0],[3,0],[2,0],[1,0],[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[1,7],[2,7],[3,7],[4,7],[5,7],[6,7],[7,7],[7,6]],[[2,5],[2,4],[3,4],[4,4],[4,3]],[[5,3],[5,2],[4,2],[3,2]],[[2,2],[2,3],[3,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[0,6],[0,5],[0,4],[0,3],[0,2],[0,1],[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[6,2],[6,3],[6,4],[6,5],[6,6],[5,6],[4,6],[3,6],[2,6]],[[1,6],[1,5],[2,5],[3,5],[4,5],[5,5],[5,4],[5,3],[5,2],[4,2]],[[4,3],[4,4],[3,4]],[[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[7,1],[7,2],[7,3],[7,4],[7,5],[7,6],[7,7],[6,7],[5,7],[4,7],[3,7],[2,7],[1,7],[0,7]],[[1,4],[2,4],[2,3]],[[3,3],[3,2],[2,2],[1,2],[1,3]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[3,7],[3,6],[2,6],[1,6],[1,7],[0,7]],[[7,0],[6,0],[5,0],[5,1]],[[7,6],[6,6],[6,7],[5,7],[5,6],[5,5]],[[7,7],[7,6],[7,5],[6,5]],[[4,2],[3,2],[3,1],[3,0]],[[2,2],[2,3],[3,3],[4,3],[4,4],[3,4]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[5,1],[4,1],[3,1],[3,2],[4,2],[4,3],[3,3],[3,4]],[[7,7],[6,7],[5,7],[5,6]],[[0,0],[0,1],[1,1],[2,1]],[[0,6],[1,6],[2,6],[2,7]],[[4,5],[3,5],[3,6],[4,6],[4,7],[3,7]],[[7,3],[7,4],[6,4],[5,4]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[3,5],[3,4],[4,4]],[[0,1],[0,0],[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[8,1],[8,2],[8,3],[8,4],[8,5],[8,6],[7,6]],[[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8],[7,8],[8,8]],[[2,6],[2,5],[2,4],[2,3],[3,3],[4,3],[5,3],[5,4],[5,5],[4,5]],[[8,7],[7,7],[6,7],[5,7],[4,7],[3,7],[2,7],[1,7],[1,6],[1,5],[1,4],[1,3],[1,2],[1,1]],[[3,2],[4,2],[5,2],[6,2],[6,3],[6,4],[6,5],[6,6],[5,6],[4,6],[3,6]],[[7,5],[7,4],[7,3],[7,2],[7,1],[6,1],[5,1],[4,1],[3,1],[2,1],[2,2]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[5,3],[4,3],[4,2],[3,2]],[[7,7],[6,7],[5,7],[5,8],[4,8]],[[3,8],[2,8],[2,7],[2,6],[2,5],[2,4],[3,4],[4,4],[5,4],[6,4],[6,3],[6,2],[5,2]],[[4,7],[4,6],[5,6],[6,6],[7,6],[8,6],[8,5],[8,4],[8,3],[8,2],[8,1],[8,0],[7,0],[6,0],[5,0],[4,0],[3,0],[2,0],[1,0],[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7]],[[3,3],[2,3],[2,2]],[[0,8],[1,8],[1,7],[1,6],[1,5],[1,4],[1,3],[1,2],[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[7,2],[7,3],[7,4],[7,5],[6,5],[5,5],[4,5],[3,5],[3,6],[3,7]],[[6,8],[7,8],[8,8],[8,7]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[5,0],[4,0],[3,0],[3,1],[2,1],[1,1],[1,2]],[[6,1],[5,1],[4,1],[4,2],[3,2],[2,2]],[[7,3],[7,2],[6,2],[6,1],[6,0],[7,0],[8,0]],[[5,5],[5,4],[5,3],[5,2]],[[0,7],[0,8],[1,8],[2,8],[3,8],[3,7],[4,7],[4,8]],[[8,7],[7,7],[6,7],[6,6],[6,5]],[[6,2],[6,3],[6,4],[7,4],[7,5]]]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[[[4,4],[4,3],[4,2],[4,1]],[[8,2],[7,2],[7,1],[7,0]],[[1,4],[1,3],[1,2],[2,2],[2,1],[2,0]],[[6,2],[5,2],[5,1],[5,0]],[[1,6],[1,7],[0,7],[0,6],[0,5],[0,4],[0,3]],[[5,8],[6,8],[6,7],[6,6]],[[1,3],[2,3],[3,3],[3,4],[3,5],[4,5],[4,6],[4,7]]]
|
|
Binary file
|