Comments (3)
@Robbie-Palmer Thanks lot for bringing up this interesting topic. I haven't looked into python4j in depth before. Just from the API example you provided, I have two questions about python4j
- Does python4j support the invocation of python objects or methods(
invoke
andinvokeMethod
in pemja), not just the execution of entire code fragmentsexec
. - Does python4j support calling back java in python code?
from pemja.
@HuangXingBo I believe the answer to both of those is no! So those are definitely pros versus python4j
Another key difference (with pros and cons) is python4j comes with the Python VM bundled inside the Jar, while PemJa depends on interfacing with an external Python VM
Pros:
- Can deploy as a simple Jar without environment changes
Cons:
- Python version is fixed by the version of the library
- Non standard library packages still need to be installed and the bundled Python VM pointed to them
from pemja.
@Robbie-Palmer Thanks a lot for the patient explanation. I am not sure whether python4j bundled pythonvm is a customized CPython, which will bring a lot of optimization possibilities. But from my side, dependency management is very important. It seems that the dependency management of python4j is very inconvenient.
from pemja.
Related Issues (20)
- Please create an offiical Conda install package HOT 5
- Incompatible with Official Python Docker Images: Failed to find libpython HOT 1
- Unknown Number class int. HOT 3
- Generic invokeMethod HOT 1
- Issue with Thread mode in Flink 1.16 and M1 HOT 1
- MainInterpreter implements Serializable but has non-serializable fields
- Can not import 'findClass' HOT 3
- Failed to find the function after exec HOT 1
- Can't install with python 3.10 HOT 3
- How to return a python numpy array to the Java side? The return type is java.util.List HOT 2
- Will you try to integrate Codon? HOT 1
- Is there a way to trigger a call from Python? HOT 1
- Failed to use pemja in Flink DataStream API
- Support Python 3.11 HOT 2
- 0.4.0 release has missing pom from maven central HOT 1
- Can pemja support JVM scheduling through PVM?
- Build pemja for arm64
- For developers, what tools can be used to develop multi-language projects like "pemja" on Mac?
- Torch.tensor(np.array) hangs in multi-thread interpreter
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pemja.