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

🐍 Update Supported Python Versions (add 3.11 ) #500

Merged
merged 29 commits into from
May 5, 2023

Conversation

John-P
Copy link
Contributor

@John-P John-P commented Oct 28, 2022

  • Add 3.11 to the GitHub Actions CI workflow.
  • Add 3.11 to setup.py
  • Update pip install workflow.
  • Update conda requirements python versions.

Waiting on some dependencies to update:

Add 3.11 and drop 3.7 to the GitHub Actions CI workflow.
@John-P John-P changed the title DEV: Update CI Python Versions (+3.11, -3.7) DEV: Update CI Python Versions (add 3.11 & drop 3.7) Oct 28, 2022
@John-P John-P changed the title DEV: Update CI Python Versions (add 3.11 & drop 3.7) DEV: Update Supported Python Versions (add 3.11 & drop 3.7) Oct 28, 2022
@John-P John-P changed the title DEV: Update Supported Python Versions (add 3.11 & drop 3.7) 🐍 DEV: Update Supported Python Versions (add 3.11 & drop 3.7) Oct 28, 2022
@John-P John-P changed the title 🐍 DEV: Update Supported Python Versions (add 3.11 & drop 3.7) 🐍 DEV: Update Supported Python Versions (➕ 3.11 & ➖ 3.7) Oct 28, 2022
@John-P John-P changed the title 🐍 DEV: Update Supported Python Versions (➕ 3.11 & ➖ 3.7) 🐍 DEV: Update Supported Python Versions (➕ 3.11 ) Oct 28, 2022
@John-P John-P changed the title 🐍 DEV: Update Supported Python Versions (➕ 3.11 ) 🐍 DEV: Update Supported Python Versions (add 3.11 ) Oct 28, 2022
@John-P
Copy link
Contributor Author

John-P commented Oct 28, 2022

