genpyi
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.
Metadata
Release files for genpyi 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| genpyi-0.2.0.tar.gz | 13.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| genpyi-0.2.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 28.2 kB
Release files / genpyi-0.2.0.tar.gz
| Download URL | genpyi-0.2.0.tar.gz |
|---|---|
| Size | 13.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
311ec5b2cb9ac399ba8b5298b5982e2cacd63eac7f5cd1ea343a642984e55142
|
|
BLAKE2b-256 checksum How to use checksums |
813c43ce11bd71ef28479ef70df90b71578681ae0b81d134937902f6f6721071
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / genpyi-0.2.0-py2.py3-none-any.whl
| Download URL | genpyi-0.2.0-py2.py3-none-any.whl |
|---|---|
| Size | 14.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
a9629a2675edcc14085c4b2b94e3dd0a81d1d93fbac993997c4ec2e3be5f62a2
|
|
BLAKE2b-256 checksum How to use checksums |
f601a281e7448c12bde89a8f3e781325c6e250362440c7bc18e326eb0266c079
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|