Skip to main content

A Python stub generator from genmsg specs

Project description

A Python stub generator from genmsg specs

Installation

pip install genpyi

Usage

catkin

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

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

Examples:

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

CLI

$ genpyi --help
Usage: genpyi [-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
$ genpyi msg custom_msgs custom_msgs/msg/Custom.msg
$ genpyi msg std_msgs --out-dir out /opt/ros/melodic/share/std_msgs/msg/Header.msg
$ genpyi msg sensor_msgs --out-dir out \
    -Istd_msgs:/opt/ros/melodic/share/std_msgs/msg \
    -Isensor_msgs:/opt/ros/melodic/share/sensor_msgs/msg \
    /opt/ros/melodic/share/sensor_msgs/msg/PointCloud2.msg

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

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

genpyi msg / genpyi srv:

Usage: genpyi {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

genpyi module:

Usage: genpyi 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

genpyi-0.2.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

genpyi-0.2.0-py2.py3-none-any.whl (14.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file genpyi-0.2.0.tar.gz.

File metadata

  • Download URL: genpyi-0.2.0.tar.gz
  • Upload date:
  • Size: 13.7 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 genpyi-0.2.0.tar.gz
Algorithm Hash digest
SHA256 311ec5b2cb9ac399ba8b5298b5982e2cacd63eac7f5cd1ea343a642984e55142
MD5 ae983a051ff58a340d3ec2f590eff834
BLAKE2b-256 813c43ce11bd71ef28479ef70df90b71578681ae0b81d134937902f6f6721071

See more details on using hashes here.

File details

Details for the file genpyi-0.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: genpyi-0.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.6 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 genpyi-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a9629a2675edcc14085c4b2b94e3dd0a81d1d93fbac993997c4ec2e3be5f62a2
MD5 879e7fa976bcbc07d111cde1b9874e7c
BLAKE2b-256 f601a281e7448c12bde89a8f3e781325c6e250362440c7bc18e326eb0266c079

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