Skip to content

eo-tides and pyTMD incompatability #1340

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

Closed
lars-fillmore opened this issue Apr 22, 2025 · 7 comments
Closed

eo-tides and pyTMD incompatability #1340

lars-fillmore opened this issue Apr 22, 2025 · 7 comments
Assignees

Comments

@lars-fillmore
Copy link

A recent change to the setup.py file for dea-tools has not resolved the version incompatibilities with eo-tides.

pyTMD!=2.1.7 results in the build installing version 2.1.6 rather than 2.2.2

dea-tools installed using pip install dea-tools --no-cache-dir

@robbibt robbibt self-assigned this Apr 22, 2025
@robbibt
Copy link
Member

robbibt commented Apr 22, 2025

Thanks @lars-fillmore - I'm aware of this issue, and it's affecting us too. Out of interest, are you using the tide modelling functions in dea_tools.coastal, e.g. pixel_tides and model_tides? The challenge is that those functions have been deprecated in favour of improved versions in eo-tides - and it's not possible to get a version of pyTMD that works with both the old dea_tools.coastal code and the new eo-tides code. So if you want to use eo-tides (which we recommend), you won't be able to use the deprecated versions of those functions from dea-tools.

I'll prioritise a fix for this (probably by removing the pin completely) - for now I think you should be able to work around it by installing DEA Tools first (which will give you the old version of pyTMD), and then install eo-tides after that (which will hopefully upgrade pyTMD too). But once you have installed eo-tides, you'll no longer be able to use dea_tools.coastal tide modelling functions.

@lars-fillmore
Copy link
Author

I'm switching my use of pixel_tides from dea_tools.coastal to eo_tides.eo , but I'm still using some functions from dea_tools.spatial

I can successfully use the suggested workaround locally, but on my docker build process it's failing. Either pin both modules to the same version of pyTMD (maybe version 2.2.2) or unpin both, which ever works for you

@robbibt
Copy link
Member

robbibt commented Apr 24, 2025

I'm switching my use of pixel_tides from dea_tools.coastal to eo_tides.eo , but I'm still using some functions from dea_tools.spatial

Yep, cool - you should be able to keep using other functions from dea_tools, just not the tide modelling ones.

I do need to keep the pyTMD pin in eo-tides due to compatability issues, but I think removing it from dea_tools should still allow you to build a correct Docker environment - we can try it and then re-visit if it doesn't work. Will try and get something for you to test by today!

@robbibt
Copy link
Member

robbibt commented Apr 24, 2025

Actually @lars-fillmore, turns out we did fix this issue, but simply never released it. Can you try one of these pre-release and see if they work for you? https://pypi.org/project/dea-tools/#history

The pin you get with pip install dea-tools is pyTMD<=2.1.6, but it's pyTMD!=2.1.7 in the pre-releases.

@robbibt
Copy link
Member

robbibt commented Apr 24, 2025

Just published a new version 0.3.6, so pip install dea-tools should now work too: https://pypi.org/project/dea-tools/

@lars-fillmore
Copy link
Author

@robbibt I can confirm this has now been resolved. FYI, there are many other non dea-tools module related changes that had affected my combined use of dea-tools and eo-tides. Upgrades to other packages such as odc-stac and pystac were the main culprits. Will close this issue.

@robbibt
Copy link
Member

robbibt commented May 1, 2025

@lars-fillmore I'd really love to know more - please feel free to post some more issues and we'll do what we can to resolve them!

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

2 participants