google-research / timesfm

TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.
https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting/
Apache License 2.0
3.5k stars 293 forks source link

Relax Version Bounds to enable `sktime` integration #109

Open benHeid opened 1 month ago

benHeid commented 1 month ago

Hi thank you for sharing the weights and the model code.

We are currently trying to interface timesfm in sktime. Thereby, we are struggling with the version bounds, since this is leading to a lot of conflicts with other packages and makes it very difficult to install it. Thus, I wonder if it would be possible, to relax the version bounds so that it is easier to interface in sktime.

Issue in sktime: https://github.com/sktime/sktime/issues/6408

rajatsen91 commented 1 month ago

Hi @benHeid, which of the version bounds are problematic for your integration ? Do you want us to have a version for python >= 3.11 ?

fkiraly commented 1 month ago

Just to add a comment on this (this is fkiraly, also from sktime), there is a more general statement:

The short story is a bit of a paradox:

Why: imagine there are two packages that pin everything and that you want to use. If even a single of these pins differs in version, the requirements are no longer satisfiable, i.e., the pip install resolution will fail. As a corollary, updates of pins or versions will also lead to breakages for your users.

The tl;dr is: any pin in your requirements is a significant problem for your users. I would request to change all pins to version ranges, optimally only lower bounds. A more defensive alternative is loose upper bounds (e.g., at next minor or next major - but note that this will work only if you update these regularly!).

fkiraly commented 1 month ago

Btw, some examples of the consequence of pinning can already be seen here:

https://github.com/google-research/timesfm/issues/101 https://github.com/google-research/timesfm/issues/100

As a rule of thumb that I like to apply mentally, for each user that complains there are 100s to 1000s that do not...