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

[MNT] full test run with minimal dependencies #4016

Open
wants to merge 33 commits into
base: main
Choose a base branch
from
Open

Conversation

fkiraly
Copy link
Collaborator

@fkiraly fkiraly commented Dec 29, 2022

This adds a full test run with minimal versions and minimal dependencies, under python 3.7 and ubuntu, to test at the lower end of sktime's support range.

Depends on:

@fkiraly fkiraly added the maintenance Continuous integration, unit testing & package distribution label Dec 29, 2022
fkiraly added a commit that referenced this pull request Jan 10, 2023
This PR contains downwards compatibility fixes for the minimal version dependency set currently supported by `sktime`.
Because CI was not testing for minimal version dependencies, there have been punctual divergences in compatibility with the minimal dependency set. This PR aims to fix this.

PR #4016 introduces a CI element to test on the minimal dependency set, against which the fixes in this PR are developed.

Fixes:
* old `sklearn` versions require an experimental enablement flag for use of `HistGradientBoostingRegressor`. The fix is to include that flag conditional on `sklearn` version.
* the `DateTimeFeatures` transformer depends on `pandas` `DatetimeProperties` which is only available in its current form since `pandas 1.2.0`. The fix is to include this as a dependency requirement in the estimator and isolate the tests conditionally.

Depends on:
* #4044 as PEP 440 specifiers are introduced in estimator dependencies
klam-data pushed a commit to CodeSmithDSMLProjects/sktime that referenced this pull request Jan 18, 2023
…e#4041)

This PR contains downwards compatibility fixes for the minimal version dependency set currently supported by `sktime`.
Because CI was not testing for minimal version dependencies, there have been punctual divergences in compatibility with the minimal dependency set. This PR aims to fix this.

PR sktime#4016 introduces a CI element to test on the minimal dependency set, against which the fixes in this PR are developed.

Fixes:
* old `sklearn` versions require an experimental enablement flag for use of `HistGradientBoostingRegressor`. The fix is to include that flag conditional on `sklearn` version.
* the `DateTimeFeatures` transformer depends on `pandas` `DatetimeProperties` which is only available in its current form since `pandas 1.2.0`. The fix is to include this as a dependency requirement in the estimator and isolate the tests conditionally.

Depends on:
* sktime#4044 as PEP 440 specifiers are introduced in estimator dependencies
@fkiraly
Copy link
Collaborator Author

fkiraly commented Aug 5, 2023

any ideas about the strange error in the test-minimaldeps?

@benHeid, @yarnabrina

@benHeid
Copy link
Contributor

benHeid commented Aug 10, 2023

This is just a guess:
After some investigations, I have the feeling that this error occurs mainly if there are problems with the installed numpy version and the version that is used for compiling other packages. Comment in an issue in SKLearn on that topic

If this is really the problem, then we might need to separate the installation into two commands. First, we need to install numpy. Afterwards, we can install the rest.

@fkiraly
Copy link
Collaborator Author

fkiraly commented Aug 10, 2023

yes, I also got that - somehow it seems two numpy versions get installed?

This wasn't the case ca 6 months ago when this PR first got opened though, so I also am not sure on what would have changed here.

@benHeid
Copy link
Contributor

benHeid commented Aug 10, 2023

I guess that the runner has a numpy version installed via apt-get. During the last six months this numpy version was updated. If the updated version now has a new feature which the minimal dependency does not have. Then this would mean that scipy is built with a new feature that is not available in the older numpy version which is installed after building the wheels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Continuous integration, unit testing & package distribution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants