发布说明¶
PettingZoo 1.25.0¶
发布于 2025-04-22 - GitHub - PyPI
PettingZoo 1.25.0 发布说明
在此 PettingZoo 版本中,我们引入了对 python 3.12
、gymnasium>=1.0.0
和 agilerl>=2.0.0
的支持。我们已弃用 python 3.8
,并添加了警告,为将来在后续版本中将 MPE 环境转移到 MPE2 包做准备。
自 2024 年 1 月发布上一版本以来,我们一直致力于实现错误修复。
PettingZoo 1.25.0 与 Supersuit 的新版本同时发布。
重大变更
- 类
agent_selector
已重命名为AgentSelector
(#1194)。 - 不再支持 Python 3.8 (#1246)。
- 将 gymnasium 更新至 >=1.0.0 (#1272)。
- AgileRL 教程更新至版本 2.0.0 (#1258)。
新特性和改进
- 从 tictactoe 中移除了未使用的 ansi 渲染代码 (#1171)。
- 添加了与 pytest 版本 8 的兼容性 (#1177)。
- 移除了 Maze Craze 中不必要的警告 (#1164)。
- 在 README 中添加了关于必要 Linux 包的注释 (#1191)。
- 更新了 third_party_envs.md (#1201)。
- 更新了 TicTacToe 环境 (#1192)。
- 在 MPE simple 环境中添加了半径重缩放 (#1213)。
- 在
third_party_envs
中添加了易于安装的 gfootball 环境,以及带有 pettingzoo api 的 SMAC 和 SMACv2 (#1217)。 - 将 Box Jump 添加到第三方环境 (#1276)。
- 已启用对 python 3.12 的支持 (#1226)。
- 移除了 RLCard 环境中的重复代码 (#1282)。
- 在 MPE 导入中添加了弃用警告 (#1280)。
错误修复
- 修复了来自 pytest 的约 30,000 个警告 (#1157)。
- 修复了 Pyright 升级问题 (#1166)。
- 修复了
custom_environment.index.md
中 parallel API 链接的拼写错误 (#1183)。 - 修复了 MacOS pygame
no hardware accelerated device
错误 (#1190)。 - 修复了用于处理嵌套观测字典的测试 (#1172)。
- 修复了与 inline LaTeX 一起渲染不正确的图像 (#1198)。
- 修复了 SB3 教程 ActionMask 中的错误 (#1203)。
- 修复了 TerminateIllegalWrapper 错误 (#1206)。
- 修复了 Order enforcing wrapper 错误 (#1205)。
- 修复了 CustomActionMaskedEnvironment 类的渲染函数中的错误 (#1239)。
- 修复了 connect_four 的损坏测试 (#1243)。
- 修复了用于构建文档的 Github Workflow (#1268)。
- 修复了 Pyright 类型错误 (#1270)。
- 修复了 AgileRL 教程 CI/CD workflow (#1275)。
- 通过修复 RNG 种子设置,使 AECEnv/ParallelEnv rps 示例变为确定性 (#1277)。
- 库中使用的项目之前没有明确导出,现在已导出 (#1283)。
- 修复了 build-publish workflow (#1293)。
文档更新
- 更正了 parallel_rps 文档示例中的观测类型 (#1170)。
- 更正了 simple_adversary.py 中的观测空间文档 (#1189)。
- 更新了 Simple World Comm 中观测格式的文档 (#1212)。
- 修复了 Tianshou 教程中的失效链接 (#1214)。
- 修复了 waterworld 描述中交换的颜色 (#1210)。
- 移除了“关于 AEC”中一个错误的段落 (#1247)。
- 更新了 PistonBall 文档 (#1245)。
- 修复文档以正确匹配/显示 Pong 的正确环境 (#1257)。
- AgileRL 教程文档更新至版本 2.0.0 (#1258)。
- 在 MPE 文档中添加了弃用警告 (#1280)。
新贡献者
- @dm-ackerman 在 #1157 中做出了首次贡献
- @mikepratt1 在 #1196 中做出了首次贡献
- @JorasOliveira 在 #1201 中做出了首次贡献
- @pandyah5 在 #1212 中做出了首次贡献
- @ajmeek 在 #1214 中做出了首次贡献
- @Zoraiyo 在 #1210 中做出了首次贡献
- @xihuai18 在 #1217 中做出了首次贡献
- @florin-pop 在 #1218 中做出了首次贡献
- @mariojerez 在 #1239 中做出了首次贡献
- @MatthewSbar 在 #1234 中做出了首次贡献
- @Tanmay692004 在 #1256 中做出了首次贡献
- @ema-pe 在 #1247 中做出了首次贡献
- @yjhan96 在 #1263 中做出了首次贡献
- @anordin95 在 #1245 中做出了首次贡献
- @kuds 在 #1257 中做出了首次贡献
- @zzbuzzard 在 #1276 中做出了首次贡献
完整更新日志: 1.24.3...1.25.0
PettingZoo 1.24.3¶
发布于 2024-01-18 - GitHub - PyPI
PettingZoo 1.24.3 发布说明
这是一个次要版本,包含一些小的错误修复、改进和文档更新。最值得注意的是,我们在 multiwalker 环境中添加了一个 state
函数,并修复了一个导致包装器清除底层环境自定义属性的错误,详情请参见 #1140。
我们还添加了一个字典,用于映射每个环境类型下的环境名称到环境模块,可以通过以下方式访问:from pettingzoo.mpe import mpe_environments
。这些映射组合起来生成所有环境的列表:from pettingzoo.utils.all_modules import all_environments
,两个映射都包含例如 mpe/simple_adversary_v3
这样的键。更多信息请参见 #1155。
新特性和改进
- feature/提供对 wrapped 属性的访问 (#1140)
- 向 multiwalker 添加 state 函数 (#1149)
- 除了
all_environments
之外,添加了从环境名称到环境模块的映射(例如,mpe_environments
)(#1155)
错误修复
文档更新
- 将 MATS Gym 添加到第三方环境列表 (#1152)
- 修复 check_for_winner 的注释 (#1148)
- 在 README.md 的教程列表中包含 AgileRL 教程 (#1137)
- 在带有方括号的 pip install 参数周围添加了单引号 (#1153)
- 在所有 pip install extras 周围添加单引号 (#1154)
贡献者
此版本包含以下贡献者的贡献:@elliottower, @ffelten, @axelbr, @shahofblah, @helpingstar 和 @nicku-a
非常感谢我们的贡献者以及许多过去的贡献者,他们使这一切成为可能。我们还要感谢所有帮助提供错误报告或功能建议的人,这对我们的开发至关重要。我们始终欢迎新的贡献者,如果您有兴趣,请加入我们的 Discord 服务器:https://discord.gg/nhvKkYa6qX
完整更新日志: 1.24.2...1.24.3
PettingZoo 1.24.2¶
发布于 2023-11-16 - GitHub - PyPI
PettingZoo 1.24.2 发布说明
此版本包含来自 AgileRL 的三个新教程,以及许多错误修复、测试改进和文档更新。
新特性和改进
- AgileRL 教程:MATD3、MADDPG 和 DQN 自博弈/课程学习 (#1086, #1124, #1128)
- 这些现在是我们性能最高且积极维护的教程,如有疑问/故障排除,请访问 AgileRL discord
- 为 AEC 和 parallel 环境添加多回合包装器 (#1105)
- 例如,这可用于评估多轮德州扑克的比赛结果,而非单手牌局的结果
错误修复
- 检查所有环境的
parallel_seed_test
,修复seed_test
以实际使用num_cycles
参数 (#1088) - 修复 hanabi 在
env.step()
时不渲染的问题,清理代码 (#1087) - 清理 parallel_api_test (#1095)
- 更新 CONTRIBUTING.md 以包含测试要求 (#1097)
- 更新 parallel_test.py 以支持 Ray RLLib MultiAgentEnv (#1096)
- 修复 RLCard 环境的错误:渲染帧率,黑屏闪烁 (#1103)
- 允许 parallel 环境在 info/obs 字典中包含其他可选键(例如,“common”)(#1110)
- 移除了无用变量 + macOS pygame 修复 (#1107)
- 将 Ray 教程更新至 RLlib 2.7.0 (#1112)
- 更改 AEC
last()
断言agent is not None
,以考虑非字符串 AgentID (#1120) - 修复 simple_reference docstring 拼写错误,修复 workflow 默认使用 python 3.11 (#1128)
- 修复 TerminateIllegal wrapper 索引空 info 字典的 minor bug (#1129)
- 修复了 MPE 环境的渲染错误 (#1130)
- 修复 SB3 教程中的智能体索引错误 (#1133)
- 修复 seed test 使其适用于 info 中的 action_mask,添加测试以确保 info action masking 工作正常 (#1134)
- 修复 generated_agents 自定义 AgentID 测试中的错误 (#1135)
文档更新
贡献者
此版本包含以下贡献者的贡献:@elliottower, @nicku-a, @mikepratt1, @xixinzhang, @umutucak, @jjshoots, @chrisyeh96, @Fernadoo, 和 @Kchour
非常感谢我们的贡献者以及许多过去的贡献者,他们使这一切成为可能。我们还要感谢所有帮助提供错误报告或功能建议的人,这对我们的开发至关重要。我们始终欢迎新的贡献者,如果您有兴趣,请加入我们的 Discord 服务器:https://discord.gg/nhvKkYa6qX
完整更新日志: 1.24.1...1.24.2
PettingZoo 1.24.1¶
发布于 2023-09-04 - GitHub - PyPI
PettingZoo 1.24.1 发布说明
这是一个热修复版本,旨在修复由于无意的 typevar 删除导致的与 Shimmy 的兼容性问题。
其他更改包括:对 knights_archers_zombies
环境进行了小的修复,改进了 CI 测试(包括使用 pytest-xdist 利用并行化),以及使用 pytest-markdown-docs 进行了新的文档测试,确保我们文档中的每个代码块都能成功运行——包括环境使用脚本。
环境创建文档也得到了改进,变得更加对初学者友好。为了避免与“入门”部分的“环境创建”页面混淆,“环境创建教程”也已重命名为“自定义环境教程”。
错误修复
- 将 ObsDict 和 ActionDict 添加回 env.py (#1077)
- 这些定义在上一个版本中被错误地移除了,对此造成的不便表示歉意
- 修复
knights_archers_zombies
的渲染帧率和手动控制脚本 (#1080) - 清理重复的 python 测试,添加额外的参数组合测试 (#1074)
文档更新
完整更新日志: 1.24.0...1.24.1
PettingZoo 1.24.0¶
发布于 2023-08-22 - GitHub - PyPI
PettingZoo 1.24.0 发布说明
此版本包括对 Python 3.11 的支持,对 Classic 环境的许多更新(包括更新的 Chess 和 Hanabi 环境版本,以及所有 RLCard 环境的渲染),以及许多错误修复、测试扩展和文档更新。
我们还很高兴地宣布了 Stable-Baselines3 的 3 个教程,更新了 #1051 RLlib 教程,以及一个更新的 CleanRL 多智能体 Atari 教程,其中包括 WandB 和 TensorBoard 集成。
为了使此版本成为可能,我们同时发布了 SuperSuit 3.9.0 和 Shimmy 1.2.0,分别修复了 Stable-Baselines3 和 OpenSpiel 的兼容性问题。
重大变更
- 不再支持 Python 3.7,因其已达到生命周期终点(链接)
- 我们已弃用
chess_v5
,转而支持更新的chess_v6
- 我们已弃用
hanabi_v4
,转而支持hanabi_v5
新特性和改进
- 支持 Python 3.11 (#1029)
- 允许使用非
str
类型的 AgentID (#1071)- 现在可以使用整数等其他类型作为 AgentID
- 添加 Stable-Baselines3 教程 (#1015, #1017),包含以下示例:
- 带有视觉观测的矢量化环境(Knights, Archers, Zombies)
- 带有非视觉观测的矢量化环境(Waterworld)
- 带有非法动作遮蔽观测的环境(Connect Four)
- 添加更新的 CleanRL 多智能体 Atari 示例 (#1033)
- 已适配与 Gymnasium 和当前的 PettingZoo/SuperSuit 一起使用
- 带有 CLI/日志记录以及与 WandB 和 TensorBoard 集成的完整训练脚本
- 将 Chess 更新至 v6
- 将 Hanabi 更新至 v5
- 现在依赖于 Shimmy 的 OpenSpielCompatibility 包装器 (#948)
- OpenSpiel 经过了更好的测试,由于 C++ 实现而具有卓越的性能,并移除了对未维护的 Hanabi Learning Environment 的依赖
- 两年多来的首次更新,修复了大量问题并提升至当前的编码标准
- 添加 Gin Rummy、Leduc Holdem 和 Tic-Tac-Toe 的渲染功能 (#1054)
- 调整 AssertOutOfBounds 包装器,使其适用于所有环境,而非仅离散环境 (#1046)
- 添加额外的 pre-commit 钩子,doctests 以匹配 Gymnasium (#1012)
错误修复
- 修复 Pistonball 仅在
render_mode
非 None 时进行渲染 (#1014) - 修复 Connect Four 终止后不切换到下一个智能体的问题 (#1020)
- 修复 classic 环境屏幕尺寸,添加类型提示,修复 pre-commit (#998)
- 修复所有环境以正确帧率渲染,清理 pygame 代码 (#999)
- 修复 SB3 教程的 SuperSuit 集成 (#1031)
- 将 CleanRL 教程的要求更新至最新的 SuperSuit/PettingZoo 版本 (#1019)
- 将 RLlib 教程的要求更新至最新的 SuperSuit/PettingZoo 版本 (#1018)
- 修复 Waterworld 文档中的拼写错误 (#1058)
文档更新
- 自动为每个环境添加可用的使用示例 (#1057)
- 显著扩展 AEC 和 Parallel API 文档,并与 EFG/POSG 进行比较 (#1041, #1055)
- 启用 doctesting 以确保 docstring 代码示例正确 (#1016)
- 更新环境演示和环境 GIF (#993, #1011)
- 修复 Tianshou 教程中的拼写错误 (#994)
- 更新和扩展 Chess 文档 (#1002, #1003, #1013)
- 更新文档网站的 Chess GIF,使用当前版本和像素艺术代替 ASCII 艺术 (#1010)
- 向 README 添加 pre-commit 和 code style black 徽章 (#1024)
- 添加第三方环境:使用 HuggingFace Spaces 的 Interactive Connect Four (#1034)
- 修复 parallel 环境文档中的拼写错误 (#1047, #1045)
- 修复环境创建教程中的拼写错误 (#1036, #1037, #1038)
贡献者
此版本包含以下贡献者的贡献:@elliottower, @DmytroIvasiuk, @jacob975, @dylwil3, @Jammf, @Bamboofungus, @BertrandDecoster, @murtazarang 和 @pimpale。
非常感谢我们的贡献者以及许多过去的贡献者,他们使这一切成为可能。我们还要感谢所有帮助提供错误报告或功能建议的人,这对我们的开发至关重要。我们始终欢迎新的贡献者,如果您有兴趣,请加入我们的 Discord 服务器:https://discord.gg/nhvKkYa6qX
完整更新日志: 1.23.1...1.24.0
PettingZoo 1.23.1¶
发布于 2023-05-24 - GitHub - PyPI
PettingZoo 1.23.1 发布说明
这是一个小的热修复版本,旨在修复与 Shimmy 的兼容性问题以及其他一些小错误。
错误修复
- 修复 API 测试
test_action_flexibility()
中的错误 (#986)- 修复 Shimmy OpenSpiel 包装器的测试
- 移除
ParrellEnv.seed()
(#987) - 更新 RLlib 依赖项 (#992)
- 注意:RLlib 的 PettingZoo 包装器目前损坏,但将在 ray-project/ray#34696 和 ray-project/ray#32999 中修复
文档更新
- 在主页上添加有关 aec 和 parallel API 的信息 (#985)
- 创建 CITATION.cff (#990)
- 在 third_party_envs.md 中添加了 Carla gym (#991)
完整变更日志: 1.23.0...1.23.1
PettingZoo 1.23.0¶
发布于 2023-05-15 - GitHub - PyPI
PettingZoo 1.23.0 发布说明
此版本完成了将 PettingZoo API 标准化以完全匹配 Gymnasium 的过程。已弃用的 env.seed()
方法已被移除,取而代之的是 env.reset(seed=seed)
,并且 reset()
中的 return_info
参数已被移除——现在 info 总是会在重置时返回。
新功能包括使用 Pickle 进行序列化的全面支持,以及更新的测试:pickle tests、improved API test 和 re-written seed test(与 Gymnasium 匹配)。库也已更新为使用 pyproject.toml
,以使安装更一致可靠,并符合 PEP 621 标准。
此版本包含重要的文档更新:每种环境类型的完整安装和使用示例(Atari、Butterfly、Classic、MPE、SISL),9 个以上新增的第三方环境,新的动作掩码文档,新的LangChain 教程,更新了CleanRL、Tianshou 和 RLlib 教程,以及更多内容。
重大变更
为了确保 PettingZoo 和 Gymnasium API 之间的完全一致性,进行了以下更改
已弃用的环境 seed()
方法已被完全移除。
- 要设置环境种子,请调用
env.reset(seed=0)
return_info
参数已从 reset()
函数中移除。
- 调用
reset()
现在将始终返回observation
和info
。
新特性和改进
- 现在可以使用
observation[action_mask]
或info[action_mask]
支持动作掩码,并提供文档和示例 (#953) - 用 pyproject.toml 替换 setup.py (#875)
- 从
reset()
中移除return_info
参数 (#890) - 为 utils 和 base 环境添加类型提示 (#964)
- 添加
aec_wrapper_fn
以匹配parallel_wrapper_fn
(#879) - 更新 SISL Waterworld 环境以增加最大加速度,实现更平滑的行为 (#882)
- 更新 MPE simple_spread 智能体奖励 (#894),更新所有 MPE 环境以在速度更新之前更新位置,与原始论文一致 (#970)
错误修复
- 重命名
BaseParallelWraper
为BaseParallelWrapper
(修正拼写错误) (#876, #908) - 移除了 parallel_to_aec 转换中将动作转换为 int 的操作 (#975)
- 修复损坏的 Tianshou 教程并更新依赖项 (#980)
- 修复 MPE 环境在使用
rgb_array
模式时渲染黑屏的问题 (#874) - 修复 GitHub 工作流程中失败的 CI 测试 (#886)
- 使用 pre-commit 钩子修复轻微的 linting 问题 (#835)
- 解决了大量的 pytest 警告 (#897)
- 删除 MPE 代码中不必要的行 (#891)
- 更新 Tianshou 和 CleanRL 教程以配合新的 API 更改 (#984)
文档更新
- 添加每种环境类型的完整安装和使用示例 (#906)
- 更新第三方环境,新增两个自定义棋盘游戏环境 (gobblet-rl 和cathedral-rl) (#907)
- 添加包装器的完整文档(包括 Shimmy 兼容性包装器) (#904, #942)
- 添加 LangChain 教程 (#979)
- 更新了 EnvironmentCreation 教程 (#903, #972)
- 更新了 Tianshou 教程 (#980)
- 更新 README,包含入门信息 (#950)
- 在入门文档页面添加安装说明 (#968)
- 更新 docs contributing README (#883)
- 更新主页以包含演示环境的视频,清理主页文本,添加标志 (#954, #960)
完整变更日志: 1.22.3...1.23.0
1.22.4¶
发布于 2023-03-20 - GitHub - PyPI
此版本因 API 更改而被撤回。我们正在努力在下个版本中解决此问题。
更改内容
错误修复
- 通过 @pseudo-rnd-thoughts 修复 CI 问题,参见 #886
- 修复 pre-commit 钩子 @jjshoots,参见 #835
- 通过 @reginald-mclean 修复警告,参见 #897
- 修复拼写错误:BaseParallelWraper 重命名为 BaseParallelWrapper,通过 @mikcnt,参见 #876,以及通过 @jjshoots,参见 #908
- 修复:MPE 环境在 rgb_array 模式下渲染黑屏问题,通过 @cibeah,参见 #874
- 移除 MPE 中不必要的行,通过 @sushant1212,参见 #891
- 新特性和改进
- 用 pyproject.toml 替换 setup.py,通过 @jjshoots,参见 #875
- 从
reset()
中移除return_info
参数,通过 @jjshoots,参见 #890 - 破坏性更改:调用
reset(return_info=True)
现在将抛出错误 - 与 Gymnasium 匹配所做更改 (链接)
- 添加 aec_wrapper_fn,通过 @Kallinteris-Andreas,参见 #879
- Waterworld 增加最大加速度,通过 @jjshoots,参见 #882
- 更新 MPE simple_spread 智能体奖励,通过 @sushant1212,参见 #894
文档更新
- 添加一个新的 CONTRIBUTING.md 用于文档,通过 @mgoulao,参见 #883
- 添加每种环境类型的使用示例,通过 @elliottower,参见 #906
- 更新 third_party_envs.md,通过 @elliottower,参见 #907
- 向文档网站添加更新的 favicon,通过 @mgoulao,参见 #880
- 修复 EnvironmentCreation 教程中的拼写错误,通过 @elliottower,参见 #903
完整变更日志: 1.22.3...1.22.4
1.22.3¶
发布于 2022-12-28 - GitHub - PyPI
更改内容
- Waterworld_v4: 修复添加奖励时选择了错误的追捕者,通过 @TheMikeste1,参见 #855
- 从环境页面移除 AEC 图表,通过 @mgoulao,参见 #856
- 添加关于 MAgent2 独立包的信息,通过 @dsctt,参见 #857
- 将 flake8 从 gitlab 切换到 github,通过 @RedTachyon,参见 #858
- 工作流程修复,通过 @WillDudley,参见 #867
- 版本控制,通过 @mgoulao,参见 #865
- 在 /tutorials/Ray 中将 pillow 从 9.2.0 升级到 9.3.0,通过 @dependabot,参见 #859
- https://github.com/Farama-Foundation/PettingZoo/security/dependabot/3,通过 @WillDudley,参见 #869
- 包装器文档:从 utils.conversions 获取
to_parallel
,通过 @AndrewRWilliams,参见 #870 - 支持 Python 3.11,通过 @WillDudley,参见 #872
新贡献者
- @TheMikeste1 在 #855 中做出了首次贡献
- @dependabot 在 #859 中做出了首次贡献
- @AndrewRWilliams 在 #870 中做出了首次贡献
完整变更日志: 1.22.2...1.22.3
1.22.2¶
发布于 2022-11-11 - GitHub - PyPI
更改内容
- 修复 Issue #840,通过 @BolunDai0216,参见 #841
- 修复 #845,通过 @WillDudley,参见 #846
- 添加 GitHub Issue Forms,如 #844 中所提议,通过 @tobirohrer,参见 #848
- 更改 Waterworld 中的奖励逻辑,通过 @BolunDai0216,参见 #843
- 增强:为 chess 添加 gui,通过 @younik,参见 #842
- 更改 parallel api 循环的范例,通过 @WillDudley,参见 #847
- 移除 magent 文档遗留文件,通过 @dsctt,参见 #850
- 修复 tianshou 教程,通过 @WillDudley,参见 #852
- 全面修改环境创建指南,通过 @WillDudley,参见 #838
- 修复:在 tianshou 教程中设置 render_mode (#853),通过 @RaffaeleGalliera,参见 #854
新贡献者
- @tobirohrer 在 #848 中做出了首次贡献
- @RaffaeleGalliera 在 #854 中做出了首次贡献
完整变更日志: 1.22.1...1.22.2
1.22.1¶
发布于 2022-10-25 - GitHub - PyPI
更改内容
- Docs Update 2,通过 @mgoulao,参见 #817
- 从环境页面移除平均总奖励,通过 @mgoulao,参见 #821
- 将 core 重命名为 AEC,通过 @mgoulao,参见 #822
- 添加 Google Analytics 标签,通过 @mgoulao,参见 #825
- 移除 MAgent 内容,通过 @dsctt,参见 #823
- 通过 @jjshoots 更新 setup 和其他内容,参见 #829
- Wd/tutorials ci,通过 @WillDudley,参见 #831
- 更新标志、favicon 并修复损坏的链接,通过 @mgoulao,参见 #832
- Wd/tutorials ci,通过 @WillDudley,参见 #833
- Issue #818 的错误修复,通过 @BolunDai0216,参见 #836
- 更新文档,通过 @mgoulao,参见 #837
- 修复对 Gymnasium 的引用,通过 @dsctt,参见 #839
完整变更日志: 1.22.0...1.22.1
1.22.0¶
发布于 2022-10-07 - GitHub - PyPI
主要的 API 更改:done
-> termination
和 truncation
,与 Gymnasium 的新 API 匹配。
依赖项 gym
已切换为正在维护的 gymnasium
。
更改内容
- 将 'done' 替换为 'termination, truncation' 新逻辑,通过 @5cat,参见 #802
- 更新新的 Render API,通过 @younik,参见 #800
- 修复 wrapper unwrapped 问题,通过 @jjshoots,参见 #808
- 更新 Sphinx 主题,通过 @mgoulao,参见 #804
- 更新 GitHub 工作流程的安全权限,通过 @andrewtanJS,参见 #809
- 更新 Waterworld,通过 @BolunDai0216,参见 #807
- Docs API 更新,通过 @WillDudley,参见 #810
- Gymnasium 依赖,通过 @WillDudley,参见 #814
新贡献者
完整变更日志: 1.21.0...1.22.0
1.21.0¶
发布于 2022-09-24 - GitHub - PyPI
更改内容
- 作为 Gym 更新到 0.26 的一部分,进行了以下更改
done
->termination
和truncation
: 单一的done
信号已更改为termination
和truncation
信号,其中termination
表示环境由于满足特定条件而结束,而truncation
表示环境由于超出时间/帧限制而结束。
- Butterfly/Prospector, Classic/Mahjong, Classic/Doudizhu, Classic/Backgammon, Classic/Checkers 已移除。
- 开发方面的一些易用性改进,例如将 pyright 移至
pre-commit
并强制执行 pydocstyle。 - 网站进行了重大升级。
变更列表
- 修复 concatvecenvs 以在正确的进程中工作,通过 @jjshoots,参见 #763
- 修复 RPS 渲染问题,通过 @jjshoots,参见 #776
- 减少警告数量,通过 @pseudo-rnd-thoughts,参见 #777
- 移除 Prospector,通过 @jjshoots,参见 #779
- 移除许多环境,通过 @jjshoots,参见 #781
- 潜在修复 13 行代码,使其运行时间不再超过 6 小时,通过 @jjshoots,参见 #782
- 将 Pyright 移至
pre-commit
+ 添加pydocstyle
,通过 @kir0ul,参见 #737 - 更新 pre-commit 配置,通过 @pseudo-rnd-thoughts,参见 #787
- 更新文档网站到 Sphinx,通过 @mgoulao,参见 #780
- 更新到新域名的链接,通过 @mgoulao,参见 #789
- Truncation 更新,通过 @jjshoots,参见 #767
- 更新 Gym 版本,通过 @WillDudley,参见 #788
- 更多 truncation 修复,通过 @jjshoots,参见 #796
- 更新 simple_env.py,通过 @FilipinoGambino,参见 #798
- 文档自动化,通过 @mgoulao,参见 #790
新贡献者
- @pseudo-rnd-thoughts 在 #777 中做出了首次贡献
- @mgoulao 在 #780 中做出了首次贡献
完整变更日志: 1.20.1...1.21.0
1.20.1¶
发布于 2022-08-07 - GitHub - PyPI
变更列表请参考上一版本 (1.20.0),此版本仅因发布到 PyPI 出现技术问题而存在。
1.20.0¶
发布于 2022-08-07 - GitHub - PyPI
更改内容
- 通过 @jjshoots 使 Black 通过主 CI,参见 #734
- 重构 Pytest 多次调用为单次调用,通过 @kir0ul,参见 #731
- 更改 MPE 渲染方式,使用 Pygame 而非 pyglet #732,通过 @WillDudley,参见 #738
- 移除 Multiwalker 中的 pyglet 和有问题的依赖项,通过 @jjshoots,参见 #739
- 为 MPE 添加 EzPickle,通过 @jjshoots,参见 #741
- 修复文档中不正确的观察字典键,通过 @bkrl,参见 #743
- 暂时从测试中移除 waterworld 并禁用环境。通过 @jjshoots,参见 #749
- 修复损坏的 atari 环境路径,通过 @manu-hoffmann,参见 #747
- 完成 Atari Envs 路径修复,通过 @jjshoots,参见 #750
- 修正 MPE 依赖项以反映 PR #738,通过 @WillDudley,参见 #748
新贡献者
- @WillDudley 在 #738 中做出了首次贡献
- @bkrl 在 #743 中做出了首次贡献
- @manu-hoffmann 在 #747 中做出了首次贡献
完整变更日志: 1.19.1...1.20.0
1.19.1¶
发布于 2022-06-21 - GitHub - PyPI
- 更新 Gym 依赖版本
1.19.0¶
发布于 2022-06-21 - GitHub - PyPI
- 精简所有环境,使其具有一致的文件夹结构
- 添加
info
作为reset
的输出,以与新的 Gym API 一致
0.18.1: 1.18.1¶
发布于 2022-04-29 - GitHub - PyPI
- 对 Knight Archers Zombies 进行了重大修改,版本升级
- 更改 Atari 游戏默认使用最小观察空间,所有版本升级
- 修复所有 MAgent 环境的大量 bug,版本升级
- MAgent 环境现在有 Windows 二进制文件
- 移除 Prison 环境
- Multiwalker bug 修复,版本升级
- 修复了大量测试
- 使用新的 manual_policy 方法移除 manual_control
- 将 seed 方法转换为 reset 的参数,以匹配新的 Gym API
(PettingZoo 1.18.0 版本由于技术问题从未发布)
1.17.0¶
发布于 2022-03-15 - GitHub - PyPI
- 更改 metadata 命名方案以匹配 gym。特别是
render.modes
->render_modes
和video.frames_per_second
->render_fps
- 修复由自动弃用逻辑引起的 pettingzoo 导入错误消息
1.16.0¶
发布于 2022-03-05 - GitHub - PyPI
- KAZ:代码重写和多项修复,添加了手动控制功能
- 支持 gym 0.22.0 中的种子设定更改
- 修复 prison 状态空间,版本升级
- 修复 battlefield 状态空间
- 增加了 api 测试中的默认周期数(使其能捕获更多错误)
- 向 parallel 包装器添加 turn-based 功能
- 将 magent 渲染逻辑移至 Magent 仓库
1.15.0¶
发布于 2022-01-28 - GitHub - PyPI
- 修复 KAZ, pistonball, multiwalker, cooperative pong 的 bug。版本升级。
- 移除 gather 的标志,版本升级。
- 向所有环境添加 FPS 属性,使渲染更容易。
- Multiwalker 现在使用 pygame 而非 pyglet 进行渲染
- 将 to_parallel 和 from_parallel 重命名为 aec_to_parallel 和 parallel_to_aec
- 添加 is_parallelizable 元数据,以确保 aec_to_parallel 包装器不被误用
- 修复 API 测试以更好地支持智能体生成
1.14.0¶
发布于 2021-12-05 - GitHub - PyPI
-修复 pursuit 环境逻辑和渲染的 bug 并进行部分重新设计。环境现在可学习,版本升级。
-修复 cooperative pong 环境的 bug 并重新设计奖励函数,版本升级。
-pistonball 中由于物理引擎精度不足导致球移入左侧列不再获得额外奖励,版本升级。
-PyGame 版本升级,环境版本无需升级。
-支持 Python 3.10
-修复 parallel API 测试以允许没有 possible_agents 的环境
1.13.1¶
发布于 2021-10-19 - GitHub - PyPI
- 修复关于观察和动作空间的不必要警告
- 向上游推送了新的 rlcard 版本,其中包含新的 texas holdem no limit 实现,版本升级到 v6
- 更新了 python chess 依赖项,版本升级到 v5
- 放弃了对 python 3.6 的支持,添加了对 3.9 的官方支持
- 各种文档修复
1.12.0¶
发布于 2021-10-08 - GitHub - PyPI
- API 更改
- 新的
observation_space(agent)
,action_space(agent)
方法,用于检索智能体的静态空间 possible_agents
,observation_spaces
,action_spaces
属性变为可选。如果这些属性存在,包装器会传递它们。- parallel 环境的
agents
列表包含将执行下一步的智能体,而不是执行上一步的智能体。 - 现在允许生成智能体,可以在回合期间随时创建智能体。注意:智能体不能复活,一旦结束,就不能重新添加到环境中。
- 新的
- 修复 pursuit 环境中 close 方法的意外行为
- 移除 pygame 加载消息
- 修复 pillow 依赖问题
- 移除 pistonball 环境中的 local ratio 参数
- 支持 Gym 0.21.0
- 更好的代码格式化 (isort 等)
1.11.1¶
发布于 2021-08-19 - GitHub - PyPI
- 修复 sisl 环境的 scipy 和 pyglet 依赖问题
- 修复 pistonball 渲染问题(无需版本升级)
- 更新 rlcard 到 v1.0.4,修复了 texas hold'em no limit 的问题;版本升级
1.11.0¶
发布于 2021-08-02 - GitHub - PyPI
-升级到 RLCard 1.0.3,所有版本升级。还为基于 RLcard 的环境添加了对 num_players 的支持,这些环境可以具有可变数量的玩家。
-修复围棋和国际象棋的观察空间,版本升级
-围棋渲染的细微修复
-修复 classic 中的 PyGame 依赖问题(用于渲染)
-修复图像加载到慢速 PyGame 数据结构的问题,从而显着提高了某些 Butterfly 游戏的性能(无需版本升级)
-修复 cooperative pong 中使用 RGB 渲染时出现的奇怪缓存问题
-杂项测试和警告消息修复
1.10.0¶
发布于 2021-07-17 - GitHub - PyPI
- 为 MPE 环境添加连续动作支持作为参数
- 为 Texas Hold'em No Limit, Rock Paper Scissors 和 Go 添加像素艺术渲染
- 修复 Connect Four 中的像素艺术渲染
- 修复围棋观察空间中黑白棋子顺序的 bug,版本升级
- 更改 cooperative pong 中的观察以包含整个屏幕,版本升级
1.9.0¶
发布于 2021-06-12 - GitHub - PyPI
- 为 pong 创建无动作计时器,以鼓励玩家发球(之前没有惩罚无限期拖延比赛)。所有 pong 环境(pong, basketball_pong, volleyball_pong, foozpong, quadrapong)版本升级。
- 修复 Multiwalker 碰撞 bug,版本升级
- 向 Magent 和 MPE 添加 state 方法
- 将 rock paper scissors 和 rock paper scissors lizard spock 合并为一个环境,该环境将动作数量作为参数,并添加 n_cycles 参数以允许单个游戏按顺序进行。版本升级。
- 移除已弃用的 env_done 方法
- 修复 combined_arms 观察中通道的顺序
- 向 connect four 添加基于像素艺术的 RGB 渲染。这将在后续版本中添加到 rock paper scissors, Go 和 Texas Holdem 中
- 将 pettingzoo CI 测试文件移到仓库外部
- 更改 max cycles 测试以在智能体死亡下更健壮
1.8.2¶
发布于 2021-05-14 - GitHub - PyPI
- 修复 multiwalker bug,环境版本升级。
- 向 render_test 添加自定义渲染模式支持
1.8.1¶
发布于 2021-04-16 - GitHub - PyPI
- 向 seed test 添加参数以禁用 seed()-reset() 测试。文档已更新。
- MAgent 渲染的细微更改
1.8.0¶
发布于 2021-04-04 - GitHub - PyPI
- 修复 classic 游戏中任意调用 observe() 的问题(特别是 tictactoe 和 connect 4)
- 修复 tictactoe 和 pistonball 的文档
1.7.0¶
发布于 2021-03-27 - GitHub - PyPI
- 修复 MAgent bug 并将默认更改为非 minimap 模式,版本升级。
- 修复瞬态安装错误。
1.6.1¶
发布于 2021-03-08 - GitHub - PyPI
杂项小修复和小型功能添加
- 添加了 .unwrapped
- 对 from_parallel 进行了小修复
- 移除了 close() 中的警告
- 修复了随机演示
- 修复了 prison 手动控制
1.6.0¶
发布于 2021-02-21 - GitHub - PyPI
- 更改了 pistonball, prison, prospector 中 max_cycles 的默认值
- 将 pistonball 默认模式更改为 continuous,并更改了 local_ratio 的默认值
- 重构了面向外部的测试和工具类
- 将 pymunk 版本升级到 6.0.0,并升级了所有依赖 pymunk 的环境版本
- 在 API 中添加了 state() 和 state_space,并在 butterfly 环境中实现了这些方法
- 修复了 butterfly 环境中的各种小错误。
- 文档更新。
1.5.2¶
发布于 2021-01-29 - GitHub - PyPI
修复了 butterfly 环境中杂项烦人的加载信息。改进了 save_obs 及相关功能。修复了 KAZ 的问题。
1.5.1¶
发布于 2021-01-13 - GitHub - PyPI
修复了 MPE 渲染依赖,修复了对 six 的少量剩余依赖,修复了 pickling Pistonball 时的问题。没有升级版本。
1.5.0¶
发布于 2021-01-05 - GitHub - PyPI
重构了测试,使其通常可供第三方环境使用。添加了平均奖励计算工具,并对 random_demo 和 save_obs 工具进行了少量改进。从 KAZ 中移除了 black death 参数(现在是 supersuit 中的一个包装器)。重做了 classic 中非法动作的处理方式,将观察结果变为字典,其中一个元素是观察结果,另一个是正确的非法动作掩码。对 Pistonball 进行了重构以提高可读性、运行速度,并允许通过参数改变活塞数量。Waterworld 经过完全重构,修复了各种主要问题。RLCard 版本已升级(并包含影响环境的错误修复)。MAgent 渲染效果现在好很多(版本未升级)。修复了 pursuit 观察空间中的一个主要错误。添加了 Python 3.9 支持。更新了 Gym 版本。修复了 multiwalker 观察空间,这次是彻底修复,并对代码质量进行了大幅改进。移除了 NaN 包装器。
1.4.2¶
发布于 2020-11-26 - GitHub - PyPI
修复了 Pistonball 奖励和杂项问题。修复了 KAZ 观察和渲染问题。修复了 Cooperative Pong 的渲染问题。修复了 Hanabi 中的默认参数。修复了 multiwalker 奖励,添加了参数。更改了 combined_arms 的观察和奖励,tiger_deer 的奖励。为所有 MAgent 环境添加了更多参数。
1.4.0¶
发布于 2020-11-07 - GitHub - PyPI
通用:API 大幅升级(见 https://www.pettingzoo.ml/api),彻底改进了智能体死亡的处理方式。特别是,agents 列表现在仅包含存活的智能体(尚未完成的智能体)。将大量逻辑从包装器移动到原始环境。将 max_frames 重命名为 max_cycles,并使该参数的含义在所有环境中保持一致。
Atari:修复了 entombed_cooperative 奖励,添加了自定义 ROM 目录规范支持
Butterfly:修复了所有环境中的错误,升级了 PyGame 和 PyMunk 版本
Classic:升级了 RLCard 版本,修复了许多依赖 RLCard 的环境的默认观察空间
SISL:修复了所有环境中的错误
MAgent:修复了所有环境的观察空间问题
升级了所有环境的版本。希望在此之后不再有重大的 API 更改。