kaggle-environments 1.20.0__tar.gz → 1.21.0__tar.gz
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.
Potentially problematic release.
This version of kaggle-environments might be problematic. Click here for more details.
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/.gitignore +5 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/PKG-INFO +9 -4
- kaggle_environments-1.21.0/deprecated_envs/README.md +4 -0
- kaggle_environments-1.21.0/docker/cloudbuild.yaml +29 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/cpu.Dockerfile +0 -20
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/gpu.Dockerfile +0 -1
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/__init__.py +2 -2
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cabt.js +8 -8
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cg/cg.dll +0 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/cabt/cg/libcg.so +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/universal_poker/universal_poker.js +52 -28
- kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel/open_spiel.py → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env/open_spiel_env.py +37 -1
- kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel/test_open_spiel.py → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env/test_open_spiel_env.py +65 -1
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/GAME_RULE.md +75 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/__init__.py +0 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/__init__.py +0 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/actions.py +268 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/base.py +115 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/consts.py +156 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/engine.py +580 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/night_elimination_manager.py +101 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/__init__.py +4 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/base.py +242 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/bid.py +248 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/chat.py +467 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/factory.py +59 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/protocols/vote.py +471 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/records.py +334 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/roles.py +326 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/states.py +214 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/game/test_actions.py +45 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/test_werewolf.py +161 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/test_werewolf_deterministic.py +211 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/werewolf.js +4377 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/werewolf.json +286 -0
- kaggle_environments-1.21.0/kaggle_environments/envs/werewolf/werewolf.py +602 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/static/player.html +19 -1
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/pyproject.toml +12 -5
- kaggle_environments-1.20.0/deprecated_envs/lux_ai_s2/luxai_s2/.DS_Store +0 -0
- kaggle_environments-1.20.0/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/.DS_Store +0 -0
- kaggle_environments-1.20.0/docker/cloudbuild.yaml +0 -9
- kaggle_environments-1.20.0/kaggle_environments/envs/cabt/cg/libcg.so +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/.gcloudignore +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/.prettierrc.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/CONTRIBUTING.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/LICENSE +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/MANIFEST.in +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/README.md +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs → kaggle_environments-1.21.0/deprecated_envs}/chess/chess.js +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs → kaggle_environments-1.21.0/deprecated_envs}/chess/chess.json +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs → kaggle_environments-1.21.0/deprecated_envs}/chess/chess.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs → kaggle_environments-1.21.0/deprecated_envs}/chess/test_chess.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/llm_20_questions/keywords.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/llm_20_questions/llm_20_questions.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/llm_20_questions/llm_20_questions.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/llm_20_questions/llm_20_questions.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/llm_20_questions/test_llm_20_questions.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/.gitignore +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/agents.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/index.html +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/lux_ai_s2.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/lux_ai_s2.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/actions.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/config.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/env.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/factory.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/globals.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map/bfs_deltas_gen.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map/board.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map/position.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/generator.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/symnoise.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/timing.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/visualize.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/map_generator/visualize_samples.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/pyvisual/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/pyvisual/visualizer.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/replay/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/replay/replay.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/act_space.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/spaces/obs_space.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/state/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/state/state.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/state/stats.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/state/typing.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/team.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/tools/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/tools/replay.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/unit.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/animate.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/bidding.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/factory.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/heuristics/factory_placement.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/utils/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/version.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/controllers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/luxai_s2/wrappers/sb3.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/agent.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/cargo.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/config.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/factory.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/kit.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/team.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/unit.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/lux/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_agents/python/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/deprecated_envs/lux_ai_s2/test_lux.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/bash.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/bashsc.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/build.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/build_cpu.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/build_gpu.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/nodesource_setup_14.x.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/open_spiel.Dockerfile +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/run.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/runsc.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/docker/test.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/agent.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/api.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/core.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cabt.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cabt.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cg/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cg/game.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cg/sim.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/test_cabt.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/connectx/connectx.ipynb +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/connectx/connectx.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/connectx/connectx.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/connectx/connectx.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/connectx/test_connectx.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/football/football.ipynb +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/football/football.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/football/football.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/football/helpers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/football/test_football.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/halite.ipynb +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/halite.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/halite.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/halite.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/helpers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/halite/test_halite.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/hungry_geese/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/hungry_geese/hungry_geese.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/hungry_geese/hungry_geese.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/hungry_geese/hungry_geese.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/hungry_geese/test_hungry_geese.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/identity/identity.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/identity/identity.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/helpers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/kore_fleets.ipynb +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/kore_fleets.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/kore_fleets.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/kore_fleets.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/Bot.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/jars/hamcrest-core-1.3.jar +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/jars/junit-4.13.2.jar +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Board.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Cell.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Configuration.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Direction.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Fleet.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/KoreJson.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Observation.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Pair.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Player.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Point.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/Shipyard.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/kore/ShipyardAction.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/BoardTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ConfigurationTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/KoreJsonTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ObservationTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/PointTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/ShipyardTest.java +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/configuration.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/fullob.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/observation.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/python/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/python/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/Bot.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/DoNothingBot.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/MinerBot.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/interpreter.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Board.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Cell.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Configuration.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Direction.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Fleet.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/KoreIO.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Observation.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Pair.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Player.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Point.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Shipyard.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/ShipyardAction.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/miner.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/package.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/BoardTest.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ConfigurationTest.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ObservationTest.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/PointTest.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ShipyardTest.ts +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/configuration.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/fullob.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/observation.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/starter_bots/ts/tsconfig.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/kore_fleets/test_kore_fleets.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/agents.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js.LICENSE.txt +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/dimensions/main.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/index.html +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_objects.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/io.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/kit.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/map.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/parser.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/simple.tar.gz +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/annotate.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/constants.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_map.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_objects.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/random_agent.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_agents/python/simple_agent.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/test_lux.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/testing.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_2021/todo.md.og +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/README.md +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/agents.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/index.html +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/env.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/globals.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/params.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/profiler.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/pygame_render.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/spaces.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/state.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/luxai_s3/wrappers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_agents/python/agent.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/kit.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_agents/python/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/lux_ai_s3/test_lux.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/mab/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/mab/agents.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/mab/mab.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/mab/mab.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/mab/mab.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/chess/chess.js +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/chess/image_config.jsonl +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/chess/openings.jsonl +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/connect_four/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/connect_four/connect_four.js +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/connect_four/connect_four_proxy.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/go/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/go/go.js +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/go/go_proxy.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/tic_tac_toe/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/tic_tac_toe/tic_tac_toe.js +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/tic_tac_toe/tic_tac_toe_proxy.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/universal_poker/__init__.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/games/universal_poker/universal_poker_proxy.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/html_playthrough_generator.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/observation.py +0 -0
- {kaggle_environments-1.20.0/kaggle_environments/envs/open_spiel → kaggle_environments-1.21.0/kaggle_environments/envs/open_spiel_env}/proxy.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/__init__.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/agents.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/helpers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/rps.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/rps.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/rps.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/test_rps.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/rps/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/tictactoe/test_tictactoe.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/tictactoe/tictactoe.ipynb +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/tictactoe/tictactoe.js +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/tictactoe/tictactoe.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/tictactoe/tictactoe.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/errors.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/helpers.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/main.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/schemas.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/status_codes.json +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/utils.py +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/package.sh +0 -0
- {kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/release.sh +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kaggle-environments
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.21.0
|
|
4
4
|
Summary: Kaggle Environments
|
|
5
5
|
Author-email: Kaggle <support@kaggle.com>
|
|
6
6
|
Requires-Python: >=3.10
|
|
7
7
|
License-File: LICENSE
|
|
8
8
|
Requires-Dist: accelerate
|
|
9
9
|
Requires-Dist: bitsandbytes
|
|
10
|
-
Requires-Dist: Chessnut >= 0.4.1
|
|
11
10
|
Requires-Dist: Flask >= 1.1.2
|
|
12
11
|
Requires-Dist: gymnasium == 1.2.0
|
|
13
12
|
Requires-Dist: gymnax==0.0.8
|
|
@@ -15,11 +14,17 @@ Requires-Dist: jax
|
|
|
15
14
|
Requires-Dist: jsonschema >= 3.0.1
|
|
16
15
|
Requires-Dist: litellm
|
|
17
16
|
Requires-Dist: numpy >= 2.2.6
|
|
18
|
-
Requires-Dist: open_spiel >= 1.6.
|
|
17
|
+
Requires-Dist: open_spiel >= 1.6.8
|
|
19
18
|
Requires-Dist: pettingzoo == 1.24.0
|
|
19
|
+
Requires-Dist: pokerkit==0.6.3
|
|
20
|
+
Requires-Dist: pydantic >= 2.11.4
|
|
21
|
+
Requires-Dist: pygame
|
|
22
|
+
Requires-Dist: pyjson5
|
|
23
|
+
Requires-Dist: termcolor
|
|
20
24
|
Requires-Dist: requests >= 2.25.1
|
|
21
|
-
Requires-Dist: scipy >= 1.15.3
|
|
22
25
|
Requires-Dist: shimmy >= 1.2.1
|
|
23
26
|
Requires-Dist: stable-baselines3 == 2.7.0
|
|
24
27
|
Requires-Dist: transformers >= 4.33.1
|
|
28
|
+
Requires-Dist: tenacity
|
|
29
|
+
Requires-Dist: google-auth >= 2.35.0
|
|
25
30
|
Project-URL: Homepage, https://github.com/Kaggle/kaggle-environments
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
steps:
|
|
2
|
+
- id: "build-cpu-image"
|
|
3
|
+
name: gcr.io/cloud-builders/docker
|
|
4
|
+
args:
|
|
5
|
+
[
|
|
6
|
+
"build",
|
|
7
|
+
"-f",
|
|
8
|
+
"./docker/cpu.Dockerfile",
|
|
9
|
+
"-t",
|
|
10
|
+
"gcr.io/kaggle-images/python-simulations",
|
|
11
|
+
".",
|
|
12
|
+
]
|
|
13
|
+
- id: "build-gpu-image"
|
|
14
|
+
name: gcr.io/cloud-builders/docker
|
|
15
|
+
args:
|
|
16
|
+
[
|
|
17
|
+
"build",
|
|
18
|
+
"-f",
|
|
19
|
+
"./docker/gpu.Dockerfile",
|
|
20
|
+
"-t",
|
|
21
|
+
"gcr.io/kaggle-gpu-images/python-simulations",
|
|
22
|
+
".",
|
|
23
|
+
]
|
|
24
|
+
images:
|
|
25
|
+
[
|
|
26
|
+
"gcr.io/kaggle-images/python-simulations",
|
|
27
|
+
"gcr.io/kaggle-gpu-images/python-simulations",
|
|
28
|
+
]
|
|
29
|
+
timeout: 24h
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# DANGER -- If you update this file, make sure to also update gpu.Dockerfile!
|
|
2
|
-
|
|
3
2
|
FROM gcr.io/kaggle-images/python:latest
|
|
4
3
|
|
|
5
4
|
# NODE
|
|
@@ -32,23 +31,4 @@ ADD ./kaggle_environments ./kaggle_environments
|
|
|
32
31
|
|
|
33
32
|
RUN uv pip install . && pytest
|
|
34
33
|
|
|
35
|
-
# SET UP KAGGLE-ENVIRONMENTS CHESS
|
|
36
|
-
# minimal package to reduce memory footprint
|
|
37
|
-
RUN mkdir ./kaggle_environments_chess
|
|
38
|
-
RUN cp -r ./kaggle_environments/* ./kaggle_environments_chess/
|
|
39
|
-
RUN rm -rf ./kaggle_environments
|
|
40
|
-
# remove other runtimes
|
|
41
|
-
RUN find ./kaggle_environments_chess/envs -mindepth 1 -maxdepth 1 ! -name "chess" -type d -exec rm -rf {} +
|
|
42
|
-
# pyclean
|
|
43
|
-
RUN rm -rf ./kaggle_environments_chess/__pycache__; rm -rf ./kaggle_environments_chess/envs/__pycache__; rm -rf ./kaggle_environments_chess/envs/chess/__pycache__; true
|
|
44
|
-
RUN find ./kaggle_environments_chess/ -name "*.pyc" -exec rm -f {} \;
|
|
45
|
-
|
|
46
|
-
# rename pip package
|
|
47
|
-
RUN sed -i 's/kaggle-environments/kaggle-environments-chess/g' ./pyproject.toml
|
|
48
|
-
RUN sed -i 's/kaggle_environments/kaggle_environments_chess/g' ./pyproject.toml
|
|
49
|
-
RUN sed -i 's/kaggle_environments/kaggle_environments_chess/g' ./MANIFEST.in
|
|
50
|
-
|
|
51
|
-
# install kaggle-environments-chess
|
|
52
|
-
RUN uv pip install . && pytest
|
|
53
|
-
|
|
54
34
|
CMD kaggle-environments
|
|
@@ -22,7 +22,7 @@ from .main import http_request
|
|
|
22
22
|
from . import errors
|
|
23
23
|
from . import utils
|
|
24
24
|
|
|
25
|
-
__version__ = "1.
|
|
25
|
+
__version__ = "1.21.0"
|
|
26
26
|
|
|
27
27
|
__all__ = [
|
|
28
28
|
"Agent",
|
|
@@ -48,7 +48,7 @@ PROJECT_ROOT = os.path.abspath(os.path.join('..', _script_dir))
|
|
|
48
48
|
for name in listdir(utils.envs_path):
|
|
49
49
|
try:
|
|
50
50
|
env = import_module(f".envs.{name}.{name}", __name__)
|
|
51
|
-
if name == "
|
|
51
|
+
if name == "open_spiel_env":
|
|
52
52
|
for env_name, env_dict in env.ENV_REGISTRY.items():
|
|
53
53
|
register(
|
|
54
54
|
env_name,
|
{kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cabt.js
RENAMED
|
@@ -24,10 +24,10 @@ function renderer(context) {
|
|
|
24
24
|
if (visList) {
|
|
25
25
|
for (let k = 0; k < 2; k++) {
|
|
26
26
|
const button = document.createElement("button")
|
|
27
|
-
button.style.width = "
|
|
27
|
+
button.style.width = "130px"
|
|
28
28
|
button.style.height = "50px"
|
|
29
|
-
button.style.left = k == 0 ? "
|
|
30
|
-
button.style.top = "
|
|
29
|
+
button.style.left = k == 0 ? "230px" : "380px"
|
|
30
|
+
button.style.top = "55px"
|
|
31
31
|
button.style.position = "absolute"
|
|
32
32
|
button.style.zIndex = 1
|
|
33
33
|
button.innerHTML = "Open Visualizer<br>" + players[k]
|
|
@@ -89,9 +89,9 @@ function renderer(context) {
|
|
|
89
89
|
ctx.font = "20px sans-serif"
|
|
90
90
|
if (state.result >= 0) {
|
|
91
91
|
if (state.result == 2) {
|
|
92
|
-
ctx.fillText("Draw", 330,
|
|
92
|
+
ctx.fillText("Draw", 330, 125)
|
|
93
93
|
} else {
|
|
94
|
-
ctx.fillText(players[state.result] + " Win",
|
|
94
|
+
ctx.fillText(players[state.result] + " Win", 290, 140)
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -147,9 +147,9 @@ function renderer(context) {
|
|
|
147
147
|
ctx.fillText("Active", i == 0 ? 245 : 425, 270)
|
|
148
148
|
ctx.fillText("Bench", i == 0 ? 145 : 525, 10)
|
|
149
149
|
ctx.fillText("Hand", i == 0 ? 15 : 655, 10)
|
|
150
|
-
ctx.fillText("Deck " + ps.deckCount, i == 0 ? 258 : 438,
|
|
151
|
-
ctx.fillText("Discard " + ps.discard.length, i == 0 ? 245 : 425,
|
|
152
|
-
ctx.fillText("Prize " + ps.prize.length, i == 0 ? 258 : 438,
|
|
150
|
+
ctx.fillText("Deck " + ps.deckCount, i == 0 ? 258 : 438, 165)
|
|
151
|
+
ctx.fillText("Discard " + ps.discard.length, i == 0 ? 245 : 425, 185)
|
|
152
|
+
ctx.fillText("Prize " + ps.prize.length, i == 0 ? 258 : 438, 220)
|
|
153
153
|
|
|
154
154
|
for (let j = 0; j < ps.active.length; j++) {
|
|
155
155
|
drawField(i == 0 ? 240 : 420, posY(j, ps.active.length), ps.active[j])
|
{kaggle_environments-1.20.0 → kaggle_environments-1.21.0}/kaggle_environments/envs/cabt/cg/cg.dll
RENAMED
|
Binary file
|
|
Binary file
|
|
@@ -41,13 +41,22 @@ function renderer(options) {
|
|
|
41
41
|
.player-cards-container { margin: 0.25rem 0; min-height: 70px; display: flex; justify-content: center; align-items:center;}
|
|
42
42
|
.player-status { font-size: 0.75rem; color: #9ca3af; min-height: 1.1em; margin-top: 0.25rem; }
|
|
43
43
|
.card {
|
|
44
|
-
display:
|
|
45
|
-
width: 48px; height:
|
|
44
|
+
display: flex; flex-direction: column; justify-content: space-between; align-items: center;
|
|
45
|
+
width: 48px; height: 72px; border: 1px solid #202124; border-radius: 8px; margin: 0 3px;
|
|
46
46
|
background-color: white; color: black; font-weight: bold; text-align: center; overflow: hidden; position: relative;
|
|
47
|
+
padding: 4px;
|
|
47
48
|
}
|
|
48
|
-
.card-rank { font-size:
|
|
49
|
-
.card-suit {
|
|
50
|
-
.card-
|
|
49
|
+
.card-rank { font-size: 2.1rem; line-height: 1; display: block; align-self: flex-start; }
|
|
50
|
+
.card-suit { width: 33px; height: 33px; display: block; margin-bottom: 2px; }
|
|
51
|
+
.card-suit svg { width: 100%; height: 100%; }
|
|
52
|
+
.card-red .card-rank { color: #B3261E; }
|
|
53
|
+
.card-red .card-suit svg { fill: #B3261E; }
|
|
54
|
+
.card-black .card-rank { color: #000000; }
|
|
55
|
+
.card-black .card-suit svg { fill: #000000; }
|
|
56
|
+
.card-blue .card-rank { color: #0B57D0; }
|
|
57
|
+
.card-blue .card-suit svg { fill: #0B57D0; }
|
|
58
|
+
.card-green .card-rank { color: #146C2E; }
|
|
59
|
+
.card-green .card-suit svg { fill: #146C2E; }
|
|
51
60
|
.card-back {
|
|
52
61
|
background-color: #2b6cb0;
|
|
53
62
|
background-image: linear-gradient(45deg, rgba(255,255,255,0.1) 25%, transparent 25%, transparent 75%, rgba(255,255,255,0.1) 75%, rgba(255,255,255,0.1)),
|
|
@@ -57,9 +66,9 @@ function renderer(options) {
|
|
|
57
66
|
.card-back .card-rank, .card-back .card-suit { display: none; }
|
|
58
67
|
.community-cards-area { text-align: center; z-index: 10; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
|
|
59
68
|
.community-cards-container { min-height: 75px; display: flex; justify-content: center; align-items:center; margin-bottom: 0.5rem; }
|
|
60
|
-
.community-cards-container .card { width: 52px; height:
|
|
61
|
-
.community-cards-container .card-rank { font-size:
|
|
62
|
-
.pot-display { font-size: 1.1rem; font-weight: bold; color: #
|
|
69
|
+
.community-cards-container .card { width: 52px; height: 76px; }
|
|
70
|
+
.community-cards-container .card-rank { font-size: 2.4rem; } .community-cards-container .card-suit { width: 39px; height: 39px; }
|
|
71
|
+
.pot-display { font-size: 1.1rem; font-weight: bold; color: #ffffff; }
|
|
63
72
|
.bet-display {
|
|
64
73
|
display: inline-block; min-width: 55px; padding: 4px 8px; border-radius: 12px;
|
|
65
74
|
background-color: #1a202c; color: #f1c40f; font-size: 0.8rem; line-height: 1.4;
|
|
@@ -82,17 +91,17 @@ function renderer(options) {
|
|
|
82
91
|
.pos-player0-sb { bottom: -50px; } .pos-player1-bb { top: -50px; }
|
|
83
92
|
.dealer-sb { left: calc(50% + 85px); bottom: -12px; }
|
|
84
93
|
.player-pod { min-width: 110px; max-width: 150px; padding: 0.5rem 0.7rem; min-height: 120px; }
|
|
85
|
-
.card { width: 44px; height:
|
|
86
|
-
.community-cards-container .card { width: 48px; height:
|
|
87
|
-
.community-cards-container .card-rank { font-size:
|
|
94
|
+
.card { width: 44px; height: 66px; } .card-rank { font-size: 1.95rem; } .card-suit { width: 30px; height: 30px; }
|
|
95
|
+
.community-cards-container .card { width: 48px; height: 70px; }
|
|
96
|
+
.community-cards-container .card-rank { font-size: 2.25rem;} .community-cards-container .card-suit { width: 36px; height: 36px; }
|
|
88
97
|
}
|
|
89
98
|
@media (max-width: 600px) {
|
|
90
99
|
.poker-table { width: clamp(300px, 90vw, 500px); height: clamp(160px, 50vw, 250px); border-radius: 125px; }
|
|
91
100
|
.player-pod { min-width: 100px; max-width: 140px; padding: 0.4rem 0.5rem; font-size: 0.85rem; min-height: 110px;}
|
|
92
101
|
.player-name { font-size: 0.85rem;} .player-stack { font-size: 0.75rem; }
|
|
93
|
-
.card { width: 40px; height:
|
|
94
|
-
.community-cards-container .card { width: 42px; height:
|
|
95
|
-
.community-cards-container .card-rank { font-size: 1.
|
|
102
|
+
.card { width: 40px; height: 60px; margin: 0 2px; } .card-rank { font-size: 1.8rem; } .card-suit { width: 27px; height: 27px; }
|
|
103
|
+
.community-cards-container .card { width: 42px; height: 62px; }
|
|
104
|
+
.community-cards-container .card-rank { font-size: 1.95rem;} .community-cards-container .card-suit { width: 30px; height: 30px; }
|
|
96
105
|
.bet-display { font-size: 0.75rem; } .pos-player0-sb { bottom: -45px; } .pos-player1-bb { top: -45px; }
|
|
97
106
|
.dealer-button { width: 32px; height: 32px; line-height: 32px; font-size: 0.9rem;}
|
|
98
107
|
.dealer-sb { bottom: -8px; left: calc(50% + 75px); }
|
|
@@ -101,9 +110,9 @@ function renderer(options) {
|
|
|
101
110
|
.poker-table { width: clamp(280px, 95vw, 380px); height: clamp(150px, 55vw, 200px); border-radius: 100px; border-width: 8px; }
|
|
102
111
|
.player-pod { min-width: 90px; max-width: 120px; padding: 0.3rem 0.4rem; min-height: 100px;}
|
|
103
112
|
.player-name { font-size: 0.8rem;} .player-stack { font-size: 0.7rem; }
|
|
104
|
-
.card { width: 36px; height:
|
|
105
|
-
.community-cards-container .card { width: 38px; height:
|
|
106
|
-
.community-cards-container .card-rank { font-size: 1.
|
|
113
|
+
.card { width: 36px; height: 54px; margin: 0 1px; } .card-rank { font-size: 1.65rem; } .card-suit { width: 24px; height: 24px; }
|
|
114
|
+
.community-cards-container .card { width: 38px; height: 56px; }
|
|
115
|
+
.community-cards-container .card-rank { font-size: 1.8rem;} .community-cards-container .card-suit { width: 27px; height: 27px; }
|
|
107
116
|
.dealer-button { width: 28px; height: 28px; line-height: 28px; font-size: 0.8rem;}
|
|
108
117
|
.pos-player0-sb { bottom: -40px; } .pos-player1-bb { top: -40px; }
|
|
109
118
|
.dealer-sb { bottom: -5px; left: calc(50% + 65px); }
|
|
@@ -117,15 +126,22 @@ function renderer(options) {
|
|
|
117
126
|
window.__poker_styles_injected = true;
|
|
118
127
|
}
|
|
119
128
|
|
|
129
|
+
const suitSVGs = {
|
|
130
|
+
spades: '<svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M31.9017 8.5459L31.9027 8.54688V8.54785L31.9642 8.62988C32.0049 8.68463 32.0647 8.76567 32.1419 8.86914C32.2968 9.07661 32.5214 9.37584 32.7982 9.74316C33.3519 10.4781 34.1164 11.4847 34.9583 12.5713C36.6487 14.7529 38.6314 17.23 39.8587 18.4951C40.5956 19.2546 42.6938 21.1061 45.0882 23.3057C47.4623 25.4866 50.1062 27.9917 51.8763 30.0146C53.659 32.052 54.5809 34.6512 54.9242 37.0439C55.2443 39.2762 55.07 41.3963 54.5648 42.7754L54.4593 43.041L54.4583 43.0439C54.2366 43.5604 53.4581 45.3752 51.889 47.0635C50.312 48.7602 47.9209 50.3437 44.5003 50.3438C41.1459 50.3437 38.4383 49.3111 36.5716 48.2812C35.668 47.7827 34.959 47.2827 34.4662 46.8984C34.6764 47.5682 35.0067 48.3733 35.5287 49.2432C35.8458 49.7716 36.3961 50.2525 37.0941 50.6953C37.7874 51.1352 38.5874 51.513 39.3636 51.8545C40.1218 52.1881 40.8886 52.4987 41.4437 52.7803C41.7223 52.9216 41.9834 53.0734 42.181 53.2383C42.3602 53.3878 42.5999 53.6413 42.5999 54C42.5999 54.3241 42.4172 54.5729 42.2318 54.7422C42.0426 54.9148 41.7911 55.0617 41.5101 55.1895C40.9443 55.4466 40.1512 55.6745 39.1976 55.8652C37.2827 56.2482 34.6237 56.5 31.5999 56.5C28.5752 56.5 25.9176 56.2484 23.9427 55.8662C22.957 55.6754 22.1264 55.4487 21.5003 55.1982C21.1878 55.0732 20.9125 54.9375 20.6908 54.7881C20.4761 54.6434 20.2705 54.4592 20.1527 54.2236L20.0999 54.1182V54C20.0999 53.6414 20.3397 53.3878 20.5189 53.2383C20.7165 53.0734 20.9776 52.9216 21.2562 52.7803C21.8113 52.4987 22.578 52.1881 23.3363 51.8545C24.1124 51.513 24.9125 51.1352 25.6058 50.6953C26.3038 50.2525 26.8541 49.7716 27.1712 49.2432C27.726 48.3186 28.0632 47.467 28.2708 46.7734C28.2466 46.7955 28.2233 46.8199 28.1976 46.8428C27.7563 47.2352 27.101 47.7542 26.2376 48.2725C24.5092 49.3098 21.9429 50.3437 18.5863 50.3438C15.1655 50.3437 12.7737 48.7603 11.1966 47.0635C9.6273 45.3749 8.84884 43.56 8.62728 43.0439L8.62631 43.041C8.04128 41.6783 7.81998 39.4248 8.16146 37.0439C8.50467 34.6513 9.42677 32.052 11.2093 30.0146C12.9793 27.9918 15.6234 25.4865 17.9977 23.3057C20.3921 21.1061 22.4903 19.2546 23.2272 18.4951C24.4545 17.23 26.4372 14.7529 28.1276 12.5713C28.9695 11.4847 29.734 10.4781 30.2877 9.74316C30.5645 9.37584 30.7891 9.07661 30.944 8.86914C31.0212 8.76567 31.081 8.68463 31.1217 8.62988L31.1832 8.54785V8.54688L31.1842 8.5459C31.4355 8.19531 31.8496 8 32.2859 8H32.7999C33.2363 8 33.6504 8.19531 33.9017 8.5459Z"/></svg>',
|
|
131
|
+
hearts: '<svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M31.6667 56.9333L27.8 53.4667C23.3111 49.4222 19.6 45.9333 16.6667 43C13.7333 40.0667 11.4 37.4333 9.66667 35.1C7.93333 32.7667 6.72222 30.6222 6.03333 28.6667C5.34444 26.7111 5 24.7111 5 22.6667C5 18.4889 6.4 15 9.2 12.2C12 9.4 15.4889 8 19.6667 8C21.9778 8 24.1778 8.48889 26.2667 9.46667C28.3556 10.4444 30.1556 11.8222 31.6667 13.6C33.1778 11.8222 34.9778 10.4444 37.0667 9.46667C39.1556 8.48889 41.3556 8 43.6667 8C47.8444 8 51.3333 9.4 54.1333 12.2C56.9333 15 58.3333 18.4889 58.3333 22.6667C58.3333 24.7111 57.9889 26.7111 57.3 28.6667C56.6111 30.6222 55.4 32.7667 53.6667 35.1C51.9333 37.4333 49.6 40.0667 46.6667 43C43.7333 45.9333 40.0222 49.4222 35.5333 53.4667L31.6667 56.9333Z"/></svg>',
|
|
132
|
+
diamonds: '<svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M32 58.3333L8 31.6667L32 5L56 31.6667L32 58.3333Z"/></svg>',
|
|
133
|
+
clubs: '<svg width="64" height="64" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="M32.7422 8C39.0131 8.00014 44.0965 13.0836 44.0967 19.3545C44.0967 22.3905 42.9028 25.1463 40.9619 27.1836C42.108 26.7945 43.3357 26.5811 44.6133 26.5811C50.8842 26.5813 55.9678 31.6646 55.9678 37.9355C55.9677 44.2065 50.8842 49.2898 44.6133 49.29C40.7767 49.29 37.3866 47.3859 35.3311 44.4727C35.3545 44.6869 35.4 44.9939 35.4873 45.3721C35.6708 46.1669 36.0397 47.2784 36.7832 48.5176C37.1124 49.0661 37.683 49.5639 38.4043 50.0215C39.121 50.4762 39.9477 50.8671 40.749 51.2197C41.5324 51.5644 42.323 51.8854 42.8955 52.1758C43.1826 52.3214 43.4509 52.4767 43.6533 52.6455C43.8375 52.7992 44.0801 53.0572 44.0801 53.4199C44.0799 53.7476 43.8956 54.0007 43.7061 54.1738C43.5126 54.3503 43.2539 54.5014 42.9648 54.6328C42.3825 54.8974 41.5654 55.1324 40.582 55.3291C38.6066 55.7241 35.8618 55.9844 32.7412 55.9844C29.6198 55.9843 26.8772 55.7244 24.8398 55.3301C23.8233 55.1333 22.9671 54.9005 22.3223 54.6426C22.0002 54.5137 21.7169 54.3731 21.4893 54.2197C21.2688 54.0712 21.0593 53.8831 20.9395 53.6436L20.8867 53.5381V53.4199C20.8867 53.0575 21.1294 52.7992 21.3135 52.6455C21.5159 52.4766 21.7851 52.3214 22.0723 52.1758C22.6447 51.8855 23.4346 51.5643 24.2178 51.2197C25.019 50.8672 25.8458 50.4761 26.5625 50.0215C27.2837 49.5639 27.8543 49.066 28.1836 48.5176C28.9271 47.2784 29.297 46.1669 29.4805 45.3721C29.5675 44.9951 29.6113 44.6888 29.6348 44.4746C27.579 47.3866 24.1901 49.29 20.3545 49.29C14.0836 49.2899 9.00003 44.2065 9 37.9355C9 31.6646 14.0835 26.5812 20.3545 26.5811C21.9457 26.5811 23.4603 26.9091 24.835 27.5C22.7097 25.4365 21.3867 22.5506 21.3867 19.3545C21.3869 13.0835 26.4712 8 32.7422 8Z"/></svg>'
|
|
134
|
+
}
|
|
135
|
+
|
|
120
136
|
function acpcCardToDisplay(acpcCard) {
|
|
121
|
-
if (!acpcCard || acpcCard.length < 2) return { rank: '?',
|
|
137
|
+
if (!acpcCard || acpcCard.length < 2) return { rank: '?', suit: '', original: acpcCard };
|
|
122
138
|
const rankChar = acpcCard[0].toUpperCase();
|
|
123
139
|
const suitChar = acpcCard[1].toLowerCase();
|
|
124
140
|
const rankMap = { 'T': '10', 'J': 'J', 'Q': 'Q', 'K': 'K', 'A': 'A' };
|
|
125
|
-
const suitMap = { 's': '
|
|
141
|
+
const suitMap = { 's': 'spades', 'h': 'hearts', 'd': 'diamonds', 'c': 'clubs' };
|
|
126
142
|
const rank = rankMap[rankChar] || rankChar;
|
|
127
|
-
const
|
|
128
|
-
return { rank,
|
|
143
|
+
const suit = suitMap[suitChar] || '';
|
|
144
|
+
return { rank, suit, original: acpcCard };
|
|
129
145
|
}
|
|
130
146
|
|
|
131
147
|
function createCardElement(cardStr, isHidden = false) {
|
|
@@ -134,17 +150,25 @@ function renderer(options) {
|
|
|
134
150
|
if (isHidden || !cardStr || cardStr === '?' || cardStr === "??") {
|
|
135
151
|
cardDiv.classList.add('card-back');
|
|
136
152
|
} else {
|
|
137
|
-
const { rank,
|
|
153
|
+
const { rank, suit } = acpcCardToDisplay(cardStr);
|
|
138
154
|
const rankSpan = document.createElement('span');
|
|
139
155
|
rankSpan.classList.add('card-rank');
|
|
140
156
|
rankSpan.textContent = rank;
|
|
141
157
|
cardDiv.appendChild(rankSpan);
|
|
158
|
+
|
|
142
159
|
const suitSpan = document.createElement('span');
|
|
143
160
|
suitSpan.classList.add('card-suit');
|
|
144
|
-
|
|
161
|
+
|
|
162
|
+
if (suitSVGs[suit]) {
|
|
163
|
+
suitSpan.innerHTML = suitSVGs[suit];
|
|
164
|
+
}
|
|
165
|
+
|
|
145
166
|
cardDiv.appendChild(suitSpan);
|
|
146
|
-
|
|
147
|
-
|
|
167
|
+
|
|
168
|
+
if (suit === 'hearts') cardDiv.classList.add('card-red');
|
|
169
|
+
else if (suit === 'spades') cardDiv.classList.add('card-black');
|
|
170
|
+
else if (suit === 'diamonds') cardDiv.classList.add('card-blue');
|
|
171
|
+
else if (suit === 'clubs') cardDiv.classList.add('card-green');
|
|
148
172
|
}
|
|
149
173
|
return cardDiv;
|
|
150
174
|
}
|
|
@@ -368,14 +392,14 @@ function renderer(options) {
|
|
|
368
392
|
});
|
|
369
393
|
}
|
|
370
394
|
|
|
371
|
-
elements.potDisplay.textContent = `Pot:
|
|
395
|
+
elements.potDisplay.textContent = `Pot : ${pot}`;
|
|
372
396
|
|
|
373
397
|
players.forEach((playerData, index) => {
|
|
374
398
|
const playerPod = elements.playerPods[index];
|
|
375
399
|
if (!playerPod) return;
|
|
376
400
|
|
|
377
401
|
playerPod.querySelector('.player-name').textContent = playerData.name;
|
|
378
|
-
playerPod.querySelector('.player-stack').textContent =
|
|
402
|
+
playerPod.querySelector('.player-stack').textContent = `${playerData.stack}`;
|
|
379
403
|
|
|
380
404
|
const playerCardsContainer = playerPod.querySelector('.player-cards-container');
|
|
381
405
|
playerCardsContainer.innerHTML = '';
|
|
@@ -389,7 +413,7 @@ function renderer(options) {
|
|
|
389
413
|
|
|
390
414
|
const betDisplay = playerPod.querySelector('.bet-display');
|
|
391
415
|
if (playerData.currentBet > 0) {
|
|
392
|
-
betDisplay.textContent =
|
|
416
|
+
betDisplay.textContent = `${playerData.currentBet}`;
|
|
393
417
|
betDisplay.style.display = 'inline-block';
|
|
394
418
|
} else {
|
|
395
419
|
betDisplay.style.display = 'none';
|
|
@@ -11,6 +11,8 @@ import sys
|
|
|
11
11
|
from typing import Any, Callable
|
|
12
12
|
|
|
13
13
|
import numpy as np
|
|
14
|
+
import pokerkit
|
|
15
|
+
from open_spiel.python.games import pokerkit_wrapper
|
|
14
16
|
import pyspiel
|
|
15
17
|
|
|
16
18
|
from kaggle_environments import core, utils
|
|
@@ -553,13 +555,47 @@ def _register_game_envs(games_list: list[str]) -> dict[str, Any]:
|
|
|
553
555
|
return registered_envs
|
|
554
556
|
|
|
555
557
|
|
|
558
|
+
DEFAULT_UNIVERSAL_POKER_GAME_STRING = (
|
|
559
|
+
"universal_poker("
|
|
560
|
+
"betting=nolimit,"
|
|
561
|
+
"bettingAbstraction=fullgame,"
|
|
562
|
+
"blind=2 1,"
|
|
563
|
+
"firstPlayer=2 1 1 1,"
|
|
564
|
+
"numBoardCards=0 3 1 1,"
|
|
565
|
+
"numHoleCards=2,"
|
|
566
|
+
"numPlayers=2,"
|
|
567
|
+
"numRanks=13,"
|
|
568
|
+
"numRounds=4,"
|
|
569
|
+
"numSuits=4,"
|
|
570
|
+
"stack=200 200,"
|
|
571
|
+
"calcOddsNumSims=1000000)"
|
|
572
|
+
)
|
|
573
|
+
|
|
574
|
+
DEFAULT_REPEATED_POKER_GAME_STRING = (
|
|
575
|
+
"repeated_poker("
|
|
576
|
+
"max_num_hands=100,"
|
|
577
|
+
"reset_stacks=True,"
|
|
578
|
+
"rotate_dealer=True,"
|
|
579
|
+
f"universal_poker_game_string={DEFAULT_UNIVERSAL_POKER_GAME_STRING})"
|
|
580
|
+
)
|
|
581
|
+
|
|
582
|
+
DEFAULT_REPEATED_POKERKIT_GAME_STRING = (
|
|
583
|
+
"python_repeated_pokerkit(bet_size_schedule=,blind_schedule=,"
|
|
584
|
+
"bring_in_schedule=,first_button_player=-1,max_num_hands=100,"
|
|
585
|
+
"pokerkit_game_params=python_pokerkit_wrapper(blinds=1 2,num_players=2,"
|
|
586
|
+
"stack_sizes=200 200,variant=NoLimitTexasHoldem),reset_stacks=True,"
|
|
587
|
+
"rotate_dealer=True)"
|
|
588
|
+
)
|
|
589
|
+
|
|
556
590
|
GAMES_LIST = [
|
|
557
591
|
"chess",
|
|
558
592
|
"connect_four",
|
|
559
593
|
"gin_rummy",
|
|
560
594
|
"go(board_size=9)",
|
|
561
595
|
"tic_tac_toe",
|
|
562
|
-
|
|
596
|
+
DEFAULT_UNIVERSAL_POKER_GAME_STRING,
|
|
597
|
+
DEFAULT_REPEATED_POKER_GAME_STRING,
|
|
598
|
+
DEFAULT_REPEATED_POKERKIT_GAME_STRING,
|
|
563
599
|
]
|
|
564
600
|
|
|
565
601
|
ENV_REGISTRY = _register_game_envs(GAMES_LIST)
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import pathlib
|
|
3
3
|
|
|
4
|
+
import pokerkit
|
|
5
|
+
from open_spiel.python.games import pokerkit_wrapper
|
|
4
6
|
import pyspiel
|
|
7
|
+
|
|
5
8
|
from absl.testing import absltest
|
|
6
9
|
|
|
7
10
|
from kaggle_environments import make
|
|
8
11
|
|
|
9
|
-
from . import
|
|
12
|
+
from . import open_spiel_env
|
|
10
13
|
|
|
11
14
|
# Expected that not all pyspiel registered games can be registered as Kaggle
|
|
12
15
|
# envs (e.g. does not yet support simultaneous move games), but should register
|
|
@@ -186,6 +189,67 @@ class OpenSpielEnvTest(absltest.TestCase):
|
|
|
186
189
|
self.assertEqual(env.configuration["imageConfig"]["pieceSet"], "cardinal")
|
|
187
190
|
self.assertTrue("imageConfig" in env.state[0]["observation"])
|
|
188
191
|
|
|
192
|
+
def test_default_repeated_poker(self):
|
|
193
|
+
env = make('open_spiel_repeated_poker')
|
|
194
|
+
env.reset()
|
|
195
|
+
env.step([{"submission": -1}, {"submission": -1}]) # Initial setup step.
|
|
196
|
+
# Default repeated_poker now includes hand odds calculations which take
|
|
197
|
+
# ~1-2s per action, so we avoid stepping until the end of the game.
|
|
198
|
+
for i in range(2):
|
|
199
|
+
if i % 2 == 0:
|
|
200
|
+
env.step([{"submission": -1}, {"submission": 0}])
|
|
201
|
+
else:
|
|
202
|
+
env.step([{"submission": 0}, {"submission": -1}])
|
|
203
|
+
self.assertEqual(len(env.os_state.acpc_hand_histories()), 2)
|
|
204
|
+
state_dict = json.loads(str(env.os_state))
|
|
205
|
+
self.assertTrue("current_universal_poker_json" in state_dict)
|
|
206
|
+
current_hand_dict = json.loads(
|
|
207
|
+
state_dict["current_universal_poker_json"])
|
|
208
|
+
self.assertTrue("odds" in current_hand_dict)
|
|
209
|
+
self.assertEqual(len(current_hand_dict["odds"]), 4)
|
|
210
|
+
|
|
211
|
+
def test_repeated_pokerkit(self):
|
|
212
|
+
pokerkit_game_str = (
|
|
213
|
+
"python_repeated_pokerkit("
|
|
214
|
+
"bet_size_schedule=,"
|
|
215
|
+
"blind_schedule=,"
|
|
216
|
+
"bring_in_schedule=,"
|
|
217
|
+
"first_button_player=-1,"
|
|
218
|
+
"max_num_hands=20,"
|
|
219
|
+
"pokerkit_game_params=python_pokerkit_wrapper("
|
|
220
|
+
"blinds=1 2,"
|
|
221
|
+
"num_players=2,"
|
|
222
|
+
"stack_sizes=200 200,"
|
|
223
|
+
"variant=NoLimitTexasHoldem),"
|
|
224
|
+
"reset_stacks=True,"
|
|
225
|
+
"rotate_dealer=True)"
|
|
226
|
+
)
|
|
227
|
+
envs = open_spiel_env._register_game_envs(
|
|
228
|
+
[pokerkit_game_str]
|
|
229
|
+
)
|
|
230
|
+
env = make(envs['open_spiel_python_repeated_pokerkit'])
|
|
231
|
+
env.reset()
|
|
232
|
+
env.step([{"submission": -1}, {"submission": -1}]) # Initial setup step.
|
|
233
|
+
for i in range(20):
|
|
234
|
+
if i % 2 == 0:
|
|
235
|
+
env.step([{"submission": -1}, {"submission": 0}])
|
|
236
|
+
else:
|
|
237
|
+
env.step([{"submission": 0}, {"submission": -1}])
|
|
238
|
+
self.assertTrue(env.done)
|
|
239
|
+
self.assertEqual(env.toJSON()["rewards"], [0.0, 0.0])
|
|
240
|
+
|
|
241
|
+
def test_default_repeated_pokerkit_loads(self):
|
|
242
|
+
env = make('open_spiel_python_repeated_pokerkit')
|
|
243
|
+
env.reset()
|
|
244
|
+
env.step([{"submission": -1}, {"submission": -1}]) # Initial setup step.
|
|
245
|
+
for i in range(100):
|
|
246
|
+
if i % 2 == 0:
|
|
247
|
+
env.step([{"submission": -1}, {"submission": 0}])
|
|
248
|
+
else:
|
|
249
|
+
env.step([{"submission": 0}, {"submission": -1}])
|
|
250
|
+
self.assertTrue(env.done)
|
|
251
|
+
self.assertEqual(env.toJSON()["rewards"], [0.0, 0.0])
|
|
252
|
+
|
|
189
253
|
|
|
190
254
|
if __name__ == "__main__":
|
|
191
255
|
absltest.main()
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Werewolf: Game Rules
|
|
2
|
+
|
|
3
|
+
Welcome to Werewolf, a game of social deduction, team collaboration, deception, and survival. Players are secretly assigned roles on one of two teams: the Village or the Werewolves.
|
|
4
|
+
|
|
5
|
+
## Roles
|
|
6
|
+
|
|
7
|
+
Each player is assigned one of the following roles:
|
|
8
|
+
|
|
9
|
+
### Village Team
|
|
10
|
+
|
|
11
|
+
The goal of the Village team is to exile all the werewolves.
|
|
12
|
+
|
|
13
|
+
* **Villager:** You have no special abilities other than your power of observation and your voice. Use the discussion phase to identify suspicious behavior and vote to exile suspected werewolves.
|
|
14
|
+
* **Seer:** Each night, you may choose one player to investigate. You will learn if that player is a Werewolf or not. Your goal is to share this information strategically to help the village without revealing your identity too soon.
|
|
15
|
+
* **Doctor:** Each night, you may choose one player to protect. The player you protect cannot be eliminated by the werewolves that night.
|
|
16
|
+
|
|
17
|
+
### Werewolf Team
|
|
18
|
+
|
|
19
|
+
* **Werewolf:** Your goal is to eliminate villagers until the number of werewolves equals the number of remaining village members. Each night, you and your fellow werewolves will secretly agree on one player to eliminate.
|
|
20
|
+
|
|
21
|
+
## Game Phases
|
|
22
|
+
|
|
23
|
+
The game alternates between a Night phase and a Day phase.
|
|
24
|
+
|
|
25
|
+
### Night Phase 🐺
|
|
26
|
+
|
|
27
|
+
During the night, all players close their eyes. The moderator will ask players with special roles to wake up and perform their actions in this order:
|
|
28
|
+
|
|
29
|
+
1. **Doctor:** Chooses one player to protect.
|
|
30
|
+
2. **Seer:** Chooses one player to investigate their alignment.
|
|
31
|
+
3. **Werewolves:** Silently vote on one player to eliminate.
|
|
32
|
+
|
|
33
|
+
### Day Phase ☀️
|
|
34
|
+
|
|
35
|
+
1. **Announcement:** The moderator announces which player, if any, was eliminated during the night. That player is removed from the game and may not speak or participate further.
|
|
36
|
+
2. **Discussion:** The surviving players discuss who they think the werewolves are.
|
|
37
|
+
3. **Exile Vote:** Players vote on who to exile from the village. The player who receives the most votes is exiled, removed from the game, and their role is revealed.
|
|
38
|
+
|
|
39
|
+
The game continues with another Night phase until a winning condition is met.
|
|
40
|
+
|
|
41
|
+
## Customizable Rules
|
|
42
|
+
|
|
43
|
+
Before the game begins, the following options must be decided.
|
|
44
|
+
|
|
45
|
+
### 1. Doctor's Self-Save
|
|
46
|
+
|
|
47
|
+
* **Option A (Self-Save Allowed):** The Doctor is allowed to choose themselves as the target of their protection.
|
|
48
|
+
* **Option B (No Self-Save):** The Doctor must choose another player to protect.
|
|
49
|
+
|
|
50
|
+
### 2. Discussion Protocol
|
|
51
|
+
|
|
52
|
+
* **Option A (Parallel Discussion):** All players may speak simultaneously for a number of rounds.
|
|
53
|
+
* **Option B (Round Robin):** Each player speak one after another following a predefined order for a number of rounds.
|
|
54
|
+
|
|
55
|
+
### 3. Voting Protocol
|
|
56
|
+
The night wolf target election and the day exile election are both configurable. All voting protocols follow a random
|
|
57
|
+
tie breaking mechanism, where a random draw is used when there multiple candidates with the same votes.
|
|
58
|
+
|
|
59
|
+
* **Option A (Sequential Voting):** Voters cast their votes one after another, where each voter has visibility to all earlier vote.
|
|
60
|
+
* **Option B (Parallel Voting):** All voters cast their votes simultaneously.
|
|
61
|
+
|
|
62
|
+
## Winning the Game
|
|
63
|
+
|
|
64
|
+
A team wins as soon as their winning condition is met.
|
|
65
|
+
|
|
66
|
+
* **The Village Team wins** when all werewolves have been successfully exiled.
|
|
67
|
+
* **The Werewolf Team wins** when the number of werewolves is equal to the number of remaining Village team members.
|
|
68
|
+
|
|
69
|
+
### Rewards
|
|
70
|
+
|
|
71
|
+
All members of the winning team will receive **1 reward**. This includes players who were eliminated before the end of the game.
|
|
72
|
+
|
|
73
|
+
### Tie Game (Forfeit)
|
|
74
|
+
|
|
75
|
+
If any back-end inference fails during the game, the match will immediately end. The game will be declared a **tie**, and no players will receive a reward.
|
|
File without changes
|
|
File without changes
|