Skip to content

Conversation

@trissim
Copy link
Owner

@trissim trissim commented Nov 3, 2025

No description provided.

…EST_PLAN; fix filemanager natural_sort robustness; guard heavy optional imports with POLYSTORE_SKIP_ZARR
- Add comprehensive FileManager test suite (test_filemanager_extended.py) covering:
  * Error handling for invalid backends and registry initialization
  * Edge cases in save/load operations with exceptions
  * Directory operations (exists, is_file, is_dir, mkdir, delete)
  * Advanced features (symlinks, find operations, mirror functionality)
  * Memory backend integration tests
  * Natural sorting for image file listing

- Add ZarrStorageBackend test suite (test_zarr_backend.py) covering:
  * Basic array save/load operations for various dtypes and dimensions
  * ZarrConfig integration (compression levels, chunk strategies)
  * Error handling for nonexistent files
  * Directory existence checks

- Fix pyproject.toml dependency: correct 'metaclass-register' to 'metaclass-registry'

- Fix ZarrConfig dataclass: add field import and use field(default_factory=CompressorConfig)
  for proper default initialization of compressor attribute

These changes significantly improve test coverage and resolve configuration bugs
that could cause runtime issues with dataclass instantiation.
- Add comprehensive GPU acceleration dependency group to pyproject.toml:
  * PyTorch 2.6.0-2.8.0 with torchvision for deep learning
  * JAX 0.5.3-0.6.0 with CUDA plugins for high-performance computing
  * CuPy CUDA12x for GPU-accelerated NumPy operations
  * CuCIM for GPU-accelerated image processing
  * TensorFlow 2.19.0-2.20.0 with TensorFlow Probability
  * pyclesperanto for GPU-accelerated bioimage analysis

- Add Kaggle integration job to CI workflow using Frederisk/kaggle-action@v1.0.0
  for testing in Kaggle notebook environments

These additions enable GPU-accelerated workflows and ensure compatibility
with popular ML platforms while maintaining the framework-agnostic design.
- Include zarr>=2.18.0,<3.0 and ome-zarr>=0.11.0 in gpu optional dependencies
- Ensures ZarrStorageBackend is available when using GPU acceleration features
- Maintains compatibility with existing zarr optional dependency group
- Include .zgroup file generated during ZarrStorageBackend testing
- Ensures test artifacts are properly tracked in version control
- Supports reproducible testing of Zarr array storage functionality
- Remove duplicate 'gpu = [' line that was causing TOML parsing error
- Ensure proper TOML array syntax for GPU dependencies
- Fix CI installation failure due to malformed pyproject.toml
- Move zarr>=2.18.0,<3.0 and ome-zarr>=0.11.0 from optional to core dependencies
- ZarrStorageBackend is imported directly in __init__.py and required for basic functionality
- Ensures Zarr backend is always available without requiring separate installation
- Maintains backward compatibility while fixing import errors
- Remove duplicate 'dependencies = []' section that was causing TOML parsing error
- Keep only the correct dependencies section with zarr and ome-zarr as core requirements
- Fix CI installation failure due to malformed TOML syntax
- Add import copy as py_copy at module level in memory.py
- Fixes NameError in copy() method when deepcopy is called
- Ensures proper deep copying of objects in memory backend operations
- Wrap StreamingBackend import in try/except to avoid import errors
  when OpenHCS package is not available
- Maintains backward compatibility while preventing module-level import failures
- StreamingBackend remains None when OpenHCS dependencies are missing
- Change test paths from '/test.npy' to '/test_save_load.npy' and '/test_exists.npy'
- Prevents test interference due to shared memory backend state across test sessions
- Ensures tests run independently and reliably
- Change test_exists_memory path from '/test.npy' to '/test_exists.npy'
- Ensures tests run independently without shared state conflicts
- Fixes test failure due to persistent memory backend state
…Backend

- Removed duplicate test_save_load_memory method (second one was incomplete)
- Fixed test_batch_memory body (was missing batch operation code)
- Removed duplicate test_exists_memory method (second definition was correct)
- Now all three methods are properly structured and isolated
- Added Python 3.13 to test matrix (was: 3.11, 3.12)
- Added macOS and Windows to test matrix (was: ubuntu-only)
- Now tests on 9 combinations: 3 OSes × 3 Python versions
- Codecov upload restricted to ubuntu-latest + Python 3.12 to avoid duplication
The patch was a workaround for what should be a properly functioning
required dependency. Since metaclass-registry is in pyproject.toml
dependencies, it should work out of the box without modification.

Remove the unnecessary patch step and rely on proper package installation.
@trissim trissim merged commit 58f25db into main Nov 3, 2025
11 checks passed
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.

2 participants