Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recheck PyObject.callMethod/call semantics, review other options #2793

Open
niloc132 opened this issue Sep 1, 2022 · 0 comments
Open

Recheck PyObject.callMethod/call semantics, review other options #2793

niloc132 opened this issue Sep 1, 2022 · 0 comments
Assignees
Labels
Milestone

Comments

@niloc132
Copy link
Member

niloc132 commented Sep 1, 2022

After jpy-consortium/jpy#87 is resolved, revisit usages of PyObject (such as can be found in #2763), and check our callMethod/call semantics. We may find that some usages need not be so generic, and can be replaced by proxy usage as well.

For example, PyObject.call("__call__", ...) is explicitly invoking the __call__ method on a Callable instance. If I understand this correctly, and it is actually a method and not a function that happens to be assigned to the instance, this is supposed to be a callMethod invocation despite being used to call a Callable.

If JPy enhances its callMethod and possible offers more powerful python proxy support, we can probably improve/replace many of these cases to avoid extra work done by the developer to make the call and extra objects for the runtime to deal with.

@niloc132 niloc132 added bug Something isn't working jpy labels Sep 1, 2022
@niloc132 niloc132 added this to the Oct 2022 milestone Sep 1, 2022
niloc132 added a commit that referenced this issue Sep 1, 2022
)

Reworks how we handle logging between Java and Python, giving Python code
more control over and more visibility into the stdout and stderr streams.
These changes also make it possible to see the same logs in both the web UI
and the python terminal, in the case of DHaaL from Python.

Follow-up is required to address some inefficiency around PyObject's tools
for calling methods, see #2793.

For #2723, jpy-consortium/jpy#85 is also required, to deal with zero-length
bytestrings.

Fixes #2734
Partial #2723
@pete-petey pete-petey modified the milestones: Oct 2022, Apr 2023 Apr 19, 2023
@pete-petey pete-petey modified the milestones: Apr 2023, August 2023 Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants