mettagrid 0.2.0.1__tar.gz → 0.2.0.2__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 mettagrid might be problematic. Click here for more details.
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/PKG-INFO +2 -2
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/bazel_build.py +2 -1
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/pyproject.toml +2 -2
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/grid.hpp +0 -27
- mettagrid-0.2.0.2/src/metta/mettagrid/util/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/util/file.py +25 -11
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/mettagrid.egg-info/PKG-INFO +2 -2
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/mettagrid.egg-info/SOURCES.txt +1 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/.bazelrc +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/BUILD.bazel +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/LICENSE +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/MANIFEST.in +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/MODULE.bazel +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/README.md +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/setup.cfg +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/action_handler.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/attack.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/change_color.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/change_glyph.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/get_output.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/move.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/noop.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/orientation.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/put_recipe_items.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/rotate.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/actions/swap.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/builder/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/builder/building.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/builder/empty_converters.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/builder/envs.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/char_encoder.py +0 -0
- /mettagrid-0.2.0.1/src/metta/mettagrid/mapgen/__init__.py → /mettagrid-0.2.0.2/src/metta/mettagrid/config/config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/core.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/episode_stats_db.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/event.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/grid_object.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/grid_object_formatter.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/gym_env.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/gym_wrapper.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/hash.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/ascii.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/map_builder.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/maze.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/perimeter_incontext.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/random.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/utils.py +0 -0
- {mettagrid-0.2.0.1/src/metta/mettagrid/objects → mettagrid-0.2.0.2/src/metta/mettagrid/mapgen}/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/load.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/mapgen.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/mapgen_ascii.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/random/float.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/random/int.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/ascii.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/auto.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/bsp.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/convchain.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/copy_grid.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/grid_altars.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/inline_ascii.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/layout.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/make_connected.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/maze.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/mean_distance.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/mirror.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/multi_left_and_right.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/nop.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/radial_maze.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_dcss_scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_objects.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_yaml_scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/remove_agents.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/room_grid.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/spiral.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/transplant_scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/varied_terrain.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/wfc.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/yaml.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/tools/dcss_import.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/tools/gen.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/tools/gen_scene.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/tools/view.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/types.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/ascii_grid.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/draw.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/make_scene_config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/pattern.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/s3utils.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/show.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/storable_map.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/storable_map_index.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/thumbnail.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_c.cpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_c.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_c.pyi +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_c_config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_config.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mettagrid_env.py +0 -0
- {mettagrid-0.2.0.1/src/metta/mettagrid/util → mettagrid-0.2.0.2/src/metta/mettagrid/objects}/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/agent.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/agent_config.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/constants.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/converter.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/converter_config.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/has_inventory.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/production_handler.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/objects/wall.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/observation_encoder.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/packed_coordinate.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/profiling/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/profiling/memory_monitor.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/profiling/stopwatch.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/profiling/system_monitor.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/puffer_base.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/py.typed +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/renderer/hermes.cpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/renderer/hermes.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/renderer/hermes.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/renderer/miniscope.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/renderer/nethack.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/replay_writer.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/stats_tracker.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/stats_writer.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/__init__.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/actions.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/mapgen.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/observation_helper.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/orientation.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/token_types.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/types.hpp +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/util/debug.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/util/dict_utils.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/util/diversity.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/util/module.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/mettagrid.egg-info/dependency_links.txt +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/mettagrid.egg-info/requires.txt +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/mettagrid.egg-info/top_level.txt +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_action_compatibility.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_actions.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_attack_resource_exception.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_buffer_reuse.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_buffers.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_converter.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_diversity.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_env_config_serialization.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_env_map.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_forbidden_imports.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_gdrive.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_global_obs_config.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_global_observations.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_global_reward_observations.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_gym_env.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_interactive.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_leaks.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_mettagrid.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_move.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_new_env_hierarchy.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_observations.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_pettingzoo_env.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_pufferlib_integration.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_resource_loss.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_rewards.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_rotate.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_stats_rewards.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_stats_writer.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_swap.py +0 -0
- {mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/tests/test_visitation_counts.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mettagrid
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.2
|
|
4
4
|
Summary: A fast grid-based open-ended MARL environment
|
|
5
5
|
Author-email: David Bloomin <daveey@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://daveey.github.io
|
|
8
8
|
Project-URL: Repository, https://github.com/Metta-AI/mettagrid
|
|
9
9
|
Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
|
|
10
|
-
Requires-Python:
|
|
10
|
+
Requires-Python: <3.12,>=3.11
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: boto3>=1.38.32
|
|
@@ -46,11 +46,12 @@ def _run_bazel_build() -> None:
|
|
|
46
46
|
else:
|
|
47
47
|
config = "dbg" if debug else "opt"
|
|
48
48
|
|
|
49
|
-
# Build the Python extension
|
|
49
|
+
# Build the Python extension with auto-detected parallelism
|
|
50
50
|
cmd = [
|
|
51
51
|
"bazel",
|
|
52
52
|
"build",
|
|
53
53
|
f"--config={config}",
|
|
54
|
+
"--jobs=auto",
|
|
54
55
|
"--verbose_failures",
|
|
55
56
|
"//:mettagrid_c",
|
|
56
57
|
]
|
|
@@ -5,10 +5,10 @@ backend-path = ["."]
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "mettagrid" # Do not change! Has to be 'mettagrid' for our PyPi package
|
|
8
|
-
version = "0.2.0.
|
|
8
|
+
version = "0.2.0.2"
|
|
9
9
|
description = "A fast grid-based open-ended MARL environment"
|
|
10
10
|
authors = [{ name = "David Bloomin", email = "daveey@gmail.com" }]
|
|
11
|
-
requires-python = "
|
|
11
|
+
requires-python = ">=3.11,<3.12"
|
|
12
12
|
license = "MIT"
|
|
13
13
|
readme = "README.md"
|
|
14
14
|
urls = { Homepage = "https://daveey.github.io", Repository = "https://github.com/Metta-AI/mettagrid" }
|
|
@@ -69,15 +69,6 @@ public:
|
|
|
69
69
|
return true;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
inline bool ghost_add_object(GridObject* obj) {
|
|
73
|
-
if (!is_valid_location(obj->location)) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
obj->id = static_cast<GridObjectId>(this->objects.size());
|
|
77
|
-
this->objects.push_back(std::unique_ptr<GridObject>(obj));
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
72
|
// Removes an object from the grid and gives ownership of the object to the caller.
|
|
82
73
|
// Since the caller is now the owner, this can make the raw pointer invalid, if the
|
|
83
74
|
// returned unique_ptr is destroyed.
|
|
@@ -104,24 +95,6 @@ public:
|
|
|
104
95
|
return true;
|
|
105
96
|
}
|
|
106
97
|
|
|
107
|
-
// Force move an object to a location without it being registered in the grid at the new location
|
|
108
|
-
inline bool ghost_move_object(GridObjectId id, const GridLocation& loc) {
|
|
109
|
-
if (!is_valid_location(loc)) {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
GridObject* obj = object(id);
|
|
114
|
-
if (!obj) {
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Remove the object from its current location
|
|
119
|
-
grid[obj->location.r][obj->location.c][obj->location.layer] = 0;
|
|
120
|
-
|
|
121
|
-
obj->location = loc;
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
98
|
inline void swap_objects(GridObjectId id1, GridObjectId id2) {
|
|
126
99
|
GridObject* obj1 = object(id1);
|
|
127
100
|
GridObject* obj2 = object(id2);
|
|
File without changes
|
|
@@ -34,7 +34,6 @@ from wandb.errors import CommError
|
|
|
34
34
|
# Globals #
|
|
35
35
|
# --------------------------------------------------------------------------- #
|
|
36
36
|
|
|
37
|
-
WANDB_ENTITY: str = os.getenv("WANDB_ENTITY", "metta-research")
|
|
38
37
|
GOOGLE_DRIVE_CREDENTIALS_FILE: str = os.getenv("GOOGLE_DRIVE_CREDENTIALS_FILE", "~/.config/gcloud/credentials.json")
|
|
39
38
|
GOOGLE_DRIVE_TOKEN_FILE: str = os.getenv("GOOGLE_DRIVE_TOKEN_FILE", "~/.config/gcloud/token.json")
|
|
40
39
|
|
|
@@ -256,6 +255,7 @@ def is_public_uri(url: str | None) -> bool:
|
|
|
256
255
|
class WandbURI:
|
|
257
256
|
"""Parsed representation of a W&B artifact URI."""
|
|
258
257
|
|
|
258
|
+
entity: str
|
|
259
259
|
project: str
|
|
260
260
|
artifact_path: str
|
|
261
261
|
version: str = "latest"
|
|
@@ -273,26 +273,40 @@ class WandbURI:
|
|
|
273
273
|
path_part, version = body, "latest"
|
|
274
274
|
|
|
275
275
|
if "/" not in path_part:
|
|
276
|
-
raise ValueError("Malformed W&B URI – expected wandb
|
|
276
|
+
raise ValueError("Malformed W&B URI – expected wandb://entity/project/artifact:version")
|
|
277
|
+
|
|
278
|
+
parts = path_part.split("/")
|
|
279
|
+
|
|
280
|
+
if len(parts) >= 3:
|
|
281
|
+
entity = parts[0]
|
|
282
|
+
project = parts[1]
|
|
283
|
+
artifact_path = "/".join(parts[2:])
|
|
284
|
+
elif len(parts) == 2:
|
|
285
|
+
# 2-part format: use WANDB_ENTITY if set; otherwise default to 'metta-research'
|
|
286
|
+
# Note: Do not import from metta.* here; mettagrid must remain decoupled.
|
|
287
|
+
project = parts[0]
|
|
288
|
+
artifact_path = parts[1]
|
|
289
|
+
entity = os.getenv("WANDB_ENTITY", "metta-research")
|
|
290
|
+
else:
|
|
291
|
+
raise ValueError("Malformed W&B URI – expected wandb://entity/project/artifact:version")
|
|
277
292
|
|
|
278
|
-
project
|
|
279
|
-
|
|
280
|
-
raise ValueError("Artifact path must be non-empty")
|
|
293
|
+
if not project or not artifact_path:
|
|
294
|
+
raise ValueError("Project and artifact path must be non-empty")
|
|
281
295
|
|
|
282
|
-
return cls(project, artifact_path, version)
|
|
296
|
+
return cls(entity, project, artifact_path, version)
|
|
283
297
|
|
|
284
298
|
# ---------- helpers ---------- #
|
|
285
299
|
def qname(self) -> str:
|
|
286
300
|
"""`entity/project/artifact_path:version` – accepted by `wandb.Api().artifact()`."""
|
|
287
|
-
return f"{
|
|
301
|
+
return f"{self.entity}/{self.project}/{self.artifact_path}:{self.version}"
|
|
288
302
|
|
|
289
303
|
def http_url(self) -> str:
|
|
290
304
|
"""Human-readable URL for this artifact version."""
|
|
291
|
-
return f"https://wandb.ai/{
|
|
305
|
+
return f"https://wandb.ai/{self.entity}/{self.project}/artifacts/{self.artifact_path}/{self.version}"
|
|
292
306
|
|
|
293
307
|
# pretty print
|
|
294
308
|
def __str__(self) -> str: # noqa: D401 (keep dunder)
|
|
295
|
-
return f"wandb://{self.project}/{self.artifact_path}:{self.version}"
|
|
309
|
+
return f"wandb://{self.entity}/{self.project}/{self.artifact_path}:{self.version}"
|
|
296
310
|
|
|
297
311
|
|
|
298
312
|
def upload_bytes_to_wandb(uri: WandbURI, blob: bytes, name: str) -> None:
|
|
@@ -306,7 +320,7 @@ def upload_bytes_to_wandb(uri: WandbURI, blob: bytes, name: str) -> None:
|
|
|
306
320
|
|
|
307
321
|
|
|
308
322
|
@contextmanager
|
|
309
|
-
def wandb_export_context(project: str, entity: str
|
|
323
|
+
def wandb_export_context(project: str, entity: str) -> wandb.Run:
|
|
310
324
|
"""
|
|
311
325
|
Context manager that ensures a wandb run exists for artifact exports.
|
|
312
326
|
TODO: Remove this after switching to using wandb_context
|
|
@@ -376,7 +390,7 @@ def upload_file_to_wandb(uri, local_file: str, name: str) -> None:
|
|
|
376
390
|
)
|
|
377
391
|
|
|
378
392
|
try:
|
|
379
|
-
with wandb_export_context(uri.project,
|
|
393
|
+
with wandb_export_context(uri.project, uri.entity) as run:
|
|
380
394
|
# Create and log the artifact
|
|
381
395
|
artifact = wandb.Artifact(uri.artifact_path, type="file")
|
|
382
396
|
artifact.add_file(local_file, name=name)
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mettagrid
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.2
|
|
4
4
|
Summary: A fast grid-based open-ended MARL environment
|
|
5
5
|
Author-email: David Bloomin <daveey@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://daveey.github.io
|
|
8
8
|
Project-URL: Repository, https://github.com/Metta-AI/mettagrid
|
|
9
9
|
Keywords: gridworld,minigrid,rl,reinforcement-learning,environment,gym
|
|
10
|
-
Requires-Python:
|
|
10
|
+
Requires-Python: <3.12,>=3.11
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
13
|
Requires-Dist: boto3>=1.38.32
|
|
@@ -50,6 +50,7 @@ src/metta/mettagrid/builder/__init__.py
|
|
|
50
50
|
src/metta/mettagrid/builder/building.py
|
|
51
51
|
src/metta/mettagrid/builder/empty_converters.py
|
|
52
52
|
src/metta/mettagrid/builder/envs.py
|
|
53
|
+
src/metta/mettagrid/config/config.py
|
|
53
54
|
src/metta/mettagrid/map_builder/__init__.py
|
|
54
55
|
src/metta/mettagrid/map_builder/ascii.py
|
|
55
56
|
src/metta/mettagrid/map_builder/map_builder.py
|
|
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
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/map_builder/perimeter_incontext.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
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/multi_left_and_right.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_dcss_scene.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/random_yaml_scene.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/scenes/transplant_scene.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
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/make_scene_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/mapgen/utils/storable_map_index.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
|
{mettagrid-0.2.0.1 → mettagrid-0.2.0.2}/src/metta/mettagrid/test_support/observation_helper.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
|