Skip to main content

A pure Python implementation of ROS2 functionality with bridging capabilities

Project description

Python ROS2 Engine

A pure Python implementation of ROS2 core functionality with bridging capabilities to interact with native ROS nodes.

PyPI version PyPI version License Python Versions GitHub Pages

Project Structure

graph TD
    A[Python ROS Engine] --> B[Core Functionality]
    A --> C[Bridging Capabilities]
    A --> D[Launch System]
    B --> B1[Node Management]
    B --> B2[Publishers/Subscribers]
    B --> B3[Services/Clients]
    B --> B4[Parameters]
    B --> B5[Timers]
    C --> C1[ROS1 Bridge]
    C --> C2[Message Translation]
    D --> D1[Launch Description]
    D --> D2[System Status]

Features

  • Node creation and lifecycle management
  • Publisher and subscriber patterns with Quality of Service (QoS) profiles
  • Service and client communication
  • Parameter handling with callbacks
  • Topic and service discovery
  • Timer functionality
  • ROS1 bridging capabilities for node/topic/service discovery
  • Message translation between Python ROS engine and native ROS
  • Configuration with Hydra best practices
  • Launch system for managing multiple nodes
  • System status reporting for nodes, topics, and services

Installation

From PyPI

pip install python-ros-engine

From Source

git clone https://github.com/yhbcode000/python-ros-engine.git
cd python-ros-engine
pip install -e .

Documentation

Comprehensive documentation is available at: https://yhbcode000.github.io/python-ros-engine/

For information about building and serving the documentation locally, see the project structure document which describes the build_docs.py script that can be used for this purpose.

Examples

See the examples directory for complete working examples:

  • Publisher/Subscriber examples
  • Service/Client examples
  • Bridge examples
  • Launch system examples

We've also included a complete example project that demonstrates how to build a robot system with multiple interconnected nodes.

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to contribute to this project.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_ros_engine-1.0.1.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_ros_engine-1.0.1-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file python_ros_engine-1.0.1.tar.gz.

File metadata

  • Download URL: python_ros_engine-1.0.1.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.7

File hashes

Hashes for python_ros_engine-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f8b53f3e3477381dc196749efceeae9213e9a7372aaf5e1728a4061763008934
MD5 97cd28d5a3fa0a44df7f340a3ddcc0ed
BLAKE2b-256 65324a6812fb34874bd49eee3bf878f8d505a214a02bd2766b49b58fbe5a3152

See more details on using hashes here.

File details

Details for the file python_ros_engine-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for python_ros_engine-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f7004289f4f27362157b3e464f8f05d2807c33a6b4a903195f16bd852adb15c
MD5 95210debfee13b78ff624f01db7990ad
BLAKE2b-256 4eb0a8cf621005910ede81025ae420675864bead0f08bd2ddcb4f01e4eea14b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page