{"id":25738,"name":"benchmarl","description":"BenchMARL is a library for benchmarking Multi-Agent Reinforcement Learning (MARL). BenchMARL allows to quickly compare different MARL algorithms, tasks, and models while being systematically grounded in its two core tenets: reproducibility and standardization.","url":"https://github.com/facebookresearch/benchmarl","last_synced_at":"2025-09-05T02:54:19.778Z","repository":{"id":199901978,"uuid":"681603891","full_name":"facebookresearch/BenchMARL","owner":"facebookresearch","description":"BenchMARL is a library for benchmarking Multi-Agent Reinforcement Learning (MARL). BenchMARL allows to quickly compare different MARL algorithms, tasks, and models while being systematically grounded in its two core tenets: reproducibility and standardization.","archived":false,"fork":false,"pushed_at":"2025-07-21T08:08:31.000Z","size":575,"stargazers_count":449,"open_issues_count":27,"forks_count":89,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-08-22T04:33:27.112Z","etag":null,"topics":["benchmark","machine-learning","marl","multi-agent","multi-agent-reinforcement-learning","pytorch","reinforcement-learning","rl","robotics","torch"],"latest_commit_sha":null,"homepage":"https://benchmarl.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facebookresearch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-22T11:19:20.000Z","updated_at":"2025-08-18T07:10:26.000Z","dependencies_parsed_at":"2023-11-25T17:31:26.323Z","dependency_job_id":"579bd3d3-7842-48f4-bf8c-af94c2d788ad","html_url":"https://github.com/facebookresearch/BenchMARL","commit_stats":{"total_commits":124,"total_committers":4,"mean_commits":31.0,"dds":"0.024193548387096753","last_synced_commit":"e910a837c2cedf2531ead63b0719d39516149d79"},"previous_names":["facebookresearch/benchmarl"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/facebookresearch/BenchMARL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2FBenchMARL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2FBenchMARL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2FBenchMARL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2FBenchMARL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebookresearch","download_url":"https://codeload.github.com/facebookresearch/BenchMARL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2FBenchMARL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273703690,"owners_count":25153002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"facebookresearch","name":"Meta Research","uuid":"16943930","kind":"organization","description":"","email":null,"website":"https://opensource.fb.com","location":"Menlo Park, California","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/16943930?v=4","repositories_count":1060,"last_synced_at":"2024-12-17T01:36:52.238Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/facebookresearch","funding_links":[],"total_stars":747766,"followers":26201,"following":0,"created_at":"2022-11-02T16:26:31.312Z","updated_at":"2024-12-17T01:36:52.239Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebookresearch","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebookresearch/repositories"},"packages":null,"commits":{"id":1444910,"full_name":"facebookresearch/benchmarl","default_branch":"main","committers":[{"name":"Matteo Bettini","email":"55539777+matteobettini","login":"matteobettini","count":146},{"name":"Yoann Poupart","email":"66315201+Xmaster6y","login":"Xmaster6y","count":2},{"name":"José Luis Castro García","email":"81191337+JoseLuisC99","login":"JoseLuisC99","count":2},{"name":"Abhishek","email":"5480044+itwasabhi","login":"itwasabhi","count":2},{"name":"Vincent Moens","email":"vmoens@meta.com","login":"vmoens","count":1},{"name":"MC","email":"114601812+mchoilab","login":"mchoilab","count":1},{"name":"Kale-ab Tessera","email":"kaleabtessera@gmail.com","login":"KaleabTessera","count":1},{"name":"Alper Demir","email":"gliese876b","login":"gliese876b","count":1}],"total_commits":156,"total_committers":8,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":19.5,"dds":0.0641025641025641,"past_year_committers":[{"name":"Matteo Bettini","email":"55539777+matteobettini","login":"matteobettini","count":67},{"name":"Yoann Poupart","email":"66315201+Xmaster6y","login":"Xmaster6y","count":2},{"name":"José Luis Castro García","email":"81191337+JoseLuisC99","login":"JoseLuisC99","count":2},{"name":"Abhishek","email":"5480044+itwasabhi","login":"itwasabhi","count":2},{"name":"Vincent Moens","email":"vmoens@meta.com","login":"vmoens","count":1},{"name":"MC","email":"114601812+mchoilab","login":"mchoilab","count":1},{"name":"Alper Demir","email":"gliese876b","login":"gliese876b","count":1}],"past_year_total_commits":76,"past_year_total_committers":7,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":10.857142857142858,"past_year_dds":0.11842105263157898,"last_synced_at":"2025-05-29T12:07:54.482Z","last_synced_commit":"567acd93ee6a61d9cd8c0298a0ab19ab6728afa8","created_at":"2023-11-05T00:08:11.971Z","updated_at":"2025-05-29T12:07:54.786Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2Fbenchmarl/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.343Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"facebookresearch/benchmarl","html_url":"https://github.com/facebookresearch/benchmarl","last_synced_at":"2025-08-31T08:09:19.344Z","status":null,"issues_count":78,"pull_requests_count":159,"avg_time_to_close_issue":1264572.111111111,"avg_time_to_close_pull_request":291606.1768707483,"issues_closed_count":53,"pull_requests_closed_count":147,"pull_request_authors_count":10,"issue_authors_count":44,"avg_comments_per_issue":3.8076923076923075,"avg_comments_per_pull_request":0.46540880503144655,"merged_pull_requests_count":134,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":49,"past_year_pull_requests_count":69,"past_year_avg_time_to_close_issue":1510834.392857143,"past_year_avg_time_to_close_pull_request":409878.6779661017,"past_year_issues_closed_count":28,"past_year_pull_requests_closed_count":59,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":29,"past_year_avg_comments_per_issue":3.7551020408163267,"past_year_avg_comments_per_pull_request":0.43478260869565216,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":54,"created_at":"2023-11-05T00:08:31.647Z","updated_at":"2025-09-03T06:49:18.049Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2Fbenchmarl","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookresearch%2Fbenchmarl/issues","issue_labels_count":{"CLA Signed":1,"smacv2":1,"bug":1},"pull_request_labels_count":{"CLA Signed":211,"smacv2":28,"documentation":8,"enhancement":6,"bc-breaking":4,"example":2},"issue_author_associations_count":{"NONE":74,"CONTRIBUTOR":3,"COLLABORATOR":3},"pull_request_author_associations_count":{"COLLABORATOR":189,"CONTRIBUTOR":25,"NONE":9},"issue_authors":{"majid5776":7,"prinshul":6,"Rocky-CN":4,"itwasabhi":3,"Giovannibriglia":3,"xuyangthu88":3,"gliese876b":3,"zqkdlmu2023":3,"rsarpongstreetor":3,"matteobettini":3,"JoseLuisC99":2,"ImNotRog":2,"simonpedrogonzalez":2,"florin-pop":2,"SeaingAnt":2,"BharathRajM":2,"Fool-Yang":2,"ColdFrenzy":2,"fmxFranky":1,"robj0nes":1,"krendluck":1,"PurerStress":1,"shivarajabi":1,"sash-a":1,"wmn7":1,"bacngv":1,"anttli":1,"Janez88":1,"HridayM25":1,"jeguzzi":1,"wangreit":1,"SashaBoguraev":1,"tmorstyn":1,"Safari-1999":1,"Ivan-Zhong":1,"Shua-Kang":1,"sAz-G":1,"kamivao":1,"balamir53":1,"armansouri9":1,"karthiks1701":1,"lixuyang-m":1,"KaleabTessera":1,"kh-ryu":1},"pull_request_authors":{"matteobettini":195,"Xmaster6y":7,"itwasabhi":4,"JoseLuisC99":4,"vmoens":3,"mchoilab":2,"Acciorocketships":2,"ezhang7423":2,"facebook-github-bot":2,"KaleabTessera":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10083752,"issues_count":31254324,"pull_requests_count":96222393,"authors_count":10694625,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1},"past_year_pull_request_labels_count":{"CLA Signed":74,"smacv2":11,"enhancement":2,"bc-breaking":2,"documentation":2,"example":1},"past_year_issue_author_associations_count":{"NONE":45,"CONTRIBUTOR":3,"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{"COLLABORATOR":60,"CONTRIBUTOR":20,"NONE":3},"past_year_issue_authors":{"Rocky-CN":4,"rsarpongstreetor":3,"itwasabhi":3,"gliese876b":3,"Giovannibriglia":3,"xuyangthu88":3,"zqkdlmu2023":3,"Fool-Yang":2,"ColdFrenzy":2,"ImNotRog":2,"BharathRajM":2,"simonpedrogonzalez":2,"JoseLuisC99":2,"wangreit":1,"Shua-Kang":1,"Safari-1999":1,"PurerStress":1,"matteobettini":1,"lixuyang-m":1,"krendluck":1,"kh-ryu":1,"karthiks1701":1,"kamivao":1,"jeguzzi":1,"Janez88":1,"HridayM25":1,"bacngv":1,"anttli":1},"past_year_pull_request_authors":{"matteobettini":66,"Xmaster6y":7,"itwasabhi":4,"JoseLuisC99":4,"vmoens":2},"maintainers":[{"login":"matteobettini","count":192,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matteobettini"}],"active_maintainers":[{"login":"matteobettini","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/matteobettini"}]},"events":{"total":{"CreateEvent":32,"ReleaseEvent":3,"IssuesEvent":58,"WatchEvent":179,"DeleteEvent":29,"IssueCommentEvent":173,"PushEvent":142,"PullRequestEvent":72,"PullRequestReviewCommentEvent":41,"PullRequestReviewEvent":52,"ForkEvent":46},"last_year":{"CreateEvent":32,"ReleaseEvent":3,"IssuesEvent":58,"WatchEvent":179,"DeleteEvent":29,"IssueCommentEvent":173,"PushEvent":142,"PullRequestEvent":72,"PullRequestReviewCommentEvent":41,"PullRequestReviewEvent":52,"ForkEvent":46}},"keywords":["benchmark","machine-learning","marl","multi-agent","multi-agent-reinforcement-learning","pytorch","reinforcement-learning","rl","robotics","torch"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:37.435Z","updated_at":"2023-11-10T12:53:37.435Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/.github/workflows/lint.yml","dependencies":[{"id":14404602149,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602150,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pettingzoo_tests.yml","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:37.558Z","updated_at":"2023-11-10T12:53:37.558Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/.github/workflows/pettingzoo_tests.yml","dependencies":[{"id":14404602262,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602263,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602264,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/smacv2_tests.yml","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:38.642Z","updated_at":"2023-11-10T12:53:38.642Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/.github/workflows/smacv2_tests.yml","dependencies":[{"id":14404602291,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602292,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602293,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/unit_tests.yml","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:39.015Z","updated_at":"2023-11-10T12:53:39.015Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/.github/workflows/unit_tests.yml","dependencies":[{"id":14404602302,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602303,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602304,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/vmas_tests.yml","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:39.189Z","updated_at":"2023-11-10T12:53:39.189Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/.github/workflows/vmas_tests.yml","dependencies":[{"id":14404602321,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602322,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14404602323,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2023-11-10T12:53:39.302Z","updated_at":"2023-11-10T12:53:39.302Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/setup.py","dependencies":[{"id":14404602330,"package_name":"torchrl","ecosystem":"pypi","requirements":"\u003e=0.2.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-11-25T17:31:24.675Z","updated_at":"2023-11-25T17:31:24.675Z","repository_link":"https://github.com/facebookresearch/BenchMARL/blob/main/docs/requirements.txt","dependencies":[{"id":14721646394,"package_name":"torchrl","ecosystem":"pypi","requirements":"\u003e=0.2.0","direct":true,"kind":"runtime","optional":false},{"id":14721646395,"package_name":"torch","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14721646396,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14721646397,"package_name":"hydra-core","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":14721646398,"package_name":"vmas","ecosystem":"pypi","requirements":"\u003e=1.2.10","direct":true,"kind":"runtime","optional":false}]}],"score":8.244859395911256,"created_at":"2025-09-04T15:50:57.758Z","updated_at":"2025-10-07T08:11:40.638Z","avatar_url":"https://github.com/facebookresearch.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/25738","html_url":"https://science.ecosyste.ms/projects/25738","bibtex_url":"https://science.ecosyste.ms/projects/25738/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/25738/export.apalike"}