{"id":15145421,"url":"https://github.com/aarant/soar","last_synced_at":"2025-04-24T03:06:14.241Z","repository":{"id":57469023,"uuid":"97581586","full_name":"aarant/soar","owner":"aarant","description":"Snakes on a Robot: An extensible Python framework for simulating and interacting with robots.","archived":false,"fork":false,"pushed_at":"2019-02-08T16:12:57.000Z","size":3601,"stargazers_count":2,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T03:06:05.512Z","etag":null,"topics":["python","python3","robot-framework","robotics"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aarant.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2017-07-18T09:45:12.000Z","updated_at":"2023-10-23T01:31:54.000Z","dependencies_parsed_at":"2022-09-19T09:30:26.231Z","dependency_job_id":null,"html_url":"https://github.com/aarant/soar","commit_stats":null,"previous_names":["arantonitis/soar"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fsoar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fsoar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fsoar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fsoar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aarant","download_url":"https://codeload.github.com/aarant/soar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250552074,"owners_count":21449164,"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":["python","python3","robot-framework","robotics"],"created_at":"2024-09-26T11:24:56.373Z","updated_at":"2025-04-24T03:06:14.211Z","avatar_url":"https://github.com/aarant.png","language":"Python","readme":"|pypi|_ |docs|_ |license|_\n\n.. |pypi| image:: https://img.shields.io/pypi/v/soar.svg\n.. _pypi: https://pypi.python.org/pypi/Soar\n.. |docs| image:: https://readthedocs.org/projects/snakes-on-a-robot/badge/?version=latest\n.. _docs: http://snakes-on-a-robot.readthedocs.io/en/latest\n.. |license| image:: https://img.shields.io/github/license/arantonitis/soar.svg\n.. _license: https://github.com/arantonitis/soar/blob/master/LICENSE\n\nSoar\n****\nSoar (Snakes on a Robot) is a Python framework for simulating and interacting with robots.\n\nThe software is designed to be the following:\n\n* **painless**: Using Soar for its intended purpose should be *trivial*. A student using Soar as part of an intro\n  robotics course should, in the ideal case, have to look at `Getting Started`_ and nothing else.\n  \n* **extensible**: Soar can support nearly any type of robot and any type of connection, so long as the user \n  provides a suitable interface. Connect to robot's over a serial port, WiFi, Bluetooth, etc--Soar is \n  interface-agnostic. Though Soar provides basic physics for 2D collision detection and movement, the physics\n  of simulated worlds and objects can be completely overidden.\n  \n* **simulation-driven**: The most typical use case of Soar will be to run some stepwise simulation on a certain\n  robot type, with some `brain`_ controlling it. It is not primarily designed for persistent robots that are always on or for situations where stepwise interaction is not suitable.\n  \n* **multiplatform**: Soar uses no platform specific features, and uses Python's standard GUI package, Tkinter_,\n  for its GUI. Soar should thus work on any platform with a standard Python interpreter of version 3.5 or \n  later. Soar has been tested on Fedora 25 GNU/Linux, and Windows 8. If an issue arises running Soar on your platform, open an issue_ on GitHub.\n  \n* **open source**: Soar is licensed under the LGPLv3_, and may be used as a library by projects with other licenses.\n\nTo get started using Soar, see the `Getting Started`_ or the `documentation`_.\n\nInstallation\n============\nInstalling Soar is (hopefully) painless and primarily done 3 ways, ordered by decreasing ease:\n\n.. note::\n   \n   * Most Python installations will already have `setuptools`, necessary to install Soar, but if not, see `this documentation`_ to install it.\n\n   * Installing Soar will also install pyserial_ version 3.0 or later, as well as matplotlib_ version 2.0 or later.\n\n   * Soar was developed exclusively with `Python 3.5`_ or later in mind. Your mileage may vary or be nonexistent if using an earlier version.\n\nFrom PyPI\n---------\nSoar can be installed from the `Python Package Index (PyPI)`_ by running ``pip install soar``.\n\nThis will install the latest stable (not development) release.\n\nFrom Releases\n-------------\nAn arbitrary stable (not development) Soar release can be installed from the `github releases`_, by downloading the\n`.zip` archive and running ``pip install \u003cpath-to-zip\u003e``.\n\nFrom latest source\n--------------------\nClone or download the `git repo`_, navigate to the directory, then run::\n   \n   python3 setup.py sdist\n   cd dist\n   pip install Soar-\u003cversion\u003e.tar.gz\n\n.. _issue: https://github.com/arantonitis/soar/issues\n.. _brain: http://snakes-on-a-robot.readthedocs.io/en/latest/brain_docs.html\n.. _Tkinter: https://docs.python.org/3.5/library/tkinter.html\n.. _LGPLv3: https://www.gnu.org/licenses/lgpl-3.0.en.html\n.. _Getting Started: http://snakes-on-a-robot.readthedocs.io/en/latest/getting_started.html\n.. _documentation: http://snakes-on-a-robot.readthedocs.io/en/latest/index.html\n.. _Python Package Index (PyPI): https://pypi.python.org/pypi\n.. _pyserial: https://pythonhosted.org/pyserial/\n.. _matplotlib: https://matplotlib.org/\n.. _this documentation: https://setuptools.readthedocs.io/en/latest/\n.. _github releases: https://github.com/arantonitis/soar/releases\n.. _git repo: https://github.com/arantonitis/soar\n.. _Python 3.5: https://www.python.org/downloads/release/python-350/\n\nDevelopment\n===========\nOnly stable releases of Soar will be published to PyPI_ or the `github releases`_. Development versions will exist only in the GitHub repo itself, and will be marked with a ``.dev\u003cN\u003e`` suffix.\n\nTypical versioning will look like the following: ``\u003cMAJOR\u003e.\u003cMINOR\u003e.\u003cPATCH\u003e``. Major releases break backward compatibility, minor releases add functionality but maintain backward compatibility,\nand patch releases address bugs or fix small things.\n\nIf you have a specific feature you'd like to see in Soar, or a specific robot type you'd like bundled with the base software, or just want to contribute, consider opening a pull request.\n\nBuilding Documentation\n======================\nBuilding a local copy of the docs will require Sphinx_.\n\nNavigate to the ``docs/`` directory and run ``sphinx-build -b html source/ \u003cBUILD_DIR\u003e``.\n\n.. _Sphinx: http://www.sphinx-doc.org/en/stable/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarant%2Fsoar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faarant%2Fsoar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarant%2Fsoar/lists"}