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 License Python Versions

Project Structure

graph TD
    A[Python ROS Engine] --> B[Core Functionality]
    A --> C[Bridging Capabilities]
    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]

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

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

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-0.1.3.tar.gz (25.7 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-0.1.3-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_ros_engine-0.1.3.tar.gz
  • Upload date:
  • Size: 25.7 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-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a7d4338e4e7868e6a029bad0a67e6480f3dd1b99cecbbe4445a091e1bc1028e3
MD5 032a58de9ac68d63b6e18de84c3a0709
BLAKE2b-256 e7eb92a970f92859b72fef415c5ce369f6161132dad870e0593d47060ff05ecb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_ros_engine-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 61693d6537ef69cbfa9cc3573b847c6904f5c6941862910241ac0f74e29d2d63
MD5 3955cc647c979b0542fe57604b335df5
BLAKE2b-256 9f7bf0e623b66ea817aed3030ba3214f071ad78bce3d66ef5603d4bb6d90a263

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