Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Python ROS Bridge library allows to use Python and IronPython to interact
with ROS <http://www.ros.org>
, the open-source robotic middleware.
It uses WebSockets to connect to
rosbridge 2.0 <http://wiki.ros.org/rosbridge_suite>
and provides publishing,
subscribing, service calls, actionlib, TF, and other essential ROS functionality.
Unlike the rospy <http://wiki.ros.org/rospy>
_ library, this does not require a
local ROS environment, allowing usage from platforms other than Linux.
The API of roslibpy is modeled to closely match that of roslibjs
_.
ROS1 is fully supported. ROS2 support is still in progress.
tf2_web_republisher
.Roslibpy runs on Python 3.x and IronPython 2.7.
To install roslibpy, simply use pip
::
pip install roslibpy
For IronPython, the pip
command is slightly different::
ipy -X:Frames -m pip install --user roslibpy
Remember that you will need a working ROS setup including the rosbridge server and TF2 web republisher accessible within your network.
The full documentation, including examples and API reference
is available on readthedocs <https://roslibpy.readthedocs.io/>
_.
Make sure you setup your local development environment correctly:
roslibpy <https://github.com/gramaziokohler/roslibpy>
_ repository.::
pip install -r requirements-dev.txt
You're ready to start coding!
During development, use pyinvoke <http://docs.pyinvoke.org/>
_ tasks on the
command prompt to ease recurring operations:
invoke clean
: Clean all generated artifacts.invoke check
: Run various code and documentation style checks.invoke docs
: Generate documentation.invoke test
: Run all tests and checks in one swift command.invoke
: Show available tasks.For more details, check the Contributor's Guide available as part of the documentation <https://roslibpy.readthedocs.io/>
_.
The default branch was recently renamed to main
. If you've already cloned this repository,
you'll need to update your local repository structure with the following lines:
::
git branch -m master main
git fetch origin
git branch -u origin/main main
Ready to release a new version roslibpy? Here's how to do it:
We use semver <http://semver.org/>
_, i.e. we bump versions as follows:
patch
: bugfixes.minor
: backwards-compatible features added.major
: backwards-incompatible changes.Update the CHANGELOG.rst
with all novelty!
Ready? Release everything in one command:
::
invoke release [patch|minor|major]
This library is based on roslibjs
_ and to a
large extent, it is a line-by-line port to Python, changing only where a more
idiomatic form makes sense, so a huge part of the credit goes to the
roslibjs authors <https://github.com/RobotWebTools/roslibjs/blob/develop/AUTHORS.md>
_.
.. _roslibjs: http://wiki.ros.org/roslibjs
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog <http://keepachangelog.com/en/1.0.0/>
_
and this project adheres to Semantic Versioning <http://semver.org/spec/v2.0.0.html>
_.
Added
Changed
Fixed
Deprecated
Removed
Added
roslibpy.ros2.Header
.Changed
Fixed
Deprecated
Removed
Added
Changed
Fixed
Deprecated
Removed
Added
Changed
Fixed
Deprecated
Removed
Added
Changed
tls
to the twisted requirement (#111).Fixed
Deprecated
Removed
Added
Changed
Fixed
Deprecated
Removed
Added
Changed
black
for python code formatting.black
and flake8
.raise Exception
with more specific Exception
subclasses.Fixed
Deprecated
Removed
Added
Fixed
Time
is always two integers.Added
Changed
Fixed
Deprecated
Removed
Changed
Added
Header
and Time
data types.ros.get_time
.Added
set_initial_delay
, set_max_delay
and set_max_retries
to RosBridgeClientFactory
to control reconnection parameters.closing
event to Ros
class that gets triggered right before closing the connection.Changed
Added
ros.get_nodes
and ros.get_node_details
.Fixed
Fixed
Changed
run()
now defaults to 10 seconds timeout before raising an exception.Added
ros.get_topics
.roslibpy topic list
.Param
class.Ros
class: get_param
, set_param
, delete_param
.Changed
timeout
parameter of Goal.send()
is now expressed in seconds, instead of milliseconds.Deprecated
timeout
parameter of ActionClient()
is ignored in favor of blocking until the connection is established.Fixed
Added
Changed
on_ready
handlers.Added
Fixed
Fixed
Added
Changed
Fixed
Added
Changed
on_ready
now defaults to run the callback in thread.Deprecated
run_event_loop
to the more fitting run_forever
.Fixed
Added
FAQs
Python ROS Bridge library.
We found that roslibpy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.