kaggle-environments 1.16.5__tar.gz → 1.16.7__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.16.5/kaggle_environments.egg-info → kaggle-environments-1.16.7}/PKG-INFO +1 -1
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/__init__.py +1 -1
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/agent.py +1 -1
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.js +104 -4
- kaggle-environments-1.16.7/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.py +141 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7/kaggle_environments.egg-info}/PKG-INFO +1 -1
- kaggle-environments-1.16.5/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.py +0 -137
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/LICENSE +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/MANIFEST.in +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/README.md +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/api.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/core.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/test_chess.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/connectx/connectx.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/connectx/connectx.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/connectx/connectx.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/connectx/test_connectx.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/football/football.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/football/football.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/football/helpers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/football/test_football.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/halite.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/halite.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/halite.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/helpers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/test_halite.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/hungry_geese/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/hungry_geese/hungry_geese.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/hungry_geese/hungry_geese.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/hungry_geese/hungry_geese.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/hungry_geese/test_hungry_geese.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/identity/identity.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/identity/identity.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/helpers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/kore_fleets.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/kore_fleets.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/kore_fleets.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/configuration.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/fullob.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/java/test/observation.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/python/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/python/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/Bot.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/DoNothingBot.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/MinerBot.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/interpreter.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Board.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Cell.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Configuration.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Direction.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Fleet.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/KoreIO.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Observation.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Pair.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Player.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Point.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/Shipyard.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/kore/ShipyardAction.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/miner.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/package.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/BoardTest.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ConfigurationTest.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ObservationTest.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/PointTest.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/ShipyardTest.ts +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/configuration.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/fullob.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/test/observation.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/starter_bots/ts/tsconfig.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/kore_fleets/test_kore_fleets.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/llm_20_questions/keywords.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/llm_20_questions/llm_20_questions.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/llm_20_questions/llm_20_questions.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/llm_20_questions/llm_20_questions.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/llm_20_questions/test_llm_20_questions.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/agents.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/dimensions/754.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/dimensions/main.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/index.html +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/lux_ai_2021.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_constants.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/game_objects.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/io.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/kit.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/map.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/lux/parser.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/js_simple/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/annotate.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/constants.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_constants.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_map.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/lux/game_objects.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/random_agent.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_agents/python/simple_agent.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_2021/test_lux.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/agents.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/index.html +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/lux_ai_s2.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/lux_ai_s2.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/actions.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/config.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/env.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/factory.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/globals.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/bfs_deltas_gen.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/board.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map/position.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/generator.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/symnoise.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/timing.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/visualize.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/map_generator/visualize_samples.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/pyvisual/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/pyvisual/visualizer.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/replay/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/replay/replay.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/act_space.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/spaces/obs_space.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/state.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/stats.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/state/typing.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/team.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/tools/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/tools/replay.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/unit.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/animate.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/bidding.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/factory.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/heuristics/factory_placement.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/utils/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/version.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/controllers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/luxai_s2/wrappers/sb3.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/agent.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/cargo.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/config.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/factory.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/kit.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/team.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/unit.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/lux/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_agents/python/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s2/test_lux.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/agents.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/index.html +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/lux_ai_s3.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/env.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/globals.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/params.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/profiler.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/pygame_render.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/spaces.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/state.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/luxai_s3/wrappers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/agent.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/kit.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/lux/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_agents/python/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/lux_ai_s3/test_lux.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/mab/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/mab/agents.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/mab/mab.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/mab/mab.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/mab/mab.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/__init__.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/agents.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/helpers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/rps.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/rps.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/rps.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/test_rps.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/rps/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/tictactoe/test_tictactoe.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/tictactoe/tictactoe.js +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/tictactoe/tictactoe.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/tictactoe/tictactoe.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/errors.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/helpers.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/main.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/schemas.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/static/player.html +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/status_codes.json +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/utils.py +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments.egg-info/SOURCES.txt +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments.egg-info/dependency_links.txt +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments.egg-info/entry_points.txt +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments.egg-info/requires.txt +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments.egg-info/top_level.txt +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/setup.cfg +0 -0
- {kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/setup.py +0 -0
|
@@ -79,7 +79,7 @@ class UrlAgent:
|
|
|
79
79
|
"observation": observation,
|
|
80
80
|
},
|
|
81
81
|
}
|
|
82
|
-
timeout = float(observation.remainingOverageTime) + float(configuration.actTimeout) +
|
|
82
|
+
timeout = float(observation.remainingOverageTime) + float(configuration.actTimeout) + 1
|
|
83
83
|
try:
|
|
84
84
|
response = requests.post(url=self.raw, data=json.dumps(data), timeout=timeout)
|
|
85
85
|
response.raise_for_status()
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.js
RENAMED
|
@@ -8,6 +8,28 @@ async function renderer(context) {
|
|
|
8
8
|
width = 400,
|
|
9
9
|
} = context;
|
|
10
10
|
|
|
11
|
+
const OPENINGS = [
|
|
12
|
+
"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
|
|
13
|
+
"rnbqkbnr/1p2pp1p/p2p2p1/8/2PNP3/8/PP3PPP/RNBQKB1R w KQkq - 0 6",
|
|
14
|
+
"r1b1kb1r/ppppq1pp/2n2n2/1B2p3/4N3/5N2/PPPPQPPP/R1B1K2R w KQkq - 3 7",
|
|
15
|
+
"rnbqkb1r/p2ppppp/5n2/2pP4/2p5/2N5/PP2PPPP/R1BQKBNR w KQkq - 0 5",
|
|
16
|
+
"rnbqk1nr/p1p1bppp/1p2p3/3pP3/3P4/2N5/PPP2PPP/R1BQKBNR w KQkq - 0 5",
|
|
17
|
+
"r2qk1nr/ppp2pp1/2np3p/2b1p3/2B1P1b1/2PP1N2/PP3PPP/RNBQ1RK1 w kq - 0 7",
|
|
18
|
+
"rn1qk1nr/pp2ppbp/3p2p1/2p5/2PP2b1/2N1PN2/PP3PPP/R1BQKB1R w KQkq c6 0 6",
|
|
19
|
+
"rnbqkbnr/1p2pp1p/p2p2p1/8/2PNP3/8/PP3PPP/RNBQKB1R w KQkq - 0 6",
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const MOVES = [
|
|
23
|
+
"",
|
|
24
|
+
"e2e4 c7c5 g1f3 d7d6 d2d4 c5d4 f3d4 a7a6 c2c4 g7g6",
|
|
25
|
+
"e2e4 e7e5 g1f3 b8c6 f1b5 f7f5 b1c3 f5e4 c3e4 g8f6 d1e2 d8e7",
|
|
26
|
+
"d2d4 g8f6 c2c4 c7c5 d4d5 b7b5 b1c3 b5c4",
|
|
27
|
+
"e2e4 e7e6 d2d4 d7d5 b1c3 f8e7 e4e5 b7b6",
|
|
28
|
+
"e2e4 e7e5 g1f3 b8c6 f1c4 f8c5 e1g1 d7d6 c2c3 c8g4 d2d3 h7h6",
|
|
29
|
+
"d2d4 g7g6 c2c4 f8g7 b1c3 d7d6 g1f3 c8g4 e2e3 c7c5",
|
|
30
|
+
"e2e4 c7c5 g1f3 d7d6 d2d4 c5d4 f3d4 a7a6 c2c4 g7g6",
|
|
31
|
+
];
|
|
32
|
+
|
|
11
33
|
// Common Dimensions.
|
|
12
34
|
const canvasSize = Math.min(height, width);
|
|
13
35
|
const boardSize = canvasSize * 0.8;
|
|
@@ -21,6 +43,76 @@ async function renderer(context) {
|
|
|
21
43
|
parent.appendChild(canvas);
|
|
22
44
|
}
|
|
23
45
|
|
|
46
|
+
// Create the Download PGN button
|
|
47
|
+
let downloadButton = parent.querySelector("#copy-pgn");
|
|
48
|
+
if (!downloadButton) {
|
|
49
|
+
try {
|
|
50
|
+
downloadButton = document.createElement("button");
|
|
51
|
+
downloadButton.id = "copy-pgn";
|
|
52
|
+
downloadButton.textContent = "Copy PGN";
|
|
53
|
+
downloadButton.style.position = "absolute";
|
|
54
|
+
downloadButton.style.top = "10px";
|
|
55
|
+
downloadButton.style.left = "10px";
|
|
56
|
+
downloadButton.style.zIndex = 1;
|
|
57
|
+
parent.appendChild(downloadButton);
|
|
58
|
+
|
|
59
|
+
const board = environment.steps[step][0].observation.board;
|
|
60
|
+
const info = environment.info;
|
|
61
|
+
const agent1 = info?.TeamNames?.[0] || "Agent 1";
|
|
62
|
+
const agent2 = info?.TeamNames?.[1] || "Agent 2";
|
|
63
|
+
const game = new Chess(board);
|
|
64
|
+
let result = environment.rewards;
|
|
65
|
+
if (result.some(r => r === undefined || r === null)) {
|
|
66
|
+
result = result.map(r => r === undefined || r === null ? 0 : 1)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
game.header(
|
|
70
|
+
"Event",
|
|
71
|
+
"FIDE & Google Efficient Chess AI Challenge (https://www.kaggle.com/competitions/fide-google-efficiency-chess-ai-challenge)",
|
|
72
|
+
"White",
|
|
73
|
+
agent1,
|
|
74
|
+
"Black",
|
|
75
|
+
agent2,
|
|
76
|
+
"Result",
|
|
77
|
+
result.join(" - ")
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
const openingIdx = OPENINGS.indexOf(board);
|
|
81
|
+
const moves = MOVES[openingIdx].split(" ");
|
|
82
|
+
|
|
83
|
+
for (let i = 0; i < moves.length; i++) {
|
|
84
|
+
const move = moves[i];
|
|
85
|
+
game.move({ from: move.slice(0, 2), to: move.slice(2, 4) });
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
for (let i = 1; i < environment.steps.length; i++) {
|
|
89
|
+
const move = environment.steps[i][(i - 1) % 2].action;
|
|
90
|
+
if (move.length === 4) {
|
|
91
|
+
game.move({ from: move.slice(0, 2), to: move.slice(2, 4) });
|
|
92
|
+
} else if (move.length === 5) {
|
|
93
|
+
game.move({
|
|
94
|
+
from: move.slice(0, 2),
|
|
95
|
+
to: move.slice(2, 4),
|
|
96
|
+
promotion: move.slice(4, 5),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
downloadButton.addEventListener("click", async () => {
|
|
102
|
+
try {
|
|
103
|
+
await navigator.clipboard.writeText(game.pgn());
|
|
104
|
+
alert("PGN Copied");
|
|
105
|
+
} catch (err) {
|
|
106
|
+
console.error("Failed to copy: ", err);
|
|
107
|
+
alert("Failed to copy PGN");
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
} catch (e) {
|
|
111
|
+
console.error('Cannot create game pgn')
|
|
112
|
+
console.error(e);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
24
116
|
// Canvas setup and reset.
|
|
25
117
|
let c = canvas.getContext("2d");
|
|
26
118
|
canvas.width = canvasSize;
|
|
@@ -41,15 +133,23 @@ async function renderer(context) {
|
|
|
41
133
|
const info = environment.info;
|
|
42
134
|
const agent1 = info?.TeamNames?.[0] || "Agent 1";
|
|
43
135
|
const agent2 = info?.TeamNames?.[1] || "Agent 2";
|
|
44
|
-
const firstGame = environment.steps[step][0].observation.mark == "white"
|
|
45
|
-
const fontSize = Math.round(.33 * offset)
|
|
136
|
+
const firstGame = environment.steps[step][0].observation.mark == "white";
|
|
137
|
+
const fontSize = Math.round(0.33 * offset);
|
|
46
138
|
c.font = `${fontSize}px sans-serif`;
|
|
47
139
|
c.fillStyle = "#FFFFFF";
|
|
48
140
|
const agent1Reward = environment.steps[step][0].reward;
|
|
49
141
|
const agent2Reward = environment.steps[step][1].reward;
|
|
50
142
|
const charCount = agent1.length + agent2.length + 12;
|
|
51
|
-
const title = `${
|
|
52
|
-
|
|
143
|
+
const title = `${
|
|
144
|
+
firstGame ? "\u25A0" : "\u25A1"
|
|
145
|
+
}${agent1} (${agent1Reward}) vs ${
|
|
146
|
+
firstGame ? "\u25A1" : "\u25A0"
|
|
147
|
+
}${agent2} (${agent2Reward})`;
|
|
148
|
+
c.fillText(
|
|
149
|
+
title,
|
|
150
|
+
offset + 4 * squareSize - Math.floor((charCount * fontSize) / 4),
|
|
151
|
+
40
|
|
152
|
+
);
|
|
53
153
|
|
|
54
154
|
// Draw the Pieces
|
|
55
155
|
const board = environment.steps[step][0].observation.board;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
import json
|
|
3
|
+
import math
|
|
4
|
+
import os
|
|
5
|
+
import random
|
|
6
|
+
import sys
|
|
7
|
+
from os import path
|
|
8
|
+
from .agents import all_agents
|
|
9
|
+
from sys import path as syspath
|
|
10
|
+
from os import path as osp
|
|
11
|
+
|
|
12
|
+
# next two lines enables importing local packages e.g. luxai_s3
|
|
13
|
+
__dir__ = osp.dirname(__file__)
|
|
14
|
+
syspath.append(__dir__)
|
|
15
|
+
import numpy as np
|
|
16
|
+
|
|
17
|
+
import copy
|
|
18
|
+
import json
|
|
19
|
+
def to_json(state):
|
|
20
|
+
if isinstance(state, np.ndarray):
|
|
21
|
+
return state.tolist()
|
|
22
|
+
elif isinstance(state, np.int64):
|
|
23
|
+
return state.tolist()
|
|
24
|
+
elif isinstance(state, list):
|
|
25
|
+
return [to_json(s) for s in state]
|
|
26
|
+
elif isinstance(state, dict):
|
|
27
|
+
out = {}
|
|
28
|
+
for k in state:
|
|
29
|
+
out[k] = to_json(state[k])
|
|
30
|
+
return out
|
|
31
|
+
else:
|
|
32
|
+
return state
|
|
33
|
+
prev_step = 0
|
|
34
|
+
luxenv = None
|
|
35
|
+
prev_obs = None
|
|
36
|
+
state_obs = None
|
|
37
|
+
default_env_cfg = None
|
|
38
|
+
def enqueue_output(out, queue):
|
|
39
|
+
for line in iter(out.readline, b''):
|
|
40
|
+
queue.put(line)
|
|
41
|
+
out.close()
|
|
42
|
+
|
|
43
|
+
def interpreter(state, env):
|
|
44
|
+
try:
|
|
45
|
+
from luxai_s3.wrappers import LuxAIS3GymEnv, RecordEpisode
|
|
46
|
+
global luxenv, prev_obs, state_obs, default_env_cfg
|
|
47
|
+
player_0 = state[0]
|
|
48
|
+
player_1 = state[1]
|
|
49
|
+
# filter out actions such as debug annotations so they aren't saved
|
|
50
|
+
# filter_actions(state, env)
|
|
51
|
+
|
|
52
|
+
if env.done:
|
|
53
|
+
if "seed" in env.configuration:
|
|
54
|
+
seed = int(env.configuration["seed"])
|
|
55
|
+
else:
|
|
56
|
+
seed = math.floor(random.random() * 1e9);
|
|
57
|
+
env.configuration["seed"] = seed
|
|
58
|
+
|
|
59
|
+
luxenv = LuxAIS3GymEnv(numpy_output=True)
|
|
60
|
+
luxenv = RecordEpisode(luxenv, save_on_close=False, save_on_reset=False)
|
|
61
|
+
obs, info = luxenv.reset(seed=seed)
|
|
62
|
+
|
|
63
|
+
env_cfg_json = info["params"]
|
|
64
|
+
|
|
65
|
+
env.configuration.env_cfg = env_cfg_json
|
|
66
|
+
|
|
67
|
+
player_0.observation.player = "player_0"
|
|
68
|
+
player_1.observation.player = "player_1"
|
|
69
|
+
player_0.observation.obs = json.dumps(to_json(obs["player_0"]))
|
|
70
|
+
player_1.observation.obs = json.dumps(to_json(obs["player_1"]))
|
|
71
|
+
|
|
72
|
+
replay_frame = luxenv.serialize_episode_data(dict(
|
|
73
|
+
states=[luxenv.episode["states"][-1]],
|
|
74
|
+
metadata=luxenv.episode["metadata"],
|
|
75
|
+
params=luxenv.episode["params"]
|
|
76
|
+
))
|
|
77
|
+
# don't need to keep metadata/params beyond first step
|
|
78
|
+
player_0.info = dict(replay=replay_frame)
|
|
79
|
+
return state
|
|
80
|
+
|
|
81
|
+
new_state_obs, rewards, terminations, truncations, infos = luxenv.step({
|
|
82
|
+
"player_0": np.array(player_0.action["action"]),
|
|
83
|
+
"player_1": np.array(player_1.action["action"])
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
# cannot store np arrays in replay jsons so must convert to list
|
|
87
|
+
player_0.action = player_0.action["action"]
|
|
88
|
+
player_1.action = player_1.action["action"]
|
|
89
|
+
|
|
90
|
+
dones = dict()
|
|
91
|
+
for k in terminations:
|
|
92
|
+
dones[k] = terminations[k] | truncations[k]
|
|
93
|
+
|
|
94
|
+
player_0.observation.player = "player_0"
|
|
95
|
+
player_1.observation.player = "player_1"
|
|
96
|
+
|
|
97
|
+
player_0.observation.obs = json.dumps(to_json(new_state_obs["player_0"]))
|
|
98
|
+
player_1.observation.obs = json.dumps(to_json(new_state_obs["player_1"]))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
player_0.reward = int(rewards["player_0"])
|
|
102
|
+
player_1.reward = int(rewards["player_1"])
|
|
103
|
+
|
|
104
|
+
player_0.observation.reward = int(player_0.reward)
|
|
105
|
+
player_1.observation.reward = int(player_1.reward)
|
|
106
|
+
replay_frame = luxenv.serialize_episode_data(dict(
|
|
107
|
+
states=[luxenv.episode["states"][-1]],
|
|
108
|
+
actions=[luxenv.episode["actions"][-1]],
|
|
109
|
+
metadata=luxenv.episode["metadata"],
|
|
110
|
+
params=luxenv.episode["params"]
|
|
111
|
+
))
|
|
112
|
+
# don't need to keep metadata/params beyond first step
|
|
113
|
+
del replay_frame["metadata"]
|
|
114
|
+
del replay_frame["params"]
|
|
115
|
+
player_0.info = dict(replay=replay_frame)
|
|
116
|
+
|
|
117
|
+
if np.all([dones[k] for k in dones]):
|
|
118
|
+
if player_0.status == "ACTIVE":
|
|
119
|
+
player_0.status = "DONE"
|
|
120
|
+
if player_1.status == "ACTIVE":
|
|
121
|
+
player_1.status = "DONE"
|
|
122
|
+
return state
|
|
123
|
+
except ModuleNotFoundError as e:
|
|
124
|
+
print("Lux AI S3 Dependencies are missing, interpreter will not work")
|
|
125
|
+
return state
|
|
126
|
+
|
|
127
|
+
def renderer(state, env):
|
|
128
|
+
raise NotImplementedError("To render the replay, please set the render mode to json or html")
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
dir_path = path.dirname(__file__)
|
|
132
|
+
json_path = path.abspath(path.join(dir_path, "lux_ai_s3.json"))
|
|
133
|
+
with open(json_path) as json_file:
|
|
134
|
+
specification = json.load(json_file)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def html_renderer():
|
|
138
|
+
html_path = path.abspath(path.join(dir_path, "index.html"))
|
|
139
|
+
return ("html_path", html_path)
|
|
140
|
+
|
|
141
|
+
agents = all_agents
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import dataclasses
|
|
2
|
-
import json
|
|
3
|
-
import math
|
|
4
|
-
import os
|
|
5
|
-
import random
|
|
6
|
-
import sys
|
|
7
|
-
from os import path
|
|
8
|
-
from .agents import all_agents
|
|
9
|
-
from sys import path as syspath
|
|
10
|
-
from os import path as osp
|
|
11
|
-
|
|
12
|
-
# next two lines enables importing local packages e.g. luxai_s3
|
|
13
|
-
__dir__ = osp.dirname(__file__)
|
|
14
|
-
syspath.append(__dir__)
|
|
15
|
-
import numpy as np
|
|
16
|
-
|
|
17
|
-
import copy
|
|
18
|
-
import json
|
|
19
|
-
def to_json(state):
|
|
20
|
-
if isinstance(state, np.ndarray):
|
|
21
|
-
return state.tolist()
|
|
22
|
-
elif isinstance(state, np.int64):
|
|
23
|
-
return state.tolist()
|
|
24
|
-
elif isinstance(state, list):
|
|
25
|
-
return [to_json(s) for s in state]
|
|
26
|
-
elif isinstance(state, dict):
|
|
27
|
-
out = {}
|
|
28
|
-
for k in state:
|
|
29
|
-
out[k] = to_json(state[k])
|
|
30
|
-
return out
|
|
31
|
-
else:
|
|
32
|
-
return state
|
|
33
|
-
prev_step = 0
|
|
34
|
-
luxenv = None
|
|
35
|
-
prev_obs = None
|
|
36
|
-
state_obs = None
|
|
37
|
-
default_env_cfg = None
|
|
38
|
-
def enqueue_output(out, queue):
|
|
39
|
-
for line in iter(out.readline, b''):
|
|
40
|
-
queue.put(line)
|
|
41
|
-
out.close()
|
|
42
|
-
|
|
43
|
-
def interpreter(state, env):
|
|
44
|
-
from luxai_s3.wrappers import LuxAIS3GymEnv, RecordEpisode
|
|
45
|
-
global luxenv, prev_obs, state_obs, default_env_cfg
|
|
46
|
-
player_0 = state[0]
|
|
47
|
-
player_1 = state[1]
|
|
48
|
-
# filter out actions such as debug annotations so they aren't saved
|
|
49
|
-
# filter_actions(state, env)
|
|
50
|
-
|
|
51
|
-
if env.done:
|
|
52
|
-
if "seed" in env.configuration:
|
|
53
|
-
seed = int(env.configuration["seed"])
|
|
54
|
-
else:
|
|
55
|
-
seed = math.floor(random.random() * 1e9);
|
|
56
|
-
env.configuration["seed"] = seed
|
|
57
|
-
|
|
58
|
-
luxenv = LuxAIS3GymEnv(numpy_output=True)
|
|
59
|
-
luxenv = RecordEpisode(luxenv, save_on_close=False, save_on_reset=False)
|
|
60
|
-
obs, info = luxenv.reset(seed=seed)
|
|
61
|
-
|
|
62
|
-
env_cfg_json = info["params"]
|
|
63
|
-
|
|
64
|
-
env.configuration.env_cfg = env_cfg_json
|
|
65
|
-
|
|
66
|
-
player_0.observation.player = "player_0"
|
|
67
|
-
player_1.observation.player = "player_1"
|
|
68
|
-
player_0.observation.obs = json.dumps(to_json(obs["player_0"]))
|
|
69
|
-
player_1.observation.obs = json.dumps(to_json(obs["player_1"]))
|
|
70
|
-
|
|
71
|
-
replay_frame = luxenv.serialize_episode_data(dict(
|
|
72
|
-
states=[luxenv.episode["states"][-1]],
|
|
73
|
-
metadata=luxenv.episode["metadata"],
|
|
74
|
-
params=luxenv.episode["params"]
|
|
75
|
-
))
|
|
76
|
-
# don't need to keep metadata/params beyond first step
|
|
77
|
-
player_0.info = dict(replay=replay_frame)
|
|
78
|
-
return state
|
|
79
|
-
|
|
80
|
-
new_state_obs, rewards, terminations, truncations, infos = luxenv.step({
|
|
81
|
-
"player_0": np.array(player_0.action["action"]),
|
|
82
|
-
"player_1": np.array(player_1.action["action"])
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
# cannot store np arrays in replay jsons so must convert to list
|
|
86
|
-
player_0.action = player_0.action["action"]
|
|
87
|
-
player_1.action = player_1.action["action"]
|
|
88
|
-
|
|
89
|
-
dones = dict()
|
|
90
|
-
for k in terminations:
|
|
91
|
-
dones[k] = terminations[k] | truncations[k]
|
|
92
|
-
|
|
93
|
-
player_0.observation.player = "player_0"
|
|
94
|
-
player_1.observation.player = "player_1"
|
|
95
|
-
|
|
96
|
-
player_0.observation.obs = json.dumps(to_json(new_state_obs["player_0"]))
|
|
97
|
-
player_1.observation.obs = json.dumps(to_json(new_state_obs["player_1"]))
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
player_0.reward = int(rewards["player_0"])
|
|
101
|
-
player_1.reward = int(rewards["player_1"])
|
|
102
|
-
|
|
103
|
-
player_0.observation.reward = int(player_0.reward)
|
|
104
|
-
player_1.observation.reward = int(player_1.reward)
|
|
105
|
-
replay_frame = luxenv.serialize_episode_data(dict(
|
|
106
|
-
states=[luxenv.episode["states"][-1]],
|
|
107
|
-
actions=[luxenv.episode["actions"][-1]],
|
|
108
|
-
metadata=luxenv.episode["metadata"],
|
|
109
|
-
params=luxenv.episode["params"]
|
|
110
|
-
))
|
|
111
|
-
# don't need to keep metadata/params beyond first step
|
|
112
|
-
del replay_frame["metadata"]
|
|
113
|
-
del replay_frame["params"]
|
|
114
|
-
player_0.info = dict(replay=replay_frame)
|
|
115
|
-
|
|
116
|
-
if np.all([dones[k] for k in dones]):
|
|
117
|
-
if player_0.status == "ACTIVE":
|
|
118
|
-
player_0.status = "DONE"
|
|
119
|
-
if player_1.status == "ACTIVE":
|
|
120
|
-
player_1.status = "DONE"
|
|
121
|
-
return state
|
|
122
|
-
|
|
123
|
-
def renderer(state, env):
|
|
124
|
-
raise NotImplementedError("To render the replay, please set the render mode to json or html")
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
dir_path = path.dirname(__file__)
|
|
128
|
-
json_path = path.abspath(path.join(dir_path, "lux_ai_s3.json"))
|
|
129
|
-
with open(json_path) as json_file:
|
|
130
|
-
specification = json.load(json_file)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
def html_renderer():
|
|
134
|
-
html_path = path.abspath(path.join(dir_path, "index.html"))
|
|
135
|
-
return ("html_path", html_path)
|
|
136
|
-
|
|
137
|
-
agents = all_agents
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.json
RENAMED
|
File without changes
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/chess/chess.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/halite.js
RENAMED
|
File without changes
|
|
File without changes
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/halite.py
RENAMED
|
File without changes
|
{kaggle-environments-1.16.5 → kaggle-environments-1.16.7}/kaggle_environments/envs/halite/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|