Skip to main content

A Python stub generator from genmsg specs

Project description

A Python stub generator from genmsg specs

Installation

If you use catkin and need CMake support for the genmypy generator, clone the repository and add it to your catkin workspace.

cd /path/to/your/ws
git clone https://github.com/rospypi/genmypy.git

If you don’t need the cmake support, you can also install it from pypi.org:

pip install genmypy

Usage

catkin

Add genmypy along with message_generation to find_package in CMakeLists.txt. genmsg will find genmypy automatically when building msg/srv files.

Also, keep in mind that your package should have the build dependency for genmypy in package.xml to make sure that catkin finishes the build of genmypy before building your package.

Examples:

  • CMakeLists.txt
    find_package(catkin REQUIRED COMPONENTS std_msgs message_generation genmypy)
  • package.xml
    <build_depend>genmypy</build_depend>

CLI

$ genmypy --help
Usage: genmypy [-h] {msg,srv,module} ...
positional arguments:
  {msg,srv,module}
    msg             Generate stub files from .msg files
    srv             Generate stub files from .srv files
    module          Generate __init__.pyi from a msg/srv directory

optional arguments:
  -h, --help        show this help message and exit

Examples:

# Message files
$ genmypy msg custom_msgs custom_msgs/msg/Custom.msg
$ genmypy msg std_msgs --out-dir out /opt/ros/noetic/share/std_msgs/msg/Header.msg
$ genmypy msg sensor_msgs --out-dir out \
    -Istd_msgs:/opt/ros/noetic/share/std_msgs/msg \
    -Isensor_msgs:/opt/ros/noetic/share/sensor_msgs/msg \
    /opt/ros/noetic/share/sensor_msgs/msg/PointCloud2.msg

# Service files
$ genmypy srv custom_msgs custom_msgs/srv/Custom.msg
$ genmypy srv nav_msgs --out-dir out \
    -Istd_msgs:/opt/ros/noetic/share/std_msgs/msg \
    -Isensor_msgs:/opt/ros/noetic/share/sensor_msgs/msg \
    /opt/ros/noetic/share/sensor_msgs/srv/SetCameraInfo.srv

# Module files
$ genmypy module custom_msgs/msg
$ genmypy module --module-finder py --out out \
    /opt/ros/noetic/lib/python2.7/dist-packages/std_msgs/msg/

genmypy msg / genmypy srv:

Usage: genmypy {msg,srv} [-h] [--out-dir OUT_DIR]
                        [--include-path INCLUDE_PATH]
                        package files [files ...]

positional arguments:
  package               Package name of given files
  files                 Files to generate stubs

optional arguments:
  -h, --help            show this help message and exit
  --out-dir OUT_DIR     Output directory. If the option is unset, each stub
                        file will be generated in the same directory as each
                        input.
  --include-path INCLUDE_PATH, -I INCLUDE_PATH
                        Include paths for processing given files

genmypy module:

Usage: genmypy module [-h] [--out-dir OUT_DIR] package_dir

Positional arguments:
  package_dir        Package directory to create __init__.pyi

Optional arguments:
  -h, --help         show this help message and exit
  --out-dir OUT_DIR  Output directory. If the option is unset, __init__.pyi
                     will be generated in the same directory as package_dir.

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

genmypy-0.3.1.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

genmypy-0.3.1-py2.py3-none-any.whl (23.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file genmypy-0.3.1.tar.gz.

File metadata

  • Download URL: genmypy-0.3.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for genmypy-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e5d8c1383a1e6433794bcc8fb7816d17967f425550b048c264658d95173e2958
MD5 d23ab56b5d093f8715c9fc81650ffe72
BLAKE2b-256 831cf66d7b99b84ce0b67c37aee27ab25a92bdc9a164ec33e7acfba183d2f770

See more details on using hashes here.

File details

Details for the file genmypy-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: genmypy-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for genmypy-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 502bb0ab2c838d0d2f2ad07f6fab8b4ba02498ca0e5366011780e1e7c397026e
MD5 5ac594f400c1ccd355c3775a375275e3
BLAKE2b-256 e8f28432a336d914c8f85f5b5d8261a3a8d7a11b02f7534de45b9bc49512c319

See more details on using hashes here.

Supported by

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