Skip to content

Commit f6cae14

Browse files
authored
Merge branch 'develop' into alert-autofix-6
2 parents 2c1a678 + 52eb4eb commit f6cae14

46 files changed

Lines changed: 1116 additions & 384 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 54 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This workflow will build a conda environment to check that it resolves in a reasonable time
1+
# This workflow will build a conda environment to check that it resolves
22

33
name: Solve Conda Environment
44

@@ -7,48 +7,70 @@ permissions:
77

88
on:
99
push:
10-
paths: [ "requirements/requirements*.yml", "conda-env-create.yml", "requirement*.txt"]
10+
paths:
11+
- "requirements/requirements*.txt"
12+
- "requirements/generate_conda_env.py"
13+
- ".github/workflows/conda-env-create.yml"
1114
pull_request:
12-
paths: [ "requirements/requirements*.yml", "conda-env-create.yml", "requirement*.txt"]
13-
schedule: # Run on the 1st of every month at midnight
14-
- cron: "0 0 1 * *"
15+
paths:
16+
- "requirements/requirements*.txt"
17+
- "requirements/generate_conda_env.py"
18+
- ".github/workflows/conda-env-create.yml"
1519

1620
jobs:
1721
conda_solve:
1822
strategy:
19-
fail-fast: true
23+
fail-fast: false
2024
matrix:
21-
os: [ubuntu-latest, windows-latest]
22-
kind: ["dev", "prod"]
23-
include:
24-
- os: ubuntu-latest
25-
kind: prod
26-
requirements: requirements/requirements.conda.yml
27-
- os: ubuntu-latest
28-
kind: dev
29-
requirements: requirements/requirements.dev.conda.yml
30-
- os: windows-latest
31-
kind: prod
32-
requirements: requirements/requirements.win64.conda.yml
33-
- os: windows-latest
34-
kind: dev
35-
requirements: requirements/requirements.win64.dev.conda.yml
25+
os: [ubuntu-latest, windows-latest, macos-latest]
26+
python-version: ["3.11", "3.12", "3.13", "3.14"]
27+
3628
runs-on: ${{ matrix.os }}
37-
timeout-minutes: 20
29+
timeout-minutes: 30
30+
3831
steps:
3932
- uses: actions/checkout@v4
40-
- name: Copy requirements files
41-
shell: bash
42-
run: |
43-
cp ./requirements/requirements*.txt /tmp/
44-
mkdir /tmp/docs/
45-
cp ./docs/requirements*.txt /tmp/docs/
33+
34+
# ✅ Generate environment
35+
- name: Generate conda environment
36+
env:
37+
PYTHON_VERSION: ${{ matrix.python-version }}
38+
run: python requirements/generate_conda_env.py
39+
40+
# ✅ Install via micromamba
4641
- uses: mamba-org/setup-micromamba@v1
4742
with:
4843
environment-name: tiatoolbox
49-
environment-file: ${{ matrix.requirements }}
50-
- shell: bash -l {0}
44+
environment-file: requirements/requirements.conda.generated.yml
45+
46+
# ✅ Validate environment
47+
- name: Test environment
48+
shell: bash -l {0}
5149
run: |
52-
micromamba info
5350
micromamba list
54-
python -c "import torch, numpy; print(torch.__version__, numpy.__version__)"
51+
52+
python - <<EOF
53+
import sys
54+
print("Python:", sys.version)
55+
56+
import numpy, pandas
57+
print("Core OK")
58+
59+
try:
60+
import torch
61+
print("Torch OK")
62+
except Exception as e:
63+
print("Torch issue:", e)
64+
65+
try:
66+
import cv2
67+
print("OpenCV OK")
68+
except Exception as e:
69+
print("OpenCV issue:", e)
70+
71+
try:
72+
import openslide
73+
print("OpenSlide OK")
74+
except Exception as e:
75+
print("OpenSlide issue:", e)
76+
EOF

.github/workflows/docker-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ env:
66
REGISTRY: ghcr.io
77
IMAGE_NAME: TissueImageAnalytics/tiatoolbox
88
image: ghcr.io/tissueimageanalytics/tiatoolbox
9-
TOOLBOX_VER: 2.0.1
9+
TOOLBOX_VER: 2.1.0
1010

1111
jobs:
1212
build-and-push-image:

.github/workflows/mypy-type-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
strategy:
2020
matrix:
21-
python-version: ["3.11", "3.12", "3.13"]
21+
python-version: ["3.11", "3.12", "3.13", "3.14"]
2222

2323
steps:
2424

@@ -47,7 +47,7 @@ jobs:
4747
4848
- name: Perform type checking
4949
run: |
50-
mypy --install-types --non-interactive --follow-imports=silent \
50+
mypy --install-types --non-interactive --follow-imports=skip --ignore-missing-imports \
5151
tiatoolbox/__init__.py \
5252
tiatoolbox/__main__.py \
5353
tiatoolbox/type_hints.py \

.github/workflows/pip-install.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
strategy:
3232
fail-fast: false
3333
matrix:
34-
python-version: ["3.11", "3.12", "3.13"]
34+
python-version: ["3.11", "3.12", "3.13", "3.14"]
3535
os: [ubuntu-24.04, windows-latest, macos-latest]
3636

3737
# Force UTF-8 everywhere (Windows is the one that really needs it)

.github/workflows/python-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
strategy:
2121
fail-fast: true
2222
matrix:
23-
python-version: ["3.11", "3.12", "3.13"]
23+
python-version: ["3.11", "3.12", "3.13", "3.14"]
2424

