-
Notifications
You must be signed in to change notification settings - Fork 243
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
Let's get MintPy on conda-forge #648
Comments
👋 Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible. We appreciate that you took the time to contribute! |
There's also a few things MintPy could do (that we can help with) to significantly improve the packaging and distribution of MintPy, most of which would simplify the conda-forge recipe and make windows support in particular a lot easier. This will mainly boil down to:
I can expand on these in this issue, or in more focused issues/PRs -- I'm leaning towards more focused issues/PRs to keep this issue focused on "MintPy v1.3.1 on conda-forge and any testing feedback", but happy follow your preference. |
I tried adding mintpy via conda to the insar_analysis env in OpenSARlab, replacing the old install in our script with the new conda install and adding the hyp3 channel. The env created successfully. Then I tried running notebooks/SAR_Training/English/Hazards/LosAngeles_time_series.ipynb It hung up on |
@Alex-Lewandowski oh you're right! chmod ug+x ${MINTPY_HOME}/*.py I've pushed a commit to fix that, and an error with the deactivation script. I'll push a new build sunday that will fix those errors.
EDIT: The should be fixed now! |
@Alex-Lewandowski I just pushed another build; this should be fixed now! |
Thanks @jhkennedy! |
Just tested in OpenSARlab and it is running smoothly! I'll update the our conda environments to use it. |
This is awesome. Thank you @jhkennedy and @Jlrine2 for making the long-desired conda-forge recipe happening!!! On the organizational side:
On the technical side:
I will test it later in the week and give you some feedback. I have copied your suggestions of changes in mintpy to simplify the conda-forge recipe at #652. |
Okay, I'd say make a GitHub release for it (conda-forge work fine pointing at github releases), and if/when^ @AngeliqueBenoit merges your changes and publishes to PyPI, we could cut over to it easily. Really, it might be worth proposing:
Yep, not an issue to point conda-forge at GitHub, and since that PyPI project seems dead, I don't think anyone will care about name conflicts (that pysolid isn't in conda-forge either). Really, for both of these, the conda-forge reviewers will check on it and we can work with them for anything the give us feedback on. So, as soon as you cut a PyAPS release, I can open the conda-forge PR! ^ I don't expect this to happen as AngeliqueBenoit/pyaps3#2 was opened 8 mo ago and it hasn't been touched, or commented on. |
@jhkennedy here is the released version of PyAPS on Thank you for the constructive suggestions as well! |
Alright! I've opened the PR to get MintPy on conda forge! conda-forge/staged-recipes#16050 @yunjunz I've added you as a maintainer -- you'll just need to comment you're willing to be so on the PR. @hfattahi , since I haven't heard from you, I didn't list you. Once the feedstock is available, you can request to be added if you want: https://conda-forge.org/docs/maintainer/updating_pkgs.html#updating-the-maintainer-list |
Just a question. I noticed in the PR that PySolid for Windows will not be included for now. I've been using Windows for MintPy for a while (Windows 8). Does that mean that if I try to install MintPy for my Windows OS via conda-forge then MintPy will not work since it is missing PySolid? EDIT: Sorry you may disregard this. I just reread the first post. It seems to have been updated and answered my question. |
@pbrotoisworo you're correct, the current conda-forge PR (Supporting MintPy 1.3.1) will not have windows builds for PySolid and MintPy. Once all three recipes get on conda-forge, they will have their own feedstocks and it'll be easier and faster to fix the PySolid recipe (I won't have to wait on the other builds and dig through all the logs for all three recipes). It shouldn't be too hard I just have to fight through some linking issues. So shortly there-after there'll be a new build with windows support -- I'll ping you when it's available. |
Hi @jhkennedy, I just tried Here are my feedbacks/suggestions:
(mintpy) kamb:~>$ echo $MINTPY_HOME
/lib/python3.8/site-packages/mintpy
|
Yep! I fixed it in this commit for the staged recipe (I did some simplifying/refactoring and forgot to switch
That'll need to be fixed in MintPy itself and is associated with the
We could, but with the current test setup, I don't think it's a good idea. The current tests are more integration tests (download data, long run times, etc) which are likely to overtax the limited CI/CD infrastructure conda-forge provides (for free!). Generally, conda-forge test are to check basic things -- is the package installed correctly (files are where I expect them, I can execute the expected scritps, etc), not is the installed package running correctly. Integration tests are better handled before release by the package itself. Note: This is a science package centric view, where integration and larger testing usually involves "large" data sets and longer run times. There are ways to package tests with the package itself, but those tests should be small and fast.
I think this is probably a good idea if you're willing to! Most all the python testing software (e.g., pytest) will use
For PySolid, we'll definitely want to test whether the compiled code is compiled correctly and some basic unit tests would be nice. I haven't looked at those tests much yet, so not sure, but the same generally applies for MintPy and PySolid. |
🥳 conda-forge/staged-recipes#16050 was merged! I'll close this issue (if no objections) once the feedstock is created and build is available. |
Thank you @jhkennedy for the awesome contribution!!! I cannot wait to try it. |
PyAPS3 and PySolid are all now available for install on conda-forge! PyAPS3 0.2.0 (noarch; linux, mac, windows for Python >=3.6)conda install -c conda-forge pyaps3 Recipe will be maintained in the PySolid v0.1.2 (linux, mac for Python >= 3.6)conda install -c conda-forge pysolid Recipe will be maintained in the Note: Still waiting for MintPy to be available |
MintPy is available for install on conda-forge! MintPy v1.3.1 (linux, mac for Python >=3.6,<3.9)conda install -c conda-forge mintpy Recipe will be maintained in the |
We've got a recipe (well, recipes) to get MintPy v1.3.1 (and PyAPS3 and PySolid) on conda-forge mostly ready to go, but there are a few things that need to be resolved before we can open the PR to conda-forge/staged-recipes.
On the technical side:
pip
installing the repository viagit+https
),yunjunz/PyAPS
andAngeliqueBenoit/pyaps3
? I'm basing off ofyunjunz/PyAPS
becauseAngeliqueBenoit/pyaps3
appears abandoned and @AngeliqueBenoit doesn't seem to be around?On the organizational side:
We'd like your blessing to put MintPy on conda-forge (I think we got it in this comment, but it's always good to double check)
We need to know who to list as a maintainers of the conda-forge recipe (there will be spam)? So far I have (GitHub ids):
@yunjunz, I'm assuming you would like to be as well?
Note: This is entirely optional -- we're willing to maintain the recipe even if no one from MintPy wants too.
I'd love it if the MintPy developers would take it for a spin and let me know if you encounter any problems. I've built a linux version using the conda-forge build process locally, and uploaded it to the hyp3 conda channel for testing (mac will need to wait until it's on conda-forge as working the conda-forge pipeline locally on mac is... hard). You can set up a new conda environment with MintPy installed (recommended) like:
Or install it into an existing environment with:
Either should set up all the necessary paths and environment variables just like if you followed the conda install instructions.
Importantly, MintPy's test directory, with
test_smallbaselineApp.py
will not be included in the conda package, so if you want to run those tests, you'll need to:conda activate conda-mintpy git clone https://github.com/insarlab/MintPy.git cp -r MintPy/test ${MINTPY_HOME}/../ MintPy/test/test_smallbaselineApp.py
And
test_smallbaselineApp.py
will be executed in theconda-mintpy
environment against the conda-forge build of MintPy.The text was updated successfully, but these errors were encountered: