balatrobot 1.0.0__py3-none-any.whl → 1.2.1__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.
balatrobot/__init__.py CHANGED
@@ -3,5 +3,5 @@
3
3
  from balatrobot.config import Config
4
4
  from balatrobot.manager import BalatroInstance
5
5
 
6
- __version__ = "1.0.0"
6
+ __version__ = "1.2.1"
7
7
  __all__ = ["BalatroInstance", "Config", "__version__"]
@@ -42,7 +42,9 @@ def get_launcher(platform: str | None = None) -> "BaseLauncher":
42
42
  case "linux":
43
43
  raise NotImplementedError("Linux launcher not yet implemented")
44
44
  case "windows":
45
- raise NotImplementedError("Windows launcher not yet implemented")
45
+ from balatrobot.platforms.windows import WindowsLauncher
46
+
47
+ return WindowsLauncher()
46
48
  case "native":
47
49
  from balatrobot.platforms.native import NativeLauncher
48
50
 
@@ -0,0 +1,41 @@
1
+ """Windows platform launcher."""
2
+
3
+ import os
4
+ from pathlib import Path
5
+
6
+ from balatrobot.config import Config
7
+ from balatrobot.platforms.base import BaseLauncher
8
+
9
+
10
+ class WindowsLauncher(BaseLauncher):
11
+ """Windows-specific Balatro launcher via Steam."""
12
+
13
+ def validate_paths(self, config: Config) -> None:
14
+ """Validate paths, apply Windows defaults if None."""
15
+ if config.love_path is None:
16
+ config.love_path = (
17
+ r"C:\Program Files (x86)\Steam\steamapps\common\Balatro\Balatro.exe"
18
+ )
19
+ if config.lovely_path is None:
20
+ config.lovely_path = (
21
+ r"C:\Program Files (x86)\Steam\steamapps\common\Balatro\version.dll"
22
+ )
23
+
24
+ love = Path(config.love_path)
25
+ lovely = Path(config.lovely_path)
26
+
27
+ if not love.exists():
28
+ raise RuntimeError(f"Balatro executable not found: {love}")
29
+ if not lovely.exists():
30
+ raise RuntimeError(f"version.dll not found: {lovely}")
31
+
32
+ def build_env(self, config: Config) -> dict[str, str]:
33
+ """Build environment."""
34
+ env = os.environ.copy()
35
+ env.update(config.to_env())
36
+ return env
37
+
38
+ def build_cmd(self, config: Config) -> list[str]:
39
+ """Build Windows launch command."""
40
+ assert config.love_path is not None
41
+ return [config.love_path]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: balatrobot
3
- Version: 1.0.0
3
+ Version: 1.2.1
4
4
  Summary: API for developing Balatro bots
5
5
  Project-URL: Homepage, https://github.com/coder/balatrobot
6
6
  Project-URL: Issues, https://github.com/coder/balatrobot/issues
@@ -61,32 +61,6 @@ The original repository provided the initial API and botting framework that this
61
61
 
62
62
  ## 🚀 Related Projects
63
63
 
