{ "info": { "author": "Gramazio Kohler Research", "author_email": "gramaziokohler@arch.ethz.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: IronPython", "Topic :: Scientific/Engineering" ], "description": "============================\r\nroslibpy: ROS Bridge library\r\n============================\r\n\r\n\r\n\r\n**Python ROS Bridge library** allows to use Python and IronPython to interact\r\nwith `ROS `_, the open-source robotic middleware.\r\nIt uses WebSockets to connect to\r\n`rosbridge 2.0 `_ and provides publishing,\r\nsubscribing, service calls, actionlib, TF, and other essential ROS functionality.\r\n\r\nUnlike the `rospy `_ library, this does not require a\r\nlocal ROS environment, allowing usage from platforms other than Linux.\r\n\r\nThe API of **roslibpy** is modeled to closely match that of `roslibjs`_.\r\n\r\n\r\nMain features\r\n-------------\r\n\r\n* Topic publishing and subscribing.\r\n* Service calls (client).\r\n* Service advertisement (server).\r\n* ROS parameter management (get/set/delete).\r\n* ROS API services for getting ROS meta-information.\r\n* Actionlib support for interfacing with preemptable tasks.\r\n* TF Client via the ``tf2_web_republisher``.\r\n\r\n**Roslibpy** runs on Python 2.7 and 3.x and IronPython 2.7.\r\n\r\n\r\nInstallation\r\n------------\r\n\r\nTo install **roslibpy**, simply use ``pip``::\r\n\r\n pip install roslibpy\r\n\r\nFor IronPython, the ``pip`` command is slightly different::\r\n\r\n ipy -X:Frames -m pip install --user roslibpy\r\n\r\nRemember that you will need a working ROS setup including the\r\n**rosbridge server** and **TF2 web republisher** accessible within your network.\r\n\r\n\r\nDocumentation\r\n-------------\r\n\r\nThe full documentation, including examples and API reference\r\nis available on `readthedocs `_.\r\n\r\n\r\nContributing\r\n------------\r\n\r\nMake sure you setup your local development environment correctly:\r\n\r\n* Clone the `roslibpy `_ repository.\r\n* Create a virtual environment.\r\n* Install development dependencies:\r\n\r\n::\r\n\r\n pip install -r requirements-dev.txt\r\n\r\n**You're ready to start coding!**\r\n\r\nDuring development, use `pyinvoke `_ tasks on the\r\ncommand prompt to ease recurring operations:\r\n\r\n* ``invoke clean``: Clean all generated artifacts.\r\n* ``invoke check``: Run various code and documentation style checks.\r\n* ``invoke docs``: Generate documentation.\r\n* ``invoke test``: Run all tests and checks in one swift command.\r\n* ``invoke``: Show available tasks.\r\n\r\nFor more details, check the *Contributor's Guide* available as part of `the documentation `_.\r\n\r\n\r\nReleasing this project\r\n----------------------\r\n\r\nReady to release a new version **roslibpy**? Here's how to do it:\r\n\r\n* We use `semver `_, i.e. we bump versions as follows:\r\n\r\n * ``patch``: bugfixes.\r\n * ``minor``: backwards-compatible features added.\r\n * ``major``: backwards-incompatible changes.\r\n\r\n* Update the ``CHANGELOG.rst`` with all novelty!\r\n* Ready? Release everything in one command:\r\n\r\n::\r\n\r\n invoke release [patch|minor|major]\r\n\r\n* Profit!\r\n\r\n\r\nCredits\r\n-------\r\n\r\nThis library is based on `roslibjs`_ and to a\r\nlarge extent, it is a line-by-line port to Python, changing only where a more\r\nidiomatic form makes sense, so a huge part of the credit goes to the\r\n`roslibjs authors `_.\r\n\r\n.. _roslibjs: http://wiki.ros.org/roslibjs\r\n\r\n\r\nChangelog\r\n=========\r\n\r\nAll notable changes to this project will be documented in this file.\r\n\r\nThe format is based on `Keep a Changelog `_\r\nand this project adheres to `Semantic Versioning `_.\r\n\r\n0.7.0\r\n----------\r\n\r\n**Changed**\r\n\r\n* The non-blocking event loop runner ``run()`` now defaults to 10 seconds timeout before raising an exception.\r\n\r\n**Added**\r\n\r\n* Added blocking behavior to ROS API methods, e.g. ``ros.get_topics``.\r\n* Added command-line mode to ROS API, e.g. ``roslibpy topic list``.\r\n* Added blocking behavior to the ``Param`` class.\r\n* Added parameter manipulation methods to ``Ros`` class: ``get_param``, ``set_param``, ``delete_param``.\r\n\r\n0.6.0\r\n----------\r\n\r\n**Changed**\r\n\r\n* For consistency, ``timeout`` parameter of ``Goal.send()`` is now expressed in **seconds**, instead of milliseconds.\r\n\r\n**Deprecated**\r\n\r\n* The ``timeout`` parameter of ``ActionClient()`` is ignored in favor of blocking until the connection is established.\r\n\r\n**Fixed**\r\n\r\n* Raise exceptions when timeouts expire on ROS connection or service calls.\r\n\r\n**Added**\r\n\r\n* Support for calling a function in a thread from the Ros client.\r\n* Added implementation of a Simple Action Server.\r\n\r\n0.5.0\r\n----------\r\n\r\n**Changed**\r\n\r\n* The non-blocking event loop runner now waits for the connection to be established in order to minimize the need for ``on_ready`` handlers.\r\n\r\n**Added**\r\n\r\n* Support blocking and non-blocking service calls.\r\n\r\n**Fixed**\r\n\r\n* Fixed an internal unsubscribing issue.\r\n\r\n0.4.1\r\n----------\r\n\r\n**Fixed**\r\n\r\n* Resolve reconnection issues.\r\n\r\n0.4.0\r\n----------\r\n\r\n**Added**\r\n\r\n* Add a non-blocking event loop runner\r\n\r\n0.3.0\r\n----------\r\n\r\n**Changed**\r\n\r\n* Unsubscribing from a listener no longer requires the original callback to be passed.\r\n\r\n0.2.1\r\n----------\r\n\r\n**Fixed**\r\n\r\n* Fix JSON serialization error on TF Client (on Python 3.x)\r\n\r\n0.2.0\r\n----------\r\n\r\n**Added**\r\n\r\n* Add support for IronPython 2.7\r\n\r\n**Changed**\r\n\r\n* Handler ``on_ready`` now defaults to run the callback in thread\r\n\r\n**Deprecated**\r\n\r\n* Rename ``run_event_loop`` to the more fitting ``run_forever``\r\n\r\n0.1.1\r\n----------\r\n\r\n**Fixed**\r\n\r\n* Minimal documentation fixes\r\n\r\n0.1.0\r\n----------\r\n\r\n**Added**\r\n\r\n* Initial version\r\n\r\n\r\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gramaziokohler/roslibpy", "keywords": "ros,ros-bridge,robotics,websockets", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "roslibpy", "package_url": "https://pypi.org/project/roslibpy/", "platform": "", "project_url": "https://pypi.org/project/roslibpy/", "project_urls": { "Homepage": "https://github.com/gramaziokohler/roslibpy" }, "release_url": "https://pypi.org/project/roslibpy/0.7.0/", "requires_dist": [ "autobahn (>=17.10)", "twisted (>=17.9)" ], "requires_python": "", "summary": "Python ROS Bridge library.", "version": "0.7.0" }, "last_serial": 5804226, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "e799c37811ba8b49fe71cdf13156a84d", "sha256": "8d4b54aa0f14f86cfb5c064426f7804e673620ce3ee01200dbdaf355da61d2d3" }, "downloads": -1, "filename": "roslibpy-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e799c37811ba8b49fe71cdf13156a84d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22427, "upload_time": "2018-02-28T19:52:46", "url": "https://files.pythonhosted.org/packages/99/b0/5e7fbe46cfd724dded8b75d937aa57f34fdf4fbeb3c23671dda8fbc6ffc7/roslibpy-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e71fc4fde98dfc1abc9affe4d23c6825", "sha256": "569263e79d0f6a19dd655a1d048449e82c5403989b5344cd4ceac18b02eaa620" }, "downloads": -1, "filename": "roslibpy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e71fc4fde98dfc1abc9affe4d23c6825", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25437, "upload_time": "2018-02-28T19:52:49", "url": "https://files.pythonhosted.org/packages/95/67/b5af95f1dd95f3a271afe38dd0c25313628057112ea339b426fbc0dca783/roslibpy-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "91f6e66b11620ad59e3dba3a5368559b", "sha256": "9c05677860f1e6314eb0f82a473ccabc4bb66dd83c51b7c04c1c6c3ba5ba7c36" }, "downloads": -1, "filename": "roslibpy-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "91f6e66b11620ad59e3dba3a5368559b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28929, "upload_time": "2018-07-30T13:06:27", "url": "https://files.pythonhosted.org/packages/12/b1/d478c0533823fbb5f80050fe6b0d7e25a7976e671f31628bfe0f8ea7b4a3/roslibpy-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98d282b3b3d8b531e88fec18f827c0b5", "sha256": "0a87eddebf0a39e0a22a1be4a03b2d204bc30547d64badbcd19f1fa4b3750a0c" }, "downloads": -1, "filename": "roslibpy-0.2.0.tar.gz", "has_sig": false, "md5_digest": "98d282b3b3d8b531e88fec18f827c0b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31909, "upload_time": "2018-07-30T13:06:29", "url": "https://files.pythonhosted.org/packages/ff/1e/9ae5ffce205d1063cec5d36cf71d382e812f6e0fdcc8ebb9bbcc422b3421/roslibpy-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c7f6b14b08362353daaa4ae646aff3a0", "sha256": "c260476e665235a0f5b34692cf9a1092beeca5673446c953c38604e6b27a872b" }, "downloads": -1, "filename": "roslibpy-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c7f6b14b08362353daaa4ae646aff3a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 28980, "upload_time": "2018-07-31T14:26:38", "url": "https://files.pythonhosted.org/packages/68/90/d89d4863e6b0ac14e9731e9281134933d382cae824dfd614a617f14a12fa/roslibpy-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f867894a4a2376d425159350c41c33bb", "sha256": "8af0de73caeba509b88cc1370774ba7bc662c7360996b5b423b296804d82c99d" }, "downloads": -1, "filename": "roslibpy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f867894a4a2376d425159350c41c33bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32219, "upload_time": "2018-07-31T14:26:39", "url": "https://files.pythonhosted.org/packages/04/1a/fbbc03b343e661a3980bae68e2ec7b0ca06fc2fc395ebf9eb818e393367f/roslibpy-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0c10227b090d2cfc016fc0738fa2dca3", "sha256": "98a6a9e440ae0c1a3a479f1c456efca9f4006cf0c0e3343876970a0b21dc0869" }, "downloads": -1, "filename": "roslibpy-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c10227b090d2cfc016fc0738fa2dca3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29143, "upload_time": "2018-08-30T14:24:49", "url": "https://files.pythonhosted.org/packages/cb/c0/1acd32d1f9e150619946a282265c3e184dce35dfd9028ab6d17ed7581862/roslibpy-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "171d9376e811fae9ed903cada2f808a4", "sha256": "c8a8bac555331a819f8e099e2dfb860bd7f2e4aba601df9a7d8fee9e995ebe4d" }, "downloads": -1, "filename": "roslibpy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "171d9376e811fae9ed903cada2f808a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32530, "upload_time": "2018-08-30T14:24:50", "url": "https://files.pythonhosted.org/packages/88/c3/23d62fc838db5935fd482fe6756dbb926923522f35618ed2f7f2d894c7a4/roslibpy-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "fe2ccdea4ff8b016b552b210f7f00c72", "sha256": "087141aca099785cb0d9a0f0d1e2d28c30f6c3540905aa5add0fb5c293a22bf8" }, "downloads": -1, "filename": "roslibpy-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe2ccdea4ff8b016b552b210f7f00c72", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29363, "upload_time": "2019-01-23T11:57:34", "url": "https://files.pythonhosted.org/packages/e3/5b/835203fd8fc83154418f8e1cf4e033bef6e83c584410c1eb71a8e00a0466/roslibpy-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d66e574fabfcff543fad4b8a30c6dabf", "sha256": "7ce154ef497e628c37ed2fc307e1ed9a3d0bebcfe563d850e9756553d59100bc" }, "downloads": -1, "filename": "roslibpy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d66e574fabfcff543fad4b8a30c6dabf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36095, "upload_time": "2019-01-23T11:57:36", "url": "https://files.pythonhosted.org/packages/dd/56/9b774775d4bd0fa049f3a7d57bd9a1f8b71b9d8f87385da061da1845017d/roslibpy-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "9e28d6cb0349299664c76912c8238d02", "sha256": "e82583f3f5ddf5b1bb9d8d32fd6b4e12db08c6ba5af7e94bde6919c0ee09d1cf" }, "downloads": -1, "filename": "roslibpy-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e28d6cb0349299664c76912c8238d02", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29503, "upload_time": "2019-04-09T04:41:11", "url": "https://files.pythonhosted.org/packages/65/65/df55ca0ca4dd24cda1d877b0a9ea6ec4aa324863127fb2376b48eb62b377/roslibpy-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c6d3032131228b23aa7925f3762b80e", "sha256": "9c3f610959b0aeee82b48c665c90d49c470c21e36459dacf8023f19c57951c08" }, "downloads": -1, "filename": "roslibpy-0.4.1.tar.gz", "has_sig": false, "md5_digest": "7c6d3032131228b23aa7925f3762b80e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36458, "upload_time": "2019-04-09T04:41:12", "url": "https://files.pythonhosted.org/packages/b9/01/95483354b956f7b16037003ece55fa2edcb6c2afe29303282ac686a90da0/roslibpy-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "82a7de5cee6c310431b9a6b3f677a140", "sha256": "203f912a597bc8c513b5e46eafad10ed5ccb050bc3e9c87418d4fe1e5ec632d7" }, "downloads": -1, "filename": "roslibpy-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "82a7de5cee6c310431b9a6b3f677a140", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30225, "upload_time": "2019-05-28T22:31:18", "url": "https://files.pythonhosted.org/packages/5f/4f/3b0219f8a49d661beeeba1934084c2a87940100dd25ba38fb06bf9ea696b/roslibpy-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6fa41ae7c24364468bdd649e5d2984d", "sha256": "4269ba1ff10d830109dbde8a7fb3deaa752f725e2807123d47b6c21484970515" }, "downloads": -1, "filename": "roslibpy-0.5.0.tar.gz", "has_sig": false, "md5_digest": "d6fa41ae7c24364468bdd649e5d2984d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37072, "upload_time": "2019-05-28T22:31:20", "url": "https://files.pythonhosted.org/packages/97/b6/b906ef2e7c5325fff49352754fe231736fceb21286bc664984ba34003a06/roslibpy-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "70954d588c9016399c1ae0c513d55e5d", "sha256": "c681532f0e8a103c81db20512423e21c2a4a6fd8466c5f74190c386900db061f" }, "downloads": -1, "filename": "roslibpy-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70954d588c9016399c1ae0c513d55e5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 32714, "upload_time": "2019-05-31T03:36:15", "url": "https://files.pythonhosted.org/packages/cf/8d/c17fc0d342e0ac9215173f4ab7bf095cea656f0807d05815e6776eec221e/roslibpy-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6953b6958496c7ecabeb32fd653ea06", "sha256": "f367671919f69b2c1754c9011d27a2a45bfed52eb0c198c3c3f36f20318779f9" }, "downloads": -1, "filename": "roslibpy-0.6.0.tar.gz", "has_sig": false, "md5_digest": "c6953b6958496c7ecabeb32fd653ea06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40728, "upload_time": "2019-05-31T03:36:17", "url": "https://files.pythonhosted.org/packages/55/c6/d7d41f4d65eff4bab51ab8bfdbbf235e181ee97ff305832bbf84b8a0b603/roslibpy-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "7f11daa590946082821956110079363d", "sha256": "2d0846977c0cab10e500a96bf9b96fe259054b371a28ca89cc218f85ba7a32c7" }, "downloads": -1, "filename": "roslibpy-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f11daa590946082821956110079363d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35292, "upload_time": "2019-09-09T15:39:58", "url": "https://files.pythonhosted.org/packages/17/04/65e95c9565244dd536be3c77057e7af3e6717b6de9537370da9193bc2aea/roslibpy-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5084deabb1b3f6872d3d877e4b3507ac", "sha256": "fea8a0bef094551b3aa52876bb50e4b2de60b2d7f49b7752eb1ecb9e2f218fab" }, "downloads": -1, "filename": "roslibpy-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5084deabb1b3f6872d3d877e4b3507ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43802, "upload_time": "2019-09-09T15:40:00", "url": "https://files.pythonhosted.org/packages/78/7b/19f3563ad16a6b6699a943697746ed7129344c2f5fa5ce6bdda0ccb4825c/roslibpy-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f11daa590946082821956110079363d", "sha256": "2d0846977c0cab10e500a96bf9b96fe259054b371a28ca89cc218f85ba7a32c7" }, "downloads": -1, "filename": "roslibpy-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f11daa590946082821956110079363d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 35292, "upload_time": "2019-09-09T15:39:58", "url": "https://files.pythonhosted.org/packages/17/04/65e95c9565244dd536be3c77057e7af3e6717b6de9537370da9193bc2aea/roslibpy-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5084deabb1b3f6872d3d877e4b3507ac", "sha256": "fea8a0bef094551b3aa52876bb50e4b2de60b2d7f49b7752eb1ecb9e2f218fab" }, "downloads": -1, "filename": "roslibpy-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5084deabb1b3f6872d3d877e4b3507ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43802, "upload_time": "2019-09-09T15:40:00", "url": "https://files.pythonhosted.org/packages/78/7b/19f3563ad16a6b6699a943697746ed7129344c2f5fa5ce6bdda0ccb4825c/roslibpy-0.7.0.tar.gz" } ] }