Adding support for Python 3.12 pip/setuptools changes #108
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
The purpose of this pull request is to update dependencies such that the package can be installed on python 3.12. With the changes in setuptools introduced py3.12 cannot build wheels for some earlier packages. The changes in this PR address this issue as well as add a slight modification to the TSNE object in optics_dbscan_pairs_clustering.py since it uses a deprecated default argument. The argument (init="random") is explicitly provided instead of using the default parameter as this breaks the tests on newer versions of sklearn (init="pca" and current tests run into similar issues as described here)
Approach
Packages were updated to versions usable in py3.12. Tests were run to insure no breaking changes occurred. Packages were bounded.
Import of keras model backend was updated to documented import path.
TSNE parameter explicitly defined to address deprecation of default
init
parameter.Tests for New Behavior
Pytest was run and deficiencies were addressed such that the test suite passes. The tests were run in fresh virtual environments for Python 3.12 and 3.8.
Checklist
Make sure you did the following (if applicable):
Added tests for any new features or behaviors.
Ran
./pylint
to make sure code style is consistent.Pylint was run but changes are from original main branch. Should address this (such as imports) in other prs
Built and reviewed the docs.
Added a note to the changelog.
Learning