Skip to content

Conversation

tvdboom
Copy link
Collaborator

@tvdboom tvdboom commented Sep 28, 2023

Describe the changes you've made

Add support for python 3.11.

Additionnaly, fix a bug in test_classification_custom_metric.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, local variables)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

@tvdboom
Copy link
Collaborator Author

tvdboom commented Oct 5, 2023

@Yard1 @ngupta23 Can you guys have a look? It's unclear to me which dependency is making it fail here. Also, why aren't we supporting pandas>2.0. I think we should also try to support that for next release.

@moezali1
Copy link
Collaborator

moezali1 commented Oct 6, 2023

numba <0.58 is not supported on python 3.11.

image

@amotl
Copy link
Contributor

amotl commented Oct 31, 2023

Hi there,

first things first: Thanks a stack for conceiving and maintaining PyCaret, and for working on this patch.

We have been tripped by missing support for Python 3.11 when trying to bring in support for MLflow on our CI.

In this spirit, we wanted to probe if corresponding support would be around the corner, or if you would like to see us supporting you on this matter, when possible.

With kind regards,
Andreas.

/cc @andnig, @ckurze

@tvdboom
Copy link
Collaborator Author

tvdboom commented Nov 2, 2023

Hi @amotl, we plan to support 3.11 with next release but we have some issues with dependencies. All help is welcome.

@amotl
Copy link
Contributor

amotl commented Nov 5, 2023

Dear Mavs,

we have been able to work on a few patches to support you on this matter.

With kind regards,
Andreas.

Python 3.11 on Linux

GH-3813 might support this patch a bit. Apparently, more work needs to be done to fully support Python 3.11 on all platorms, as subsequent PRs will demonstrate. But at least, it's a start, and may already satisfy a good share of users, when combined with this patch, and published with an upcoming release.

Python 3.11 on all workflows

CI job #6763789876 is currently running all workflows with corresponding adjustments to add Python 3.11 on behalf of crate-workbench/pycaret@python311-linux...crate-workbench:pycaret:python311-more.

@amotl amotl mentioned this pull request Nov 6, 2023
amotl added 8 commits November 6, 2023 01:05
It wants to install `numpy==1.21.3`, for whatever reason, but that
version does not exist.

  ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11
  ERROR: Could not find a version that satisfies the requirement numpy==1.21.3
Fuse GHA/pytest configurations into single workflow recipe.
@amotl
Copy link
Contributor

amotl commented Nov 8, 2023

Hi again,

we cleaned up our act, and submitted two followup patches to conclude Python 3.11 support.

With kind regards,
Andreas.

@ngupta23 ngupta23 requested a review from Yard1 November 9, 2023 11:33
@amotl
Copy link
Contributor

amotl commented Nov 9, 2023

Thank you for integrating our patches. 💯

# remove-item tests/benchmarks/*
# - name: Test with pytest
# run: pytest --durations=0
run: pytest --durations=0 -m "not (benchmark or plotting or tuning_random)"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename tuning_random to ts_tuning as it is specific to time series only.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I see that you have separated out random and grid. So maybe add grid in addition to random here also.

@@ -19,6 +20,9 @@
pytestmark = pytest.mark.filterwarnings("ignore::UserWarning")
os.environ["PYCARET_TESTING"] = "1"

if sys.platform == "win32":
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we skipping these on Windows?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Yard1 Yard1 merged commit 0ae8815 into master Nov 12, 2023
@Yard1 Yard1 deleted the support-311 branch November 12, 2023 08:03
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

Successfully merging this pull request may close these issues.

5 participants