{"id":27127209,"url":"https://github.com/apla-toolbox/pymapf","last_synced_at":"2025-04-07T16:54:47.704Z","repository":{"id":37032414,"uuid":"330166439","full_name":"APLA-Toolbox/pymapf","owner":"APLA-Toolbox","description":"📍🗺️ A Python library for Multi-Agents Planning and Pathfinding (Centralized and Decentralized)","archived":false,"fork":false,"pushed_at":"2025-04-02T12:02:34.000Z","size":151,"stargazers_count":72,"open_issues_count":18,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T13:22:18.817Z","etag":null,"topics":["control","mapf","muli-agent-pathfinding","multi-agent","multi-agent-planning","multi-agent-system","planning","plannng","robotics"],"latest_commit_sha":null,"homepage":"","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/APLA-Toolbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-16T13:16:12.000Z","updated_at":"2024-12-25T05:04:03.000Z","dependencies_parsed_at":"2023-12-19T04:22:54.152Z","dependency_job_id":"2e3e25d3-7e18-4895-a773-73fb7ab6987b","html_url":"https://github.com/APLA-Toolbox/pymapf","commit_stats":{"total_commits":83,"total_committers":4,"mean_commits":20.75,"dds":0.3975903614457831,"last_synced_commit":"e9d63a0a96ca414caad0bb3d2f846b0af4aff23b"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APLA-Toolbox%2Fpymapf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APLA-Toolbox%2Fpymapf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APLA-Toolbox%2Fpymapf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/APLA-Toolbox%2Fpymapf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/APLA-Toolbox","download_url":"https://codeload.github.com/APLA-Toolbox/pymapf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694866,"owners_count":20980731,"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","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"}},"keywords":["control","mapf","muli-agent-pathfinding","multi-agent","multi-agent-planning","multi-agent-system","planning","plannng","robotics"],"created_at":"2025-04-07T16:54:47.086Z","updated_at":"2025-04-07T16:54:47.688Z","avatar_url":"https://github.com/APLA-Toolbox.png","language":"Python","funding_links":["https://www.buymeacoffee.com/dq01aOE"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \n\u003cimg src=\"https://svgshare.com/i/TFJ.svg\" alt=\"Logo\" width=\"300\"\u003e     \n    \n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# PyMAPF\n\n✨ A Python toolbox for Multi-Agents Planning (Centralized and Decentralized) ✨\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \n![tests](https://github.com/APLA-Toolbox/pymapf/workflows/tests/badge.svg?branch=main)\n![pip-package](https://github.com/APLA-Toolbox/pymapf/workflows/.github/workflows/pip-tests.yml/badge.svg)\n[![codecov](https://codecov.io/gh/APLA-Toolbox/pymapf/branch/main/graph/badge.svg?token=63GHA9JUND)](https://codecov.io/gh/APLA-Toolbox/pymapf)\n[![CodeFactor](https://www.codefactor.io/repository/github/apla-toolbox/pymapf/badge)](https://www.codefactor.io/repository/github/apla-toolbox/pymapf)\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/APLA-Toolbox/pymapf.svg)](http://isitmaintained.com/project/APLA-Toolbox/pymapf \"Percentage of issues still open\")\n![PipPerMonths](https://img.shields.io/pypi/dm/pymapf.svg)\n[![Pip version fury.io](https://badge.fury.io/py/pymapf.svg)](https://pypi.python.org/pypi/pymapf/)\n[![GitHub license](https://img.shields.io/github/license/Apla-Toolbox/pymapf.svg)](https://github.com/Apla-Toolbox/pymapf/blob/master/LICENSE)\n[![GitHub contributors](https://img.shields.io/github/contributors/Apla-Toolbox/pymapf.svg)](https://GitHub.com/Apla-Toolbox/pymapf/graphs/contributors/)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \n[Report Bug](https://github.com/APLA-Toolbox/pymapf/issues) · [Request Feature](https://github.com/APLA-Toolbox/pymapf/issues)\n\nLoved the project? Please consider [donating](https://www.buymeacoffee.com/dq01aOE) to help it improve!\n\n\u003c/div\u003e\n\n## Features 🌱\n\n- ✨ Built to be expanded: easy to add new planners\n- 🖥️ Supported on Ubuntu\n- 🎌 Built with Python\n- 🔎 Reactive Distributed Planners (Nonlinear Model Predictive Control, Velocity Obstacles)\n- 🧭 Centralized Planners (Space-Time A*)\n- 📊 Benchmark Tools (Incoming...)\n- 🍻 Maintained (Incoming: Enhanced Conflict-Based Search, Local-Repair A*, Replanning RRT*...)\n\n\u003cdiv align=\"center\"\u003e\n    \n\u003cimg src=\"https://user-images.githubusercontent.com/43545812/104828684-56bef700-586c-11eb-83d4-2763831d4155.gif\" alt=\"Logo\" width=\"300\"\u003e     \n    \n\u003c/div\u003e\n\n## Dependencies 🖇️\n\n- Install Python (3.7.5 is the tested version)\n- Install Pip: `sudo apt install python3-pip`\n- Upgrade Pip: `python3 -m pip install --upgrade pip`\n\n### Using the repository 💾\n\n- Clone the repo: `git clone https://github.com/apla-toolbox/pymapf`\n- Cd into the repo `cd pymapf`\n- Install requirements: `python3 -m pip install -r requirements.txt`\n\n### Using the pip package 📦\n\n- Install the package: `python3 -m pip install pymapf`\n\n## Usage 📑\n\n### Scripts 💨\n\nLaunch hub switch scripts using:\n- `python3 scripts/switch_positions_nmpc.py`\n- `python3 scripts/switch_positions_vel_obstacles.py` (broken)\n\nMore to come...\n\n### Library 🗺️\n\n```python\nfrom pymapf.decentralized import MultiAgentNMPC\nfrom pymapf.decentralized.position import Position\nimport numpy as np\n\nsim = MultiAgentNMPC()\nsim.register_agent(\"r2d2\", Position(0, 3), Position(10, 7))\nsim.register_agent(\"bb8\", Position(0, 7), Position(5, 10))\nsim.register_agent(\"c3po\", Position(10, 7), Position(5, 0))\nsim.register_obstacle(2, np.pi/4, Position(0, 0))\nsim.run_simulation()\nsim.visualize(\"filename_test\", 10, 10)\n```\n\n```python\nfrom pymapf.decentralized.velocity_obstacle import MultiAgentVelocityObstacle\nfrom pymapf.decentralized.position import Position\n\nsim = MultiAgentVelocityObstacle(simulation_time=8.0)\nsim.register_agent(\"r2d2\", Position(0, 3), Position(10, 7))\nsim.register_agent(\"bb8\", Position(0, 7), Position(5, 10))\nsim.register_agent(\"c3po\", Position(10, 7), Position(5, 0))\nsim.run_simulation()\nsim.visualize(\"filename_test_2\", 10, 10)\n```\n\n## Cite 📰\n\nIf you use the project in your work, please consider citing it with:\n```\n@misc{https://doi.org/10.13140/rg.2.2.14030.28486,\n  doi = {10.13140/RG.2.2.14030.28486},\n  url = {http://rgdoi.net/10.13140/RG.2.2.14030.28486},\n  author = {Erwin Lejeune and Sampreet Sarkar},\n  language = {en},\n  title = {Survey of the Multi-Agent Pathfinding Solutions},\n  publisher = {Unpublished},\n  year = {2021}\n}\n```\n\nList of publications \u0026 preprints using `pymapf` (please open a pull request to add missing entries):\n\n* [Survey of MAPF solutions](https://www.researchgate.net/publication/348716625_Survey_of_the_Multi-Agent_Pathfinding_Solutions) (January 2021)\n\n## Contribute 🆘\n\nOpen an issue to state clearly the contribution you want to make. Upon aproval send in a PR with the Issue referenced. (Implement Issue #No / Fix Issue #No).\n\n## Maintainers Ⓜ️\n\n- Erwin Lejeune\n- Sampreet Sarkar\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapla-toolbox%2Fpymapf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapla-toolbox%2Fpymapf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapla-toolbox%2Fpymapf/lists"}