2525
steps:
2626
- uses: actions/checkout@v4

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
- Abishekraj Vinayagar Gnanasambandam \<@AbishekRajVG>
2323
- Wenqi Lu \<@wenqi006>
2424
- Saad Bashir \<@rajasaad>
25+
- Aakash Madhav Rao \<@mraoaakash>
2526
- Behnaz Elhaminia \<@behnazelhaminia>
2627

2728
## Contributors

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ authors:
4444
given-names: "Shan E Ahmed"
4545
orcid: "https://orcid.org/0000-0002-1097-1738"
4646
title: "TIAToolbox as an end-to-end library for advanced tissue image analytics"
47-
version: 2.0.1 # TIAToolbox version
47+
version: 2.1.0 # TIAToolbox version
4848
doi: 10.5281/zenodo.5802442
4949
date-released: 2022-10-20
5050
url: "https://github.com/TissueImageAnalytics/tiatoolbox"

HISTORY.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# History
22

3+
## TIAToolbox v2.1.0 (2026-05-19)
4+
5+
### ✨ Major Updates and Feature Improvements
6+
7+
- Python ≥3.11 required
8+
- Supports up to 3.14 (#1035)
9+
- Drops support for 3.10 (#1034)
10+
- Zarr v3 Support (#904)
11+
- New storage APIs (zarr.Array, LocalStore, FsspecStore)
12+
- Removal of object arrays → rectangular storage via pad_contours
13+
- Update `FsspecJsonWSIReader` to support Zarr v3 (#1049), thanks to @aacic
14+
15+
### ⚠️ API Changes
16+
17+
- Python requirement updated → >=3.11, \<3.15
18+
19+
### 🐞 Bug Fixes and Other Changes
20+
21+
- Fixed
22+
- Contour serialization and padding issues (Zarr compatibility) (#904)
23+
- Invalid Geometry in JSON Outputs (#1057)
24+
- Fix typographical errors in `pre-trained` documentation (#1043, #1062)
25+
26+
### 🛠️ Development-Related Changes
27+
28+
- Use `uv` to set up CI environments, reduces installation time
29+
- Update instructions for `uv` install
30+
- Use `max_image` for `remove_small_objects` in `scikit-image` usage (#1048)
31+
- Improve `mypy` workflow and typing errors (#1045)
32+
33+
______________________________________________________________________
34+
335
## TIAToolbox v2.0.1 (2026-03-16)
436

537
### Bug Fixes and Other Changes

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ MacPorts
5959
Installing Stable Release
6060
=========================
6161

62-
Please note that TIAToolbox is currently tested with Python versions 3.11, 3.12, and 3.13. For the full range of supported Python versions, please refer to the package metadata (for example, the ``python_requires`` setting in ``setup.py`` or ``pyproject.toml``)
62+
Please note that TIAToolbox is tested for Python versions 3.11, 3.12, 3.13 and 3.14. For the full range of supported Python versions, please refer to the package metadata (for example, the ``python_requires`` setting in ``setup.py`` or ``pyproject.toml``)
6363

6464
Recommended
6565
-----------

docs/pretrained.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ The input output configuration is as follows:
163163

164164
.. code-block:: python
165165
166-
from tiatoolbox.models import IOSegmentorConfig
167-
ioconfig = IOSegmentorConfig(
166+
from tiatoolbox.models import IOInstanceSegmentorConfig
167+
ioconfig = IOInstanceSegmentorConfig(
168168
input_resolutions=[
169169
{'units': 'mpp', 'resolution': 0.25}
170170
],
@@ -205,8 +205,8 @@ The input output configuration is as follows:
205205

206206
.. code-block:: python
207207
208-
from tiatoolbox.models import IOSegmentorConfig
209-
ioconfig = IOSegmentorConfig(
208+
from tiatoolbox.models import IOInstanceSegmentorConfig
209+
ioconfig = IOInstanceSegmentorConfig(
210210
input_resolutions=[
211211
{'units': 'mpp', 'resolution': 0.25}
212212
],
@@ -246,8 +246,8 @@ The input output configuration is as follows:
246246

247247
.. code-block:: python
248248
249-
from tiatoolbox.models import IOSegmentorConfig
250-
ioconfig = IOSegmentorConfig(
249+
from tiatoolbox.models import IOInstanceSegmentorConfig
250+
ioconfig = IOInstanceSegmentorConfig(
251251
input_resolutions=[
252252
{'units': 'mpp', 'resolution': 0.25}
253253
],
@@ -281,8 +281,8 @@ The input output configuration is as follows:
281281

282282
.. code-block:: python
283283
284-
from tiatoolbox.models import IOSegmentorConfig
285-
ioconfig = IOSegmentorConfig(
284+
from tiatoolbox.models import IOInstanceSegmentorConfig
285+
ioconfig = IOInstanceSegmentorConfig(
286286
input_resolutions=[
287287
{'units': 'mpp', 'resolution': 0.25}
288288
],
@@ -313,8 +313,8 @@ The input output configuration is as follows:
313313

314314
.. code-block:: python
315315
316-
from tiatoolbox.models import IOSegmentorConfig
317-
ioconfig = IOSegmentorConfig(
316+
from tiatoolbox.models import IOInstanceSegmentorConfig
317+
ioconfig = IOInstanceSegmentorConfig(
318318
input_resolutions=[
319319
{'units': 'mpp', 'resolution': 0.25}
320320
],

0 commit comments

Comments
 (0)