Skip to content

Releases: martinballa/PyTAG

PyTAG v0.2

Choose a tag to compare

@martinballa martinballa released this 19 Jul 22:02

What's new in v0.2

Breaking changes

  • Java 21 minimum — the new TAG.jar requires Java 21+ (up from Java 11).
  • Gymnasium 1.0 — updated to the stable Gymnasium API (VectorWrapper, keyword-only reset(seed, options), FrameStackObservation).

New features

  • Single fat JAR — replaced ModernBoardGame.jar + ~200 dependency JARs with a single TAG.jar. Run python jar_setup.py to download it.
  • Self-play support — new SelfPlayPyTAG environment, TAGSelfPlayGYm wrapper, RecordSelfPlayEpStats, and ppo-selfplay.py baseline.
  • PowerGrid added as a supported game (3–6 players). ExplodingKittens removed.
  • Generalised agent creation via PlayerFactory.createPlayer() — any TAG agent string (e.g. "random", "osla", "mcts") is now supported.
  • JAVA_HOME-aware JVM detectionJAVA_HOME is respected when starting the JVM, fixing UnsupportedClassVersionError on Colab.
  • Action masking fix — invalid actions now masked to torch.finfo(dtype).min instead of -1e8.

Installation

git clone https://github.com/martinballa/PyTAG
cd PyTAG
pip install -e .
python jar_setup.py   # downloads TAG.jar (~352 MB)

Citing

If you use PyTAG, please cite the IEEE Transactions on Games 2024 paper.

PyTAG 0.1

PyTAG 0.1 Pre-release
Pre-release

Choose a tag to compare

@martinballa martinballa released this 21 Jun 13:14
eca6cc0

Not fully approved release - for testing purposes