PEP-484 python stub生成器,用于通过JPype访问Java类
项目描述
stubgenj
PEP-484 python stub生成器,用于通过JPype导入系统使用Java模块。最初基于mypy stubgenc。
通过cmmnbuild-dep-manager使用
$ python -m cmmnbuild_dep_manager stubgen
在cmmnbuild_dep_manager中注册的每个包都可以通过在__cmmnbuild_deps__旁边定义__stubgen_packages__来请求为特定前缀生成存根。
有关更多详细信息,请参阅cmmnbuild_dep_manager文档。
命令行使用
$ python -m stubgenj --help
usage: __main__.py [-h] [--jvmpath JVMPATH] [--classpath CLASSPATH]
[--output-dir OUTPUT_DIR] [--convert-strings]
[--no-stubs-suffix]
prefixes [prefixes ...]
Generate Python Type Stubs for Java classes.
positional arguments:
prefixes package prefixes to generate stubs for (e.g.
org.myproject)
optional arguments:
-h, --help show this help message and exit
--jvmpath JVMPATH path to the JVM ("libjvm.so", "jvm.dll", ...)
(default: use system default JVM)
--classpath CLASSPATH
java class path to use, separated by ":". glob-like
expressions (e.g. dir/*.jar) are supported (default:
.)
--output-dir OUTPUT_DIR
path to write stubs to (default: .)
--convert-strings convert java.lang.String to python str in return
types. consult the JPype documentation on the
convertStrings flag for details
--no-stubs-suffix do not use PEP-561 "-stubs" suffix for top-level
packages
--no-javadoc do not generate docstrings from JavaDoc where
available
例如,使用cmmnbuild-dep-manager的JARs生成java包cern.lsa.*
和java.*
的存根
$ python -m stubgenj --convert-strings --classpath "/path/to/cmmnbuild_dep_manager/lib/*.jar" cern.lsa java
存根将作为仅存根包(PEP-561)放入工作目录中。
Python API使用
启动JVM,启用JPype导入系统,然后调用stubgenj.generateJavaStubs
。
使用纯JPype
import jpype
import stubgenj
jpype.startJVM(None, convertStrings=True) # noqa
import jpype.imports # noqa
import java.util # noqa
stubgenj.generateJavaStubs([java.util], useStubsSuffix=True)
通过cmmnbuild-dep-manager
import cmmnbuild_dep_manager
import stubgenj
with cmmnbuild_dep_manager.Manager().imports():
import java.util # noqa
stubgenj.generateJavaStubs([java.util], useStubsSuffix=True)
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
stubgenj-0.2.12.tar.gz (23.7 kB 查看哈希值)
构建分发
stubgenj-0.2.12-py3-none-any.whl (22.1 kB 查看哈希值)
关闭
stubgenj-0.2.12.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b49240edbbb1c89f449b7cb547b0dac8fde531366641dad07b0a83e634c91f1f |
|
MD5 | fe92e01d4fda096c224753fdcb069a60 |
|
BLAKE2b-256 | 3efba437e750af248b89d871ef011d56d00fd4d3cf6539d74b5f6d4e4d4b7c4b |
关闭
stubgenj-0.2.12-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bf7cc475536e92e5958c8e2dcbb5c1d7cfbb3753b17f4df2ac86e0b385ee6683 |
|
MD5 | 8cedb300986e4e2afa573b4a6a4d849f |
|
BLAKE2b-256 | 47ba408d9c326f8f6a7dcb6ca181f97b256f32cd64289b4c59ff224964be5f8a |