64
- <div style="display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap;">
65
- <figure style="text-align: center; margin: 0;">
66
- <a href="https://coder.github.io/balatrobot/">
67
- <img src="docs/assets/balatrobot.svg" alt="BalatroBot" width="92">
68
- </a>
69
- <figcaption>
70
- <a href="https://coder.github.io/balatrobot/">BalatroBot</a><br>
71
- <small>API for developing Balatro bots</small>
72
- </figcaption>
73
- </figure>
74
- <figure style="text-align: center; margin: 0;">
75
- <a href="https://coder.github.io/balatrollm/">
76
- <img src="docs/assets/balatrollm.svg" alt="BalatroLLM" width="92">
77
- </a>
78
- <figcaption>
79
- <a href="https://coder.github.io/balatrollm/">BalatroLLM</a><br>
80
- <small>Play Balatro with LLMs</small>
81
- </figcaption>
82
- </figure>
83
- <figure style="text-align: center; margin: 0;">
84
- <a href="https://coder.github.io/balatrobench/">
85
- <img src="docs/assets/balatrobench.svg" alt="BalatroBench" width="92">
86
- </a>
87
- <figcaption>
88
- <a href="https://coder.github.io/balatrobench/">BalatroBench</a><br>
89
- <small>Benchmark LLMs playing Balatro</small>
90
- </figcaption>
91
- </figure>
92
- </div>
64
+ - [**BalatroBot**](https://github.com/coder/balatrobot): API for developing Balatro bots
65
+ - [**BalatroLLM**](https://github.com/coder/balatrollm): Play Balatro with LLMs (coming soon)
66
+ - [**BalatroBench**](https://github.com/coder/balatrobench): Benchmark LLMs playing Balatro (coming soon)
@@ -1,14 +1,15 @@
1
- balatrobot/__init__.py,sha256=RctuAtU5oDkld946Zx4LAlCNoE7LKfWgNof_P4gMHQ0,215
1
+ balatrobot/__init__.py,sha256=NFISNcg3Vo3_eiZq8pmeskP8WPWUf-sI8ZmBNtTkaBk,215
2
2
  balatrobot/__main__.py,sha256=HujoMPXZ1c2H9ECC6bXY5jmqy4pxlzFGD9U_hnAlSS4,134
3
3
  balatrobot/cli.py,sha256=R5xzSWQzX2ONK_B-s6s2d6fY_fUNsH06dX5BEolmUx0,2339
4
4
  balatrobot/config.py,sha256=7Ib4HYUEHpAqLn5ua4oRnmXWsFr1D-YILnR0gwxdCkI,2966
5
5
  balatrobot/manager.py,sha256=hiMAFN7V16Bt0gTs_6WuBUZtpwHqCi_WSZx1sdCk6_E,4433
6
- balatrobot/platforms/__init__.py,sha256=EiRON9FKkErzJF1E405D9COD5PrWkPCsG_FJbMOYpr4,1627
6
+ balatrobot/platforms/__init__.py,sha256=Z6sos_Lv2vIiDIUuOLTz2xhuzhErm8dKdznBMbJP-0c,1656
7
7
  balatrobot/platforms/base.py,sha256=1mW1gwiyY8oXM0mhCDB6qC7e6O-kun-PzaED6a6umRU,1842
8
8
  balatrobot/platforms/macos.py,sha256=bYwlpfWKAUpXsGdQFip-hq0D8m6xy6UjiE76FpKyyYY,1601
9
9
  balatrobot/platforms/native.py,sha256=f5znPufm49LHKJrpeNBQLR80Vr2KnVN9CuQwjnwJuCY,3896
10
- balatrobot-1.0.0.dist-info/METADATA,sha256=50SP88g62bOm52q647QoT8P7QGfw5e2ZlJwY-ai8JfM,3898
11
- balatrobot-1.0.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
12
- balatrobot-1.0.0.dist-info/entry_points.txt,sha256=TGBKXiQ57THrsIfLfz9vZgufbuwgJDLJsorJpxadmIM,51
13
- balatrobot-1.0.0.dist-info/licenses/LICENSE,sha256=71EXhU7CSe-Cihhj_VVxLtgVnSOaavHqVoixPKtE7Bk,1064
14
- balatrobot-1.0.0.dist-info/RECORD,,
10
+ balatrobot/platforms/windows.py,sha256=LbzpqK_HbnpHX70dOTtUGn_0wuY81uaQNZyu6EIinks,1351
11
+ balatrobot-1.2.1.dist-info/METADATA,sha256=Pmr4kjtxP5QL2KaZRRz_tm6KmFelE5cor80d_6J5mvc,3036
12
+ balatrobot-1.2.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
13
+ balatrobot-1.2.1.dist-info/entry_points.txt,sha256=TGBKXiQ57THrsIfLfz9vZgufbuwgJDLJsorJpxadmIM,51
14
+ balatrobot-1.2.1.dist-info/licenses/LICENSE,sha256=71EXhU7CSe-Cihhj_VVxLtgVnSOaavHqVoixPKtE7Bk,1064
15
+ balatrobot-1.2.1.dist-info/RECORD,,