Skip to content

Version 1.5.0 #939

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

Merged
merged 64 commits into from
Apr 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
1220bcf
Add dependency on `fractal-task-tools`
tcompa Mar 13, 2025
ced325e
Add a bunch of deprecations
tcompa Mar 13, 2025
48ffd72
Use fractal_task_tools models
tcompa Mar 13, 2025
92b8584
Use task-runner wrapper from new package
tcompa Mar 14, 2025
da38da9
Use `fractal_task_tools` in test
tcompa Mar 14, 2025
43c7dbe
Bump fractal-task-tools
tcompa Mar 14, 2025
e2fda8d
Fill in metadata in task_list.py
tcompa Mar 14, 2025
3abbfce
Bump `fractal-task-tools`
tcompa Mar 18, 2025
961ea43
Merge branch 'main' into 921-switch-to-fractal-task-tools
tcompa Mar 18, 2025
e8305fa
Bump `fractal-task-tools`
tcompa Mar 19, 2025
c6991ae
Update method for checking manifest has not changed
tcompa Mar 19, 2025
2e13979
BROKEN - intentionally break manifest, to double check GHA
tcompa Mar 19, 2025
c4061e5
Revert "BROKEN - intentionally break manifest, to double check GHA"
tcompa Mar 19, 2025
8ca1611
Bump fractal-task-tools to 0.0.9 and update manifest
tcompa Mar 24, 2025
d4d0258
Introduce converter tasks
tcompa Mar 24, 2025
041fe15
Update deprecation message
tcompa Mar 25, 2025
8bf4b5a
Relax version constraint on `docstring_parser`
tcompa Mar 25, 2025
0f01f56
Relax version constraint on `docstring_parser`
tcompa Mar 25, 2025
ad8e7ad
Drop all `zarr_urls=[]` for converter tasks from tests
tcompa Mar 25, 2025
6a0856f
Fix one more test
tcompa Mar 25, 2025
e9dac34
depend on `fractal-task-tools 0.10.0`
tcompa Mar 25, 2025
e44b380
CHANGELOG [skip ci]
tcompa Mar 26, 2025
e80cb19
CHANGELOG [skip ci]
tcompa Mar 26, 2025
ab8d952
Merge pull request #923 from fractal-analytics-platform/921-switch-to…
tcompa Mar 26, 2025
31879fb
bump version 1.4.2 -> 1.5.0a0
tcompa Mar 26, 2025
8adb681
Also trigger CI for `dev-1.5` target branch
tcompa Mar 26, 2025
1da1e01
Merge pull request #925 from fractal-analytics-platform/run-ci-for-de…
tcompa Mar 26, 2025
ff81848
Drop support for python 3.10
tcompa Apr 8, 2025
4d2a676
CHANGELOG [skip ci]
tcompa Apr 8, 2025
5a4a07c
Update `poetry.lock`
tcompa Apr 8, 2025
24108fa
Bump fractal-task-tools to 0.0.12
tcompa Apr 8, 2025
44a24ca
CHANGELOG [skip ci]
tcompa Apr 8, 2025
e931d2e
Pin numcodecs to <0.16
tcompa Apr 8, 2025
27f61a4
fix #929 (#930)
lorenzocerrone Apr 3, 2025
25d8351
Merge branch 'dev-1.5' into drop-python-3-10
tcompa Apr 8, 2025
f3eb3d0
Merge branch 'drop-python-3-10' into bump-fractal-task-tools-to-0-0-12
tcompa Apr 8, 2025
eae3ce0
Revert bump of zarr-python required version
tcompa Apr 8, 2025
3ad791f
Merge branch 'drop-python-3-10' into bump-fractal-task-tools-to-0-0-12
tcompa Apr 8, 2025
7455282
Merge pull request #932 from fractal-analytics-platform/drop-python-3-10
tcompa Apr 8, 2025
4a69bd0
Trigger CI
tcompa Apr 8, 2025
efc92f4
Revert "Trigger CI"
tcompa Apr 8, 2025
c4e438c
CHANGELOG [skip ci]
tcompa Apr 8, 2025
4df0750
Merge pull request #933 from fractal-analytics-platform/bump-fractal-…
tcompa Apr 8, 2025
59b61a7
bump version 1.5.0a0 -> 1.5.0a1
tcompa Apr 8, 2025
b63681d
Ngio projection task (#937)
lorenzocerrone Apr 16, 2025
ee54370
bump version 1.5.0a1 -> 1.5.0a2
tcompa Apr 16, 2025
49000d3
Merge branch 'main' into dev-1.5
tcompa Apr 16, 2025
dd2b916
cleanup helper-tasks from external packages test (now tested in fract…
jluethi Apr 17, 2025
a1c820a
Require `ngio>=0.2.3`
tcompa Apr 23, 2025
8e07e98
Update poetry lock
tcompa Apr 23, 2025
124ab8f
fix conftest fixture
lorenzocerrone Apr 23, 2025
67335be
require ngio>=0.2.4
lorenzocerrone Apr 23, 2025
ab843ad
minor projection simplification
lorenzocerrone Apr 23, 2025
5793df7
fix pre-commit
lorenzocerrone Apr 23, 2025
e0d2381
CHANGELOG
tcompa Apr 23, 2025
c42d6ac
Regenerate poetry.lock with poetry v2
tcompa Apr 23, 2025
d98acd0
Merge pull request #943 from fractal-analytics-platform/ngio-023
tcompa Apr 23, 2025
a427f4a
Update ci_pip.yml
tcompa Apr 23, 2025
e2ca99d
Update ci_poetry.yml
tcompa Apr 23, 2025
ba56f64
Update documentation.yaml
tcompa Apr 23, 2025
ab9a99d
Update manifest_external_packages.yml
tcompa Apr 23, 2025
a9b38a7
Update package.yml
tcompa Apr 23, 2025
c693cfa
Consolidate `CHANGELOG.md` [skip ci]
tcompa Apr 23, 2025
4f227b8
Update poetry_build.yml
tcompa Apr 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 5 additions & 10 deletions .github/workflows/ci_pip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04, macos-latest]
python-version: ["3.10", "3.11", "3.12"]
exclude:
- os: macos-latest
python-version: '3.10'
python-version: ["3.11", "3.12"]

name: "Core, Python ${{ matrix.python-version }}, ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 10
Expand All @@ -42,17 +40,14 @@ jobs:
run: python -m pip install pytest devtools jsonschema requests wget pooch

- name: Test core library with pytest
run: python -m pytest tests --ignore tests/tasks --ignore tests/dev
run: python -m pytest tests --ignore tests/tasks --ignore tests/dev --ignore tests/tasks_v2

tests_tasks:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12"]
exclude:
- os: macos-latest
python-version: '3.10'
python-version: ["3.11", "3.12"]
name: "Tasks, Python ${{ matrix.python-version }}, ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
timeout-minutes: 30
Expand Down Expand Up @@ -83,4 +78,4 @@ jobs:
key: pooch-cache

- name: Test tasks with pytest
run: python -m pytest tests/dev tests/tasks -s --log-cli-level info
run: python -m pytest tests/dev tests/tasks tests/tasks_v2 -s --log-cli-level info
21 changes: 6 additions & 15 deletions .github/workflows/ci_poetry.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:

strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:
- name: Test core library with pytest
env:
COVERAGE_FILE: coverage-data-core-${{ matrix.python-version }}
run: poetry run coverage run -m pytest tests --ignore tests/tasks --ignore tests/dev
run: poetry run coverage run -m pytest tests --ignore tests/tasks --ignore tests/dev --ignore tests/tasks_v2

- name: Upload coverage data
uses: actions/upload-artifact@v4
Expand All @@ -61,7 +61,7 @@ jobs:

strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
python-version: ["3.11", "3.12"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -90,16 +90,7 @@ jobs:
run: poetry install --with dev --without docs --no-interaction -E fractal-tasks

- name: Check if manifest has changed
run: |
poetry run python fractal_tasks_core/dev/create_manifest.py
echo "*.json diff=json" >> .gitattributes && git config diff.json.textconv "jq --sort-keys '.' \$1"
git diff ./fractal_tasks_core/__FRACTAL_MANIFEST__.json
if [ -n "$(git diff --exit-code ./fractal_tasks_core/__FRACTAL_MANIFEST__.json)" ]; then
echo "__FRACTAL_MANIFEST__.json has changed. Please run 'poetry run python fractal_tasks_core/dev/create_manifest.py' and commit the changes."
exit 1
else
echo "__FRACTAL_MANIFEST__.json has not changed."
fi
run: poetry run fractal-manifest check --package fractal-tasks-core

- name: Cache Pooch folder
id: cache-pooch-folder
Expand All @@ -111,7 +102,7 @@ jobs:
- name: Test tasks with pytest
env:
COVERAGE_FILE: coverage-data-tasks-${{ matrix.python-version }}
run: poetry run coverage run -m pytest tests/dev tests/tasks
run: poetry run coverage run -m pytest tests/dev tests/tasks tests/tasks_v2

- name: Upload coverage data
uses: actions/upload-artifact@v4
Expand All @@ -130,7 +121,7 @@ jobs:
- run: poetry config virtualenvs.in-project true
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"

- name: Install dependencies
run: poetry install --with dev
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: '3.11'
cache: pip

- name: Install dependencies
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/manifest_external_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,6 @@ jobs:
cmd_create_manifest: 'python src/scmultiplex/dev/create_manifest.py'
custom_dependencies: 'image_registration'

- package: fractal-helper-tasks
github_repo: jluethi/fractal-helper-tasks
github_branch: main
manifest_path: src/fractal_helper_tasks/__FRACTAL_MANIFEST__.json
cmd_install: 'python -m pip install -e .'
cmd_create_manifest: 'python src/fractal_helper_tasks/dev/create_manifest.py'
custom_dependencies: ''

- package: APx_fractal_task_collection
github_repo: Apricot-Therapeutics/APx_fractal_task_collection
github_branch: main
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
fetch-depth: 1
persist-credentials: false

- name: Set up Python 3.10
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"
cache: pip

- name: Run pre-commit (fail upon errors)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/poetry_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
with:
persist-credentials: false

- name: "Set up Python 3.10"
- name: "Set up Python 3.11"
uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"

- name: "Install poetry 1.8.2"
run: curl -sSL https://install.python-poetry.org | python3 - --version 1.8.2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/poetry_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
run: pipx install poetry==1.8.2
- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"

- uses: fredrikaverpil/[email protected]

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: "3.10"
python-version: "3.11"

- name: "Install poetry 1.8.2"
run: curl -sSL https://install.python-poetry.org | python3 - --version 1.8.2
Expand Down
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,10 @@ repos:
hooks:
- id: bandit
args: ["-x", "tests/*"]
- repo: local
hooks:
- id: grep-for-devtools
name: Check for devtools in fractal_tasks_core
entry: bash -c 'for file in "$@"; do if grep -n "devtools" "$file"; then echo "$file" && exit 1; fi; done' --
language: system
files: fractal_tasks_core/
20 changes: 18 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,30 @@
**Note**: Numbers like (\#123) point to closed Pull Requests on the fractal-tasks-core repository.

# Unreleased
# 1.5.0

* Tasks:
* Refactor `projection` task to use the new `ngio` API (\#937, \#943).
* Refactor `copy_ome_zarr_plate` init task to support the upcoming flexibility.
* Rely on `fractal-task-tools` for `run_fractal_task` wrapper (\#923).
* Mark some existing tasks as _converter_ tasks(\#923).
* Mark existing `run_fractal_task` wrapper as deprecated (\#923).
* Manifest generation:
* Rely on `fractal-task-tools` for manifest building (\#923).
* Mark existing tools as deprecated (\#923).
* Testing:
* Add new (redundand) `ngio`-based testing.
* Fix links to ome/ngff specs (\#930).
* Dependencies:
* Add `fractal-task-tools==0.0.10` dependency (\#923).
* Bump `ngio` to `>=0.2.4,<0.3.0` (\#943).
* Drop support for Python 3.10 (\#932).
* Bump `fractal-task-tools` to `0.0.12` (\#933).
* Pin `numcodecs` to `<0.16` (\#932).

# 1.4.3

* Tasks:
* Update apply_registration_to_image to handle race conditions better (\#919).
* Update `apply_registration_to_image` to handle race conditions better (\#919).
* Testing
* Add `spherical-harmonics` extra to scmultiplex, for testing manifest build (\#899).
* Move manifest-creation CI to Python 3.11 (\#915).
Expand Down
2 changes: 1 addition & 1 deletion docs/custom_tasks_old.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ endpoints (see [Task package](#task-package)).
Some examples of task commands may look like

* `python3 /some/path/my_task.py`,
* `/some/absolute/path/python3.10 /some/other/absolute/path/my_task.py`,
* `/some/absolute/path/python3.11 /some/other/absolute/path/my_task.py`,
* `/some/path/my_executable_task.py`,
* any other executable command (not necessarily based on Python).

Expand Down
2 changes: 1 addition & 1 deletion docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ poetry run pytest --ignore tests/tasks

The tests files are in the `tests` folder of the repository. Its structure reflects the `fractal_tasks_core` structure, with tests for the core library in the main folder and tests for `tasks` and `dev` subpckages in their own subfolders.

Tests are also run through GitHub Actions, with Python 3.10, 3.11 and 3.12. Note that within GitHub actions we run tests for both the `poetry`-installed and `pip`-installed versions of the code, which may e.g. have different versions of some dependencies (since `pip install` does not rely on the `poetry.lock` lockfile).
Tests are also run through GitHub Actions, with Python 3.11 and 3.12. Note that within GitHub actions we run tests for both the `poetry`-installed and `pip`-installed versions of the code, which may e.g. have different versions of some dependencies (since `pip install` does not rely on the `poetry.lock` lockfile).

## Documentation

Expand Down
1 change: 0 additions & 1 deletion examples/01_cardio_tiny_dataset/run_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@

# Create zarr structure
parallelization_list = cellvoyager_to_ome_zarr_init(
zarr_urls=[],
zarr_dir=zarr_dir,
image_dirs=[img_path],
allowed_channels=allowed_channels,
Expand Down
1 change: 0 additions & 1 deletion examples/02_cardio_tiny_mip/run_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@

# Create zarr structure
parallelization_list = cellvoyager_to_ome_zarr_init(
zarr_urls=[],
zarr_dir=zarr_dir,
image_dirs=[img_path],
allowed_channels=allowed_channels,
Expand Down
Loading
Loading