Shapely does not yet support 3.11 (https://pypi.org/project/shapely/)

@shaneahmed
Copy link
Member

Shapely does not yet support 3.11 (https://pypi.org/project/shapely/)

Let's keep this PR as draft until we get all the dependencies supporting 3.11

@shaneahmed shaneahmed marked this pull request as draft October 31, 2022 09:47
@John-P John-P added release dependencies Pull requests that update a dependency file labels Nov 4, 2022
@Erotemic
Copy link

Erotemic commented Dec 3, 2022

Shapely does have 311 wheels now. Still waiting on pygeos.

@shaneahmed
Copy link
Member

Shapely does have 311 wheels now. Still waiting on pygeos.

Great! I will update this now.

@shaneahmed
Copy link
Member

PyTorch does not support Python 3.11 yet

pytorch/pytorch#86566

@Somiona
Copy link

Somiona commented Mar 16, 2023

Pytorch launched version 2.0.0 and officially support python3.11 now

@shaneahmed
Copy link
Member

Waiting for numba release https://github.com/numba/numba/milestone/63 numba/numba#8304 support

@shaneahmed shaneahmed changed the title 🐍 DEV: Update Supported Python Versions (add 3.11 ) 🐍 Update Supported Python Versions (add 3.11 ) Apr 6, 2023
@shaneahmed shaneahmed added this to the Release v2.0.0 milestone Apr 10, 2023
@shaneahmed shaneahmed marked this pull request as ready for review May 3, 2023 14:12
Copy link
Member

@shaneahmed shaneahmed left a comment

Choose a reason for hiding this comment

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

@John-P I think it can be released with beta support as torch doesn't fully support 3.11 and Openslide support is not fully complete yet.

@codecov
Copy link

codecov bot commented May 3, 2023

Codecov Report

Merging #500 (2be4072) into develop (bb78d2e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop     #500    +/-   ##
=========================================
  Coverage    99.74%   99.74%            
=========================================
  Files           63       63            
  Lines         6744     6744            
  Branches      1107     1342   +235     
=========================================
  Hits          6727     6727            
  Misses           8        8            
  Partials         9        9            

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@shaneahmed shaneahmed merged commit 591482c into develop May 5, 2023
25 checks passed
@shaneahmed shaneahmed deleted the dev-upgrade-python branch May 5, 2023 10:00
This was referenced May 5, 2023
shaneahmed added a commit that referenced this pull request May 5, 2023
## 1.4.0 (2023-04-24)

### Major Updates and Feature Improvements

- Adds Python 3.11 support \[experimental\] #500
  - Python 3.11 is not fully supported by `pytorch` pytorch/pytorch#86566 and `openslide` openslide/openslide-python#188
- Removes Python 3.7 support
  - This allows upgrading all the dependencies which were dependent on an older version of Python.
- Adds Neighbourhood Querying Support To AnnotationStore #540
  - This enables easy and efficient querying of annotations within a neighbourhood of other annotations.
- Adds `MultiTaskSegmentor` engine #424
- Fixes an issue with stain augmentation to apply augmentation to only tissue regions.
  - #546 contributed by @navidstuv
- Filters logger output to stdout instead of stderr.
  - Fixes #255
- Allows import of some modules at higher level for improved usability
  - `WSIReader` can now be imported as `from tiatoolbox.wsicore import WSIReader`
  - `WSIMeta` can now be imported as `from tiatoolbox.wsicore import WSIMeta`
  - `HoVerNet`, `HoVerNetPlus`, `IDaRS`, `MapDe`, `MicroNet`, `NuClick`, `SCCNN` can now be imported as \`from tiatoolbox.models import HoVerNet, HoVerNetPlus, IDaRS, MapDe, MicroNet, NuClick, SCCNN
- Improves `PatchExtractor` performance. Updates `WSIPatchDataset` to be consistent. #571
- Updates documentation for `License` for clarity on source code and model weights license.

### Changes to API

- Updates SCCNN architecture to make it consistent with other models. #544

### Bug Fixes and Other Changes

- Fixes Parsing Missing Omero Version NGFF Metadata #568
  - Fixes #535 raised by @benkamphaus
- Fixes reading of DICOM WSIs at the correct level #564
  - Fixes #529
- Fixes `scipy`, `matplotlib`, `scikit-image` deprecated code
- Fixes breaking changes in `DICOMWSIReader` to make it compatible with latest `wsidicom` version. #539, #580
- Updates `shapely` dependency to version >=2.0.0 and fixes any breaking changes.
- Fixes bug with `DictionaryStore.bquery` and `geometry=None`, i.e. only a where predicate given.
  - Partly Fixes #532 raised by @blaginin
- Fixes local tests for Windows/Linux
- Fixes `flake8`, `deepsource` errors.
- Uses `logger` instead of `warnings` and `print` statements to properly log runs.

### Development related changes

- Upgrades dependencies which are dependent on Python 3.7
- Moves `requirements*.txt` files to `requirements` folder
- Removes `tox`
- Uses `pyproject.toml` for `bdist_wheel`, `pytest` and `isort`
- Adds `joblib` and `numba` as dependencies.
shaneahmed added a commit that referenced this pull request May 5, 2023
## 1.4.0 (2023-04-24)

### Major Updates and Feature Improvements

- Adds Python 3.11 support \[experimental\] #500
  - Python 3.11 is not fully supported by `pytorch` pytorch/pytorch#86566 and `openslide` openslide/openslide-python#188
- Removes Python 3.7 support
  - This allows upgrading all the dependencies which were dependent on an older version of Python.
- Adds Neighbourhood Querying Support To AnnotationStore #540
  - This enables easy and efficient querying of annotations within a neighbourhood of other annotations.
- Adds `MultiTaskSegmentor` engine #424
- Fixes an issue with stain augmentation to apply augmentation to only tissue regions.
  - #546 contributed by @navidstuv
- Filters logger output to stdout instead of stderr.
  - Fixes #255
- Allows import of some modules at higher level for improved usability
  - `WSIReader` can now be imported as `from tiatoolbox.wsicore import WSIReader`
  - `WSIMeta` can now be imported as `from tiatoolbox.wsicore import WSIMeta`
  - `HoVerNet`, `HoVerNetPlus`, `IDaRS`, `MapDe`, `MicroNet`, `NuClick`, `SCCNN` can now be imported as \`from tiatoolbox.models import HoVerNet, HoVerNetPlus, IDaRS, MapDe, MicroNet, NuClick, SCCNN
- Improves `PatchExtractor` performance. Updates `WSIPatchDataset` to be consistent. #571
- Updates documentation for `License` for clarity on source code and model weights license.

### Changes to API

- Updates SCCNN architecture to make it consistent with other models. #544

### Bug Fixes and Other Changes

- Fixes Parsing Missing Omero Version NGFF Metadata #568
  - Fixes #535 raised by @benkamphaus
- Fixes reading of DICOM WSIs at the correct level #564
  - Fixes #529
- Fixes `scipy`, `matplotlib`, `scikit-image` deprecated code
- Fixes breaking changes in `DICOMWSIReader` to make it compatible with latest `wsidicom` version. #539, #580
- Updates `shapely` dependency to version >=2.0.0 and fixes any breaking changes.
- Fixes bug with `DictionaryStore.bquery` and `geometry=None`, i.e. only a where predicate given.
  - Partly Fixes #532 raised by @blaginin
- Fixes local tests for Windows/Linux
- Fixes `flake8`, `deepsource` errors.
- Uses `logger` instead of `warnings` and `print` statements to properly log runs.

### Development related changes

- Upgrades dependencies which are dependent on Python 3.7
- Moves `requirements*.txt` files to `requirements` folder
- Removes `tox`
- Uses `pyproject.toml` for `bdist_wheel`, `pytest` and `isort`
- Adds `joblib` and `numba` as dependencies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants