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

Add conda-forge pacakge #92

Open
IslamAlam opened this issue Oct 28, 2022 · 7 comments
Open

Add conda-forge pacakge #92

IslamAlam opened this issue Oct 28, 2022 · 7 comments
Assignees

Comments

@IslamAlam
Copy link

IslamAlam commented Oct 28, 2022

Hey 👋 JPY developer team,

I have created a PR for conda package to make it easier to install the JPY and later ESA-SNAP.

The PR has been built successfully:
conda-forge/staged-recipes#20862

Please let me know if you wanna add any of the contributors to the maintenance list.

FYI, I am working on SNAP conda package as well. As soon as, this PR is merged, I will push the SNAP package too.
conda-forge/staged-recipes#18709

@devinrsmith
Copy link
Member

Thanks for the ping. I'm not very familiar with the conda / conda-forge building - the building process for jpy is pretty intricate, and has some architecture OS-specific concerns that I don't think are captured well by the default setup.py.

For example, to create a re-distributable wheel, certain workarounds are invoked during the build process:

Most of the process is captured https://github.com/jpy-consortium/jpy/blob/master/.github/workflows/build.yml, but there are some steps (macOS M1) that aren't fully automated yet.

Is it possible to simply repackage the existing wheel files from PyPi? https://pypi.org/project/jpy/0.12.0/#files

@devinrsmith devinrsmith self-assigned this Oct 28, 2022
@IslamAlam
Copy link
Author

IslamAlam commented Oct 29, 2022

@devinrsmith After merging it to conda, I can update it with the published wheel. 
Version 8 and 9 of SNAP is only compatible with the jpy v0.9.0. Hence, I need this version to pin for SNAP conda package.

Afterward, I will repackage the other versions' existing wheel files from PyPi.

@IslamAlam
Copy link
Author

IslamAlam commented Nov 2, 2022

@devinrsmith

Regarding this comment: conda-forge/staged-recipes#20952 (comment)

What is the most appropriate way to test the package for a successful build?
Would this be sufficient to only import jpy?

Would you like to be added as a maintainer for the package?

@IslamAlam
Copy link
Author

IslamAlam commented Nov 2, 2022

Do you think that it would be possible to build the wheel and publish it for an older version?

Hence, I could just use the published wheel for the older version, and would be a little work to update it to the latest version.

@devinrsmith
Copy link
Member

@IslamAlam - sorry, I missed these questions.

I / we (https://github.com/deephaven) started maintaining jpy and publishing new releases (PyPi wheels) starting with 0.11.0, which includes non-trivial changes to the build process and CI. Unfortunately, I don't think we have the bandwidth to investigate what it would take to support doing the same for older releases.

Is it possible that you could update to newer jpy releases? I'd be happy to help with any migration concerns you might have. There are also other community members who would like newer jpy releases in conda, so I'm investigating what that would take right now.

@devinrsmith
Copy link
Member

What is the most appropriate way to test the package for a successful build?
Would this be sufficient to only import jpy?

I think there are two tests that should be done to make sure things look correct:

  1. Start java from python (jpyutil.init_jvm)
  2. Start python from java (io.jpy.PyLib#startPython)

Of course, there is a lot of additional tests to ensure all the features and functionality work as expected (lots of details on the boundary crossings between java and c python).

@ilyanoskov
Copy link

I second this, it's very much needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants