Import your Java packages seamlessly into CPython.
We'll create a temporary file in Java and then read it in Python to illustrate the usage:
>>> import java
>>> with java:
... from java.lang import String
... from java.nio.file import Files
...
>>> temp_path = Files.createTempFile('sample', '.tmp')
>>> sample_text = String('Greetings from Java')
>>> Files.write(temp_path, sample_text.getBytes())
<java.nio.file.Path at 0x... jclass=java/nio/file/Path jself=...>
>>> with open(temp_path.toString()) as f:
... print(repr(f.read()))
...
'Greetings from Java'
You can also use _
as a short alias for java.lang
:
>>> with java:
... from _ import System
...
>>> System.getProperty('java.specification.version')
'1.8'
Wildcard imports (such as from java.util import *
) are not supported yet.
Either PyJNIus or JavaBridge. PyJNIus is preferred, as JavaBridge cannot disambiguate overloaded methods with the same number of parameters.
$ pip install import-java
MIT.
- pythonnet - Import .NET CLR modules
- hack-py-import - Import your C